diff options
Diffstat (limited to 'arch/arm/mach-omap2/clock34xx_data.c')
-rw-r--r-- | arch/arm/mach-omap2/clock34xx_data.c | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/clock34xx_data.c b/arch/arm/mach-omap2/clock34xx_data.c index 8728f1fbc5b1..221e831a7151 100644 --- a/arch/arm/mach-omap2/clock34xx_data.c +++ b/arch/arm/mach-omap2/clock34xx_data.c | |||
@@ -2983,6 +2983,113 @@ static struct clk wdt1_fck = { | |||
2983 | .recalc = &followparent_recalc, | 2983 | .recalc = &followparent_recalc, |
2984 | }; | 2984 | }; |
2985 | 2985 | ||
2986 | /* Clocks for AM35XX */ | ||
2987 | static struct clk ipss_ick = { | ||
2988 | .name = "ipss_ick", | ||
2989 | .ops = &clkops_am35xx_ipss_wait, | ||
2990 | .parent = &core_l3_ick, | ||
2991 | .clkdm_name = "core_l3_clkdm", | ||
2992 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), | ||
2993 | .enable_bit = AM35XX_EN_IPSS_SHIFT, | ||
2994 | .recalc = &followparent_recalc, | ||
2995 | }; | ||
2996 | |||
2997 | static struct clk emac_ick = { | ||
2998 | .name = "emac_ick", | ||
2999 | .ops = &clkops_am35xx_ipss_module_wait, | ||
3000 | .parent = &ipss_ick, | ||
3001 | .clkdm_name = "core_l3_clkdm", | ||
3002 | .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL), | ||
3003 | .enable_bit = AM35XX_CPGMAC_VBUSP_CLK_SHIFT, | ||
3004 | .recalc = &followparent_recalc, | ||
3005 | }; | ||
3006 | |||
3007 | static struct clk rmii_ck = { | ||
3008 | .name = "rmii_ck", | ||
3009 | .ops = &clkops_null, | ||
3010 | .flags = RATE_FIXED, | ||
3011 | .rate = 50000000, | ||
3012 | }; | ||
3013 | |||
3014 | static struct clk emac_fck = { | ||
3015 | .name = "emac_fck", | ||
3016 | .ops = &clkops_omap2_dflt, | ||
3017 | .parent = &rmii_ck, | ||
3018 | .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL), | ||
3019 | .enable_bit = AM35XX_CPGMAC_FCLK_SHIFT, | ||
3020 | .recalc = &followparent_recalc, | ||
3021 | }; | ||
3022 | |||
3023 | static struct clk hsotgusb_ick_am35xx = { | ||
3024 | .name = "hsotgusb_ick", | ||
3025 | .ops = &clkops_am35xx_ipss_module_wait, | ||
3026 | .parent = &ipss_ick, | ||
3027 | .clkdm_name = "core_l3_clkdm", | ||
3028 | .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL), | ||
3029 | .enable_bit = AM35XX_USBOTG_VBUSP_CLK_SHIFT, | ||
3030 | .recalc = &followparent_recalc, | ||
3031 | }; | ||
3032 | |||
3033 | static struct clk hsotgusb_fck_am35xx = { | ||
3034 | .name = "hsotgusb_fck", | ||
3035 | .ops = &clkops_omap2_dflt, | ||
3036 | .parent = &sys_ck, | ||
3037 | .clkdm_name = "core_l3_clkdm", | ||
3038 | .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL), | ||
3039 | .enable_bit = AM35XX_USBOTG_FCLK_SHIFT, | ||
3040 | .recalc = &followparent_recalc, | ||
3041 | }; | ||
3042 | |||
3043 | static struct clk hecc_ck = { | ||
3044 | .name = "hecc_ck", | ||
3045 | .ops = &clkops_am35xx_ipss_module_wait, | ||
3046 | .parent = &sys_ck, | ||
3047 | .clkdm_name = "core_l3_clkdm", | ||
3048 | .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL), | ||
3049 | .enable_bit = AM35XX_HECC_VBUSP_CLK_SHIFT, | ||
3050 | .recalc = &followparent_recalc, | ||
3051 | }; | ||
3052 | |||
3053 | static struct clk vpfe_ick = { | ||
3054 | .name = "vpfe_ick", | ||
3055 | .ops = &clkops_am35xx_ipss_module_wait, | ||
3056 | .parent = &ipss_ick, | ||
3057 | .clkdm_name = "core_l3_clkdm", | ||
3058 | .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL), | ||
3059 | .enable_bit = AM35XX_VPFE_VBUSP_CLK_SHIFT, | ||
3060 | .recalc = &followparent_recalc, | ||
3061 | }; | ||
3062 | |||
3063 | static struct clk pclk_ck = { | ||
3064 | .name = "pclk_ck", | ||
3065 | .ops = &clkops_null, | ||
3066 | .flags = RATE_FIXED, | ||
3067 | .rate = 27000000, | ||
3068 | }; | ||
3069 | |||
3070 | static struct clk vpfe_fck = { | ||
3071 | .name = "vpfe_fck", | ||
3072 | .ops = &clkops_omap2_dflt, | ||
3073 | .parent = &pclk_ck, | ||
3074 | .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL), | ||
3075 | .enable_bit = AM35XX_VPFE_FCLK_SHIFT, | ||
3076 | .recalc = &followparent_recalc, | ||
3077 | }; | ||
3078 | |||
3079 | /* | ||
3080 | * The UART1/2 functional clock acts as the functional | ||
3081 | * clock for UART4. No separate fclk control available. | ||
3082 | */ | ||
3083 | static struct clk uart4_ick_am35xx = { | ||
3084 | .name = "uart4_ick", | ||
3085 | .ops = &clkops_omap2_dflt_wait, | ||
3086 | .parent = &core_l4_ick, | ||
3087 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), | ||
3088 | .enable_bit = AM35XX_EN_UART4_SHIFT, | ||
3089 | .clkdm_name = "core_l4_clkdm", | ||
3090 | .recalc = &followparent_recalc, | ||
3091 | }; | ||
3092 | |||
2986 | 3093 | ||
2987 | /* | 3094 | /* |
2988 | * clkdev | 3095 | * clkdev |
@@ -3209,6 +3316,17 @@ static struct omap_clk omap3xxx_clks[] = { | |||
3209 | CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), | 3316 | CLK(NULL, "secure_32k_fck", &secure_32k_fck, CK_3XXX), |
3210 | CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), | 3317 | CLK(NULL, "gpt12_fck", &gpt12_fck, CK_3XXX), |
3211 | CLK(NULL, "wdt1_fck", &wdt1_fck, CK_3XXX), | 3318 | CLK(NULL, "wdt1_fck", &wdt1_fck, CK_3XXX), |
3319 | CLK(NULL, "ipss_ick", &ipss_ick, CK_AM35XX), | ||
3320 | CLK(NULL, "rmii_ck", &rmii_ck, CK_AM35XX), | ||
3321 | CLK(NULL, "pclk_ck", &pclk_ck, CK_AM35XX), | ||
3322 | CLK("davinci_emac", "ick", &emac_ick, CK_AM35XX), | ||
3323 | CLK("davinci_emac", "fck", &emac_fck, CK_AM35XX), | ||
3324 | CLK("vpfe-capture", "master", &vpfe_ick, CK_AM35XX), | ||
3325 | CLK("vpfe-capture", "slave", &vpfe_fck, CK_AM35XX), | ||
3326 | CLK("musb_hdrc", "ick", &hsotgusb_ick_am35xx, CK_AM35XX), | ||
3327 | CLK("musb_hdrc", "fck", &hsotgusb_fck_am35xx, CK_AM35XX), | ||
3328 | CLK(NULL, "hecc_ck", &hecc_ck, CK_AM35XX), | ||
3329 | CLK(NULL, "uart4_ick", &uart4_ick_am35xx, CK_AM35XX), | ||
3212 | }; | 3330 | }; |
3213 | 3331 | ||
3214 | 3332 | ||