@@ -61,6 +61,11 @@ enum clk_ids {
6161 DEF_BASE(_name, _id, CLK_TYPE_GEN4_PLL2X_3X, CLK_MAIN, \
6262 .offset = _offset)
6363
64+ #define CPG_PLL20CR 0x0834 /* PLL20 Control Register */
65+ #define CPG_PLL21CR 0x0838 /* PLL21 Control Register */
66+ #define CPG_PLL30CR 0x083c /* PLL30 Control Register */
67+ #define CPG_PLL31CR 0x0840 /* PLL31 Control Register */
68+
6469static const struct cpg_core_clk r8a779a0_core_clks [] __initconst = {
6570 /* External Clock Inputs */
6671 DEF_INPUT ("extal" , CLK_EXTAL ),
@@ -70,10 +75,10 @@ static const struct cpg_core_clk r8a779a0_core_clks[] __initconst = {
7075 DEF_BASE (".main" , CLK_MAIN , CLK_TYPE_GEN4_MAIN , CLK_EXTAL ),
7176 DEF_BASE (".pll1" , CLK_PLL1 , CLK_TYPE_GEN4_PLL1 , CLK_MAIN ),
7277 DEF_BASE (".pll5" , CLK_PLL5 , CLK_TYPE_GEN4_PLL5 , CLK_MAIN ),
73- DEF_PLL (".pll20" , CLK_PLL20 , 0x0834 ),
74- DEF_PLL (".pll21" , CLK_PLL21 , 0x0838 ),
75- DEF_PLL (".pll30" , CLK_PLL30 , 0x083c ),
76- DEF_PLL (".pll31" , CLK_PLL31 , 0x0840 ),
78+ DEF_PLL (".pll20" , CLK_PLL20 , CPG_PLL20CR ),
79+ DEF_PLL (".pll21" , CLK_PLL21 , CPG_PLL21CR ),
80+ DEF_PLL (".pll30" , CLK_PLL30 , CPG_PLL30CR ),
81+ DEF_PLL (".pll31" , CLK_PLL31 , CPG_PLL31CR ),
7782
7883 DEF_FIXED (".pll1_div2" , CLK_PLL1_DIV2 , CLK_PLL1 , 2 , 1 ),
7984 DEF_FIXED (".pll20_div2" , CLK_PLL20_DIV2 , CLK_PLL20 , 2 , 1 ),
@@ -116,17 +121,17 @@ static const struct cpg_core_clk r8a779a0_core_clks[] __initconst = {
116121 DEF_FIXED ("cp" , R8A779A0_CLK_CP , CLK_EXTAL , 2 , 1 ),
117122 DEF_FIXED ("cl16mck" , R8A779A0_CLK_CL16MCK , CLK_PLL1_DIV2 , 64 , 1 ),
118123
119- DEF_GEN4_SDH ("sd0h" , R8A779A0_CLK_SD0H , CLK_SDSRC , 0x870 ),
120- DEF_GEN4_SD ("sd0" , R8A779A0_CLK_SD0 , R8A779A0_CLK_SD0H , 0x870 ),
124+ DEF_GEN4_SDH ("sd0h" , R8A779A0_CLK_SD0H , CLK_SDSRC , CPG_SD0CKCR ),
125+ DEF_GEN4_SD ("sd0" , R8A779A0_CLK_SD0 , R8A779A0_CLK_SD0H , CPG_SD0CKCR ),
121126
122127 DEF_BASE ("rpc" , R8A779A0_CLK_RPC , CLK_TYPE_GEN4_RPC , CLK_RPCSRC ),
123128 DEF_BASE ("rpcd2" , R8A779A0_CLK_RPCD2 , CLK_TYPE_GEN4_RPCD2 ,
124129 R8A779A0_CLK_RPC ),
125130
126- DEF_DIV6P1 ("mso" , R8A779A0_CLK_MSO , CLK_PLL5_DIV4 , 0x87c ),
127- DEF_DIV6P1 ("canfd" , R8A779A0_CLK_CANFD , CLK_PLL5_DIV4 , 0x878 ),
128- DEF_DIV6P1 ("csi0" , R8A779A0_CLK_CSI0 , CLK_PLL5_DIV4 , 0x880 ),
129- DEF_DIV6P1 ("dsi" , R8A779A0_CLK_DSI , CLK_PLL5_DIV4 , 0x884 ),
131+ DEF_DIV6P1 ("mso" , R8A779A0_CLK_MSO , CLK_PLL5_DIV4 , CPG_MSOCKCR ),
132+ DEF_DIV6P1 ("canfd" , R8A779A0_CLK_CANFD , CLK_PLL5_DIV4 , CPG_CANFDCKCR ),
133+ DEF_DIV6P1 ("csi0" , R8A779A0_CLK_CSI0 , CLK_PLL5_DIV4 , CPG_CSICKCR ),
134+ DEF_DIV6P1 ("dsi" , R8A779A0_CLK_DSI , CLK_PLL5_DIV4 , CPG_DSIEXTCKCR ),
130135
131136 DEF_GEN4_OSC ("osc" , R8A779A0_CLK_OSC , CLK_EXTAL , 8 ),
132137 DEF_GEN4_MDSEL ("r" , R8A779A0_CLK_R , 29 , CLK_EXTALR , 1 , CLK_OCO , 1 ),
@@ -253,12 +258,12 @@ static const unsigned int r8a779a0_crit_mod_clks[] __initconst = {
253258 */
254259#define CPG_PLL_CONFIG_INDEX (md ) ((((md) & BIT(14)) >> 13) | \
255260 (((md) & BIT(13)) >> 13))
256- static const struct rcar_gen4_cpg_pll_config cpg_pll_configs [4 ] = {
257- /* EXTAL div PLL1 mult/div PLL2 mult/div PLL3 mult/div PLL4 mult/div PLL5 mult/div PLL6 mult/div OSC prediv */
258- { 1 , 128 , 1 , 0 , 0 , 0 , 0 , 144 , 1 , 192 , 1 , 0 , 0 , 16 , },
259- { 1 , 106 , 1 , 0 , 0 , 0 , 0 , 120 , 1 , 160 , 1 , 0 , 0 , 19 , },
260- { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
261- { 2 , 128 , 1 , 0 , 0 , 0 , 0 , 144 , 1 , 192 , 1 , 0 , 0 , 32 , },
261+ static const struct rcar_gen4_cpg_pll_config cpg_pll_configs [4 ] __initconst = {
262+ /* EXTAL div PLL1 mult/div PLL5 mult/div OSC prediv */
263+ { 1 , 128 , 1 , 192 , 1 , 16 , },
264+ { 1 , 106 , 1 , 160 , 1 , 19 , },
265+ { 0 , 0 , 0 , 0 , 0 , 0 , },
266+ { 2 , 128 , 1 , 192 , 1 , 32 , },
262267};
263268
264269
0 commit comments