diff options
author | Alexander Sverdlin <alexander.sverdlin@gmail.com> | 2017-07-22 00:43:31 +0300 |
---|---|---|
committer | Alexander Sverdlin <alexander.sverdlin@gmail.com> | 2017-07-28 02:36:30 +0300 |
commit | f2322451b4cecc8f2d16b781030d1a0fc3fb071b (patch) | |
tree | b0127b901419f31b0153f45fccb88aef1412ba53 | |
parent | 1d20d8a9fce8f1e2ef00a0f3d068fa18d59ddf8f (diff) | |
download | linux-f2322451b4cecc8f2d16b781030d1a0fc3fb071b.tar.xz |
ARM: ep93xx: Add ADC clock
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>
-rw-r--r-- | arch/arm/mach-ep93xx/clock.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-ep93xx/clock.c b/arch/arm/mach-ep93xx/clock.c index beec5f16443a..d2eee707d27f 100644 --- a/arch/arm/mach-ep93xx/clock.c +++ b/arch/arm/mach-ep93xx/clock.c @@ -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), |