ARM: ep93xx: Add ADC clock
authorAlexander Sverdlin <alexander.sverdlin@gmail.com>
Fri, 21 Jul 2017 21:43:31 +0000 (23:43 +0200)
committerAlexander Sverdlin <alexander.sverdlin@gmail.com>
Thu, 27 Jul 2017 23:36:30 +0000 (01:36 +0200)
ADC and keypad controller clocks share the same control register, so use the
existing infrastructure to add ADC clock support for Cirrus Logic EP93xx SoCs.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
arch/arm/mach-ep93xx/clock.c

index beec5f1..d2eee70 100644 (file)
@@ -98,6 +98,13 @@ static struct clk clk_keypad = {
        .enable_mask    = EP93XX_SYSCON_KEYTCHCLKDIV_KEN,
        .set_rate       = set_keytchclk_rate,
 };
+static struct clk clk_adc = {
+       .parent         = &clk_xtali,
+       .sw_locked      = 1,
+       .enable_reg     = EP93XX_SYSCON_KEYTCHCLKDIV,
+       .enable_mask    = EP93XX_SYSCON_KEYTCHCLKDIV_TSEN,
+       .set_rate       = set_keytchclk_rate,
+};
 static struct clk clk_spi = {
        .parent         = &clk_xtali,
        .rate           = EP93XX_EXT_CLK_RATE,
@@ -214,6 +221,7 @@ static struct clk_lookup clocks[] = {
        INIT_CK(NULL,                   "pll2",         &clk_pll2),
        INIT_CK("ohci-platform",        NULL,           &clk_usb_host),
        INIT_CK("ep93xx-keypad",        NULL,           &clk_keypad),
+       INIT_CK("ep93xx-adc",           NULL,           &clk_adc),
        INIT_CK("ep93xx-fb",            NULL,           &clk_video),
        INIT_CK("ep93xx-spi.0",         NULL,           &clk_spi),
        INIT_CK("ep93xx-i2s",           "mclk",         &clk_i2s_mclk),