diff options
Diffstat (limited to 'drivers/clk/tegra/clk-tegra30.c')
-rw-r--r-- | drivers/clk/tegra/clk-tegra30.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra30.c index bee84c554932..b316dfb6f6c7 100644 --- a/drivers/clk/tegra/clk-tegra30.c +++ b/drivers/clk/tegra/clk-tegra30.c | |||
@@ -819,6 +819,7 @@ static struct tegra_clk tegra30_clks[tegra_clk_max] __initdata = { | |||
819 | [tegra_clk_pll_a] = { .dt_id = TEGRA30_CLK_PLL_A, .present = true }, | 819 | [tegra_clk_pll_a] = { .dt_id = TEGRA30_CLK_PLL_A, .present = true }, |
820 | [tegra_clk_pll_a_out0] = { .dt_id = TEGRA30_CLK_PLL_A_OUT0, .present = true }, | 820 | [tegra_clk_pll_a_out0] = { .dt_id = TEGRA30_CLK_PLL_A_OUT0, .present = true }, |
821 | [tegra_clk_cec] = { .dt_id = TEGRA30_CLK_CEC, .present = true }, | 821 | [tegra_clk_cec] = { .dt_id = TEGRA30_CLK_CEC, .present = true }, |
822 | [tegra_clk_emc] = { .dt_id = TEGRA30_CLK_EMC, .present = true }, | ||
822 | }; | 823 | }; |
823 | 824 | ||
824 | static const char *pll_e_parents[] = { "pll_ref", "pll_p" }; | 825 | static const char *pll_e_parents[] = { "pll_ref", "pll_p" }; |
@@ -843,8 +844,7 @@ static void __init tegra30_pll_init(void) | |||
843 | 844 | ||
844 | /* PLLM */ | 845 | /* PLLM */ |
845 | clk = tegra_clk_register_pll("pll_m", "pll_ref", clk_base, pmc_base, | 846 | clk = tegra_clk_register_pll("pll_m", "pll_ref", clk_base, pmc_base, |
846 | CLK_IGNORE_UNUSED | CLK_SET_RATE_GATE, | 847 | CLK_SET_RATE_GATE, &pll_m_params, NULL); |
847 | &pll_m_params, NULL); | ||
848 | clks[TEGRA30_CLK_PLL_M] = clk; | 848 | clks[TEGRA30_CLK_PLL_M] = clk; |
849 | 849 | ||
850 | /* PLLM_OUT1 */ | 850 | /* PLLM_OUT1 */ |
@@ -852,7 +852,7 @@ static void __init tegra30_pll_init(void) | |||
852 | clk_base + PLLM_OUT, 0, TEGRA_DIVIDER_ROUND_UP, | 852 | clk_base + PLLM_OUT, 0, TEGRA_DIVIDER_ROUND_UP, |
853 | 8, 8, 1, NULL); | 853 | 8, 8, 1, NULL); |
854 | clk = tegra_clk_register_pll_out("pll_m_out1", "pll_m_out1_div", | 854 | clk = tegra_clk_register_pll_out("pll_m_out1", "pll_m_out1_div", |
855 | clk_base + PLLM_OUT, 1, 0, CLK_IGNORE_UNUSED | | 855 | clk_base + PLLM_OUT, 1, 0, |
856 | CLK_SET_RATE_PARENT, 0, NULL); | 856 | CLK_SET_RATE_PARENT, 0, NULL); |
857 | clks[TEGRA30_CLK_PLL_M_OUT1] = clk; | 857 | clks[TEGRA30_CLK_PLL_M_OUT1] = clk; |
858 | 858 | ||
@@ -990,7 +990,7 @@ static void __init tegra30_super_clk_init(void) | |||
990 | /* SCLK */ | 990 | /* SCLK */ |
991 | clk = tegra_clk_register_super_mux("sclk", sclk_parents, | 991 | clk = tegra_clk_register_super_mux("sclk", sclk_parents, |
992 | ARRAY_SIZE(sclk_parents), | 992 | ARRAY_SIZE(sclk_parents), |
993 | CLK_SET_RATE_PARENT, | 993 | CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, |
994 | clk_base + SCLK_BURST_POLICY, | 994 | clk_base + SCLK_BURST_POLICY, |
995 | 0, 4, 0, 0, NULL); | 995 | 0, 4, 0, 0, NULL); |
996 | clks[TEGRA30_CLK_SCLK] = clk; | 996 | clks[TEGRA30_CLK_SCLK] = clk; |
@@ -1060,9 +1060,6 @@ static void __init tegra30_periph_clk_init(void) | |||
1060 | CLK_SET_RATE_NO_REPARENT, | 1060 | CLK_SET_RATE_NO_REPARENT, |
1061 | clk_base + CLK_SOURCE_EMC, | 1061 | clk_base + CLK_SOURCE_EMC, |
1062 | 30, 2, 0, &emc_lock); | 1062 | 30, 2, 0, &emc_lock); |
1063 | clk = tegra_clk_register_periph_gate("emc", "emc_mux", 0, clk_base, 0, | ||
1064 | 57, periph_clk_enb_refcnt); | ||
1065 | clks[TEGRA30_CLK_EMC] = clk; | ||
1066 | 1063 | ||
1067 | clk = tegra_clk_register_mc("mc", "emc_mux", clk_base + CLK_SOURCE_EMC, | 1064 | clk = tegra_clk_register_mc("mc", "emc_mux", clk_base + CLK_SOURCE_EMC, |
1068 | &emc_lock); | 1065 | &emc_lock); |
@@ -1252,10 +1249,7 @@ static struct tegra_clk_init_table init_table[] __initdata = { | |||
1252 | { TEGRA30_CLK_SDMMC1, TEGRA30_CLK_PLL_P, 48000000, 0 }, | 1249 | { TEGRA30_CLK_SDMMC1, TEGRA30_CLK_PLL_P, 48000000, 0 }, |
1253 | { TEGRA30_CLK_SDMMC2, TEGRA30_CLK_PLL_P, 48000000, 0 }, | 1250 | { TEGRA30_CLK_SDMMC2, TEGRA30_CLK_PLL_P, 48000000, 0 }, |
1254 | { TEGRA30_CLK_SDMMC3, TEGRA30_CLK_PLL_P, 48000000, 0 }, | 1251 | { TEGRA30_CLK_SDMMC3, TEGRA30_CLK_PLL_P, 48000000, 0 }, |
1255 | { TEGRA30_CLK_PLL_M, TEGRA30_CLK_CLK_MAX, 0, 1 }, | ||
1256 | { TEGRA30_CLK_PCLK, TEGRA30_CLK_CLK_MAX, 0, 1 }, | ||
1257 | { TEGRA30_CLK_CSITE, TEGRA30_CLK_CLK_MAX, 0, 1 }, | 1252 | { TEGRA30_CLK_CSITE, TEGRA30_CLK_CLK_MAX, 0, 1 }, |
1258 | { TEGRA30_CLK_EMC, TEGRA30_CLK_CLK_MAX, 0, 1 }, | ||
1259 | { TEGRA30_CLK_MSELECT, TEGRA30_CLK_CLK_MAX, 0, 1 }, | 1253 | { TEGRA30_CLK_MSELECT, TEGRA30_CLK_CLK_MAX, 0, 1 }, |
1260 | { TEGRA30_CLK_SBC1, TEGRA30_CLK_PLL_P, 100000000, 0 }, | 1254 | { TEGRA30_CLK_SBC1, TEGRA30_CLK_PLL_P, 100000000, 0 }, |
1261 | { TEGRA30_CLK_SBC2, TEGRA30_CLK_PLL_P, 100000000, 0 }, | 1255 | { TEGRA30_CLK_SBC2, TEGRA30_CLK_PLL_P, 100000000, 0 }, |
@@ -1272,6 +1266,7 @@ static struct tegra_clk_init_table init_table[] __initdata = { | |||
1272 | { TEGRA30_CLK_GR3D, TEGRA30_CLK_PLL_C, 300000000, 0 }, | 1266 | { TEGRA30_CLK_GR3D, TEGRA30_CLK_PLL_C, 300000000, 0 }, |
1273 | { TEGRA30_CLK_GR3D2, TEGRA30_CLK_PLL_C, 300000000, 0 }, | 1267 | { TEGRA30_CLK_GR3D2, TEGRA30_CLK_PLL_C, 300000000, 0 }, |
1274 | { TEGRA30_CLK_PLL_U, TEGRA30_CLK_CLK_MAX, 480000000, 0 }, | 1268 | { TEGRA30_CLK_PLL_U, TEGRA30_CLK_CLK_MAX, 480000000, 0 }, |
1269 | { TEGRA30_CLK_VDE, TEGRA30_CLK_CLK_MAX, 600000000, 0 }, | ||
1275 | /* must be the last entry */ | 1270 | /* must be the last entry */ |
1276 | { TEGRA30_CLK_CLK_MAX, TEGRA30_CLK_CLK_MAX, 0, 0 }, | 1271 | { TEGRA30_CLK_CLK_MAX, TEGRA30_CLK_CLK_MAX, 0, 0 }, |
1277 | }; | 1272 | }; |