diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2009-04-28 18:27:44 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-05-28 13:59:07 -0400 |
commit | 8111b221a275cbc974eba26059dc764680ded9a9 (patch) | |
tree | c64ee856ffe9ff796f8a746025b82586c19e5617 /arch/arm/mach-omap2/clock34xx.h | |
parent | ba87a9beae8b39894f55761f4aff5ae2ca624f81 (diff) |
OMAP3: PM: Add D2D clocks and auto-idle setup to PRCM init
Add D2D clocks (modem_fck, sad2d_ick, mad2d_ick) to clock framework
and ensure that auto-idle bits are set for these clocks during PRCM
init.
Also add omap3_d2d_idle() function called durint PRCM setup which
ensures D2D pins are MUX'd correctly to enable retention for
standalone (no-modem) devices.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-omap2/clock34xx.h')
-rw-r--r-- | arch/arm/mach-omap2/clock34xx.h | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h index 496f0e9caeb2..e433aec4efdd 100644 --- a/arch/arm/mach-omap2/clock34xx.h +++ b/arch/arm/mach-omap2/clock34xx.h | |||
@@ -1230,6 +1230,37 @@ static struct clk d2d_26m_fck = { | |||
1230 | .recalc = &followparent_recalc, | 1230 | .recalc = &followparent_recalc, |
1231 | }; | 1231 | }; |
1232 | 1232 | ||
1233 | static struct clk modem_fck = { | ||
1234 | .name = "modem_fck", | ||
1235 | .ops = &clkops_omap2_dflt_wait, | ||
1236 | .parent = &sys_ck, | ||
1237 | .init = &omap2_init_clk_clkdm, | ||
1238 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1), | ||
1239 | .enable_bit = OMAP3430_EN_MODEM_SHIFT, | ||
1240 | .clkdm_name = "d2d_clkdm", | ||
1241 | .recalc = &followparent_recalc, | ||
1242 | }; | ||
1243 | |||
1244 | static struct clk sad2d_ick = { | ||
1245 | .name = "sad2d_ick", | ||
1246 | .ops = &clkops_omap2_dflt_wait, | ||
1247 | .parent = &l3_ick, | ||
1248 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), | ||
1249 | .enable_bit = OMAP3430_EN_SAD2D_SHIFT, | ||
1250 | .clkdm_name = "d2d_clkdm", | ||
1251 | .recalc = &followparent_recalc, | ||
1252 | }; | ||
1253 | |||
1254 | static struct clk mad2d_ick = { | ||
1255 | .name = "mad2d_ick", | ||
1256 | .ops = &clkops_omap2_dflt_wait, | ||
1257 | .parent = &l3_ick, | ||
1258 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN3), | ||
1259 | .enable_bit = OMAP3430_EN_MAD2D_SHIFT, | ||
1260 | .clkdm_name = "d2d_clkdm", | ||
1261 | .recalc = &followparent_recalc, | ||
1262 | }; | ||
1263 | |||
1233 | static const struct clksel omap343x_gpt_clksel[] = { | 1264 | static const struct clksel omap343x_gpt_clksel[] = { |
1234 | { .parent = &omap_32k_fck, .rates = gpt_32k_rates }, | 1265 | { .parent = &omap_32k_fck, .rates = gpt_32k_rates }, |
1235 | { .parent = &sys_ck, .rates = gpt_sys_rates }, | 1266 | { .parent = &sys_ck, .rates = gpt_sys_rates }, |
@@ -1947,8 +1978,6 @@ static struct clk usb_l4_ick = { | |||
1947 | .recalc = &omap2_clksel_recalc, | 1978 | .recalc = &omap2_clksel_recalc, |
1948 | }; | 1979 | }; |
1949 | 1980 | ||
1950 | /* XXX MDM_INTC_ICK, SAD2D_ICK ?? */ | ||
1951 | |||
1952 | /* SECURITY_L4_ICK2 based clocks */ | 1981 | /* SECURITY_L4_ICK2 based clocks */ |
1953 | 1982 | ||
1954 | static struct clk security_l4_ick2 = { | 1983 | static struct clk security_l4_ick2 = { |