From 7e0b76003607e6f7d3cebc3d98372d976f14adef Mon Sep 17 00:00:00 2001 From: Russell King Date: Mon, 26 Sep 2016 15:13:04 +0100 Subject: h3600 audio gpios --- arch/arm/mach-sa1100/h3100.c | 20 ++++++++++++++++++++ arch/arm/mach-sa1100/h3600.c | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) 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); -- cgit