summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2016-08-23 14:50:04 +0100
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2022-05-23 15:58:28 +0100
commitdaa7896dcf0f0eeb513e20ec7abc095b55de4b98 (patch)
tree08ddfe5ffbc91d5528cfc80574df970fc83d0f8f /arch/arm
parent0f55f6919766936cb5bfdd898d9d5d798452eabd (diff)
asoc: sa11x0/assabet: use gpiod APIs for some gpios
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-sa1100/assabet.c18
-rw-r--r--arch/arm/mach-sa1100/clock.c2
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c
index a925e5483ab2..9beba1a6c621 100644
--- a/arch/arm/mach-sa1100/assabet.c
+++ b/arch/arm/mach-sa1100/assabet.c
@@ -452,6 +452,22 @@ static struct resource neponset_resources[] = {
};
#endif
+static struct gpiod_lookup_table assabet_uda1341_gpio_table = {
+ .dev_id = "uda134x-codec",
+ .table = {
+ GPIO_LOOKUP("assabet", 21, "qmute", GPIO_ACTIVE_HIGH),
+ { },
+ },
+};
+
+static struct gpiod_lookup_table assabet_audio_gpio_table = {
+ .dev_id = "assabet-asoc",
+ .table = {
+ GPIO_LOOKUP("assabet", 23, "spkr-shtdn", GPIO_ACTIVE_HIGH),
+ { },
+ },
+};
+
static struct gpiod_lookup_table assabet_cf_gpio_table = {
.dev_id = "sa11x0-pcmcia.1",
.table = {
@@ -558,6 +574,8 @@ static struct gpiod_lookup_table assabet_uart3_gpio_table = {
static void __init assabet_init(void)
{
gpiod_add_lookup_table(&assabet_irda_gpio_table);
+ gpiod_add_lookup_table(&assabet_uda1341_gpio_table);
+ gpiod_add_lookup_table(&assabet_audio_gpio_table);
/*
* Ensure that the power supply is in "high power" mode.
diff --git a/arch/arm/mach-sa1100/clock.c b/arch/arm/mach-sa1100/clock.c
index 9ced1c559eca..a104cfa4b123 100644
--- a/arch/arm/mach-sa1100/clock.c
+++ b/arch/arm/mach-sa1100/clock.c
@@ -124,6 +124,8 @@ int __init sa11xx_clk_init(void)
clk_hw_register_clkdev(hw, NULL, "sa11x0-pcmcia.1");
clk_hw_register_clkdev(hw, NULL, "1800");
+ clk_hw_register_clkdev(hw, NULL, "assabet-asoc");
+
hw = clk_hw_register_mux(NULL, "tucr-mux", clk_tucr_parents,
ARRAY_SIZE(clk_tucr_parents), 0,
(void __iomem *)&TUCR, FShft(TUCR_TSEL),