summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-sa1100/h3100.c20
-rw-r--r--arch/arm/mach-sa1100/h3600.c20
2 files changed, 40 insertions, 0 deletions
diff --git a/arch/arm/mach-sa1100/h3100.c b/arch/arm/mach-sa1100/h3100.c
index d32e03ed6d1d..c3dc51c90c40 100644
--- a/arch/arm/mach-sa1100/h3100.c
+++ b/arch/arm/mach-sa1100/h3100.c
@@ -96,9 +96,29 @@ static struct gpiod_lookup_table h3100_irda_gpio_table = {
},
};
+static struct gpiod_lookup_table h3100_uda134x_gpio_table = {
+ .dev_id = "uda134x-codec",
+ .table = {
+ GPIO_LOOKUP("gpio", 4, "qmute", GPIO_ACTIVE_HIGH),
+ { },
+ },
+};
+
+static struct gpiod_lookup_table h3100_asoc_gpio_table = {
+ .dev_id = "h3xxx-asoc",
+ .table = {
+ GPIO_LOOKUP("gpio", 6, "audio-on", GPIO_ACTIVE_HIGH),
+ GPIO_LOOKUP("gpio", 7, "audio-power-on", GPIO_ACTIVE_HIGH),
+ GPIO_LOOKUP("htc-egpio", 3, "audio-reset", GPIO_ACTIVE_HIGH),
+ { },
+ },
+};
+
static void __init h3100_mach_init(void)
{
gpiod_add_lookup_table(&h3100_irda_gpio_table);
+ gpiod_add_lookup_table(&h3100_uda134x_gpio_table);
+ gpiod_add_lookup_table(&h3100_asoc_gpio_table);
h3xxx_mach_init();
diff --git a/arch/arm/mach-sa1100/h3600.c b/arch/arm/mach-sa1100/h3600.c
index 029f949cbc56..a04ccdbfe778 100644
--- a/arch/arm/mach-sa1100/h3600.c
+++ b/arch/arm/mach-sa1100/h3600.c
@@ -131,11 +131,31 @@ static struct platform_device_info h3600_audio_clk_device = {
.id = -1,
};
+static struct gpiod_lookup_table h3600_uda134x_gpio_table = {
+ .dev_id = "uda134x-codec",
+ .table = {
+ GPIO_LOOKUP("htc-egpio", 12, "qmute", GPIO_ACTIVE_HIGH),
+ { },
+ },
+};
+
+static struct gpiod_lookup_table h3600_asoc_gpio_table = {
+ .dev_id = "h3xxx-asoc",
+ .table = {
+ GPIO_LOOKUP("htc-egpio", 3, "audio-reset", GPIO_ACTIVE_HIGH),
+ GPIO_LOOKUP("htc-egpio", 10, "amp-power", GPIO_ACTIVE_HIGH),
+ GPIO_LOOKUP("htc-egpio", 11, "audio-power", GPIO_ACTIVE_HIGH),
+ { },
+ },
+};
+
static void __init h3600_mach_init(void)
{
gpiod_add_lookup_table(&h3600_irda_gpio_table);
gpiod_add_lookup_table(&h3600_sleeve_gpio_table);
gpiod_add_lookup_table(&h3600_audio_clk_gpio_table);
+ gpiod_add_lookup_table(&h3600_uda134x_gpio_table);
+ gpiod_add_lookup_table(&h3600_asoc_gpio_table);
platform_device_register_full(&h3600_audio_clk_device);