@@ -28,12 +28,19 @@ enum clk_ids {
2828 CLK_PLLCLN ,
2929 CLK_PLLDTY ,
3030 CLK_PLLCA55 ,
31+ CLK_PLLVDO ,
3132
3233 /* Internal Core Clocks */
3334 CLK_PLLCM33_DIV16 ,
35+ CLK_PLLCLN_DIV2 ,
36+ CLK_PLLCLN_DIV8 ,
3437 CLK_PLLCLN_DIV16 ,
38+ CLK_PLLCLN_DIV20 ,
3539 CLK_PLLDTY_ACPU ,
40+ CLK_PLLDTY_ACPU_DIV2 ,
3641 CLK_PLLDTY_ACPU_DIV4 ,
42+ CLK_PLLDTY_DIV16 ,
43+ CLK_PLLVDO_CRU0 ,
3744
3845 /* Module Clocks */
3946 MOD_CLK_BASE ,
@@ -47,6 +54,12 @@ static const struct clk_div_table dtable_1_8[] = {
4754 {0 , 0 },
4855};
4956
57+ static const struct clk_div_table dtable_2_4 [] = {
58+ {0 , 2 },
59+ {1 , 4 },
60+ {0 , 0 },
61+ };
62+
5063static const struct clk_div_table dtable_2_64 [] = {
5164 {0 , 2 },
5265 {1 , 4 },
@@ -67,14 +80,22 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
6780 DEF_FIXED (".pllcln" , CLK_PLLCLN , CLK_QEXTAL , 200 , 3 ),
6881 DEF_FIXED (".plldty" , CLK_PLLDTY , CLK_QEXTAL , 200 , 3 ),
6982 DEF_PLL (".pllca55" , CLK_PLLCA55 , CLK_QEXTAL , PLL_CONF (0x64 )),
83+ DEF_FIXED (".pllvdo" , CLK_PLLVDO , CLK_QEXTAL , 105 , 2 ),
7084
7185 /* Internal Core Clocks */
7286 DEF_FIXED (".pllcm33_div16" , CLK_PLLCM33_DIV16 , CLK_PLLCM33 , 1 , 16 ),
7387
88+ DEF_FIXED (".pllcln_div2" , CLK_PLLCLN_DIV2 , CLK_PLLCLN , 1 , 2 ),
89+ DEF_FIXED (".pllcln_div8" , CLK_PLLCLN_DIV8 , CLK_PLLCLN , 1 , 8 ),
7490 DEF_FIXED (".pllcln_div16" , CLK_PLLCLN_DIV16 , CLK_PLLCLN , 1 , 16 ),
91+ DEF_FIXED (".pllcln_div20" , CLK_PLLCLN_DIV20 , CLK_PLLCLN , 1 , 20 ),
7592
7693 DEF_DDIV (".plldty_acpu" , CLK_PLLDTY_ACPU , CLK_PLLDTY , CDDIV0_DIVCTL2 , dtable_2_64 ),
94+ DEF_FIXED (".plldty_acpu_div2" , CLK_PLLDTY_ACPU_DIV2 , CLK_PLLDTY_ACPU , 1 , 2 ),
7795 DEF_FIXED (".plldty_acpu_div4" , CLK_PLLDTY_ACPU_DIV4 , CLK_PLLDTY_ACPU , 1 , 4 ),
96+ DEF_FIXED (".plldty_div16" , CLK_PLLDTY_DIV16 , CLK_PLLDTY , 1 , 16 ),
97+
98+ DEF_DDIV (".pllvdo_cru0" , CLK_PLLVDO_CRU0 , CLK_PLLVDO , CDDIV3_DIVCTL3 , dtable_2_4 ),
7899
79100 /* Core Clocks */
80101 DEF_FIXED ("sys_0_pclk" , R9A09G047_SYS_0_PCLK , CLK_QEXTAL , 1 , 1 ),
@@ -90,8 +111,22 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
90111};
91112
92113static const struct rzv2h_mod_clk r9a09g047_mod_clks [] __initconst = {
114+ DEF_MOD_CRITICAL ("icu_0_pclk_i" , CLK_PLLCM33_DIV16 , 0 , 5 , 0 , 5 ,
115+ BUS_MSTOP_NONE ),
93116 DEF_MOD_CRITICAL ("gic_0_gicclk" , CLK_PLLDTY_ACPU_DIV4 , 1 , 3 , 0 , 19 ,
94117 BUS_MSTOP (3 , BIT (5 ))),
118+ DEF_MOD ("wdt_1_clkp" , CLK_PLLCLN_DIV16 , 4 , 13 , 2 , 13 ,
119+ BUS_MSTOP (1 , BIT (0 ))),
120+ DEF_MOD ("wdt_1_clk_loco" , CLK_QEXTAL , 4 , 14 , 2 , 14 ,
121+ BUS_MSTOP (1 , BIT (0 ))),
122+ DEF_MOD ("wdt_2_clkp" , CLK_PLLCLN_DIV16 , 4 , 15 , 2 , 15 ,
123+ BUS_MSTOP (5 , BIT (12 ))),
124+ DEF_MOD ("wdt_2_clk_loco" , CLK_QEXTAL , 5 , 0 , 2 , 16 ,
125+ BUS_MSTOP (5 , BIT (12 ))),
126+ DEF_MOD ("wdt_3_clkp" , CLK_PLLCLN_DIV16 , 5 , 1 , 2 , 17 ,
127+ BUS_MSTOP (5 , BIT (13 ))),
128+ DEF_MOD ("wdt_3_clk_loco" , CLK_QEXTAL , 5 , 2 , 2 , 18 ,
129+ BUS_MSTOP (5 , BIT (13 ))),
95130 DEF_MOD ("scif_0_clk_pck" , CLK_PLLCM33_DIV16 , 8 , 15 , 4 , 15 ,
96131 BUS_MSTOP (3 , BIT (14 ))),
97132 DEF_MOD ("riic_8_ckm" , CLK_PLLCM33_DIV16 , 9 , 3 , 4 , 19 ,
@@ -112,12 +147,52 @@ static const struct rzv2h_mod_clk r9a09g047_mod_clks[] __initconst = {
112147 BUS_MSTOP (1 , BIT (7 ))),
113148 DEF_MOD ("riic_7_ckm" , CLK_PLLCLN_DIV16 , 9 , 11 , 4 , 27 ,
114149 BUS_MSTOP (1 , BIT (8 ))),
150+ DEF_MOD ("canfd_0_pclk" , CLK_PLLCLN_DIV16 , 9 , 12 , 4 , 28 ,
151+ BUS_MSTOP (10 , BIT (14 ))),
152+ DEF_MOD ("canfd_0_clk_ram" , CLK_PLLCLN_DIV8 , 9 , 13 , 4 , 29 ,
153+ BUS_MSTOP (10 , BIT (14 ))),
154+ DEF_MOD ("canfd_0_clkc" , CLK_PLLCLN_DIV20 , 9 , 14 , 4 , 30 ,
155+ BUS_MSTOP (10 , BIT (14 ))),
156+ DEF_MOD ("sdhi_0_imclk" , CLK_PLLCLN_DIV8 , 10 , 3 , 5 , 3 ,
157+ BUS_MSTOP (8 , BIT (2 ))),
158+ DEF_MOD ("sdhi_0_imclk2" , CLK_PLLCLN_DIV8 , 10 , 4 , 5 , 4 ,
159+ BUS_MSTOP (8 , BIT (2 ))),
160+ DEF_MOD ("sdhi_0_clk_hs" , CLK_PLLCLN_DIV2 , 10 , 5 , 5 , 5 ,
161+ BUS_MSTOP (8 , BIT (2 ))),
162+ DEF_MOD ("sdhi_0_aclk" , CLK_PLLDTY_ACPU_DIV4 , 10 , 6 , 5 , 6 ,
163+ BUS_MSTOP (8 , BIT (2 ))),
164+ DEF_MOD ("sdhi_1_imclk" , CLK_PLLCLN_DIV8 , 10 , 7 , 5 , 7 ,
165+ BUS_MSTOP (8 , BIT (3 ))),
166+ DEF_MOD ("sdhi_1_imclk2" , CLK_PLLCLN_DIV8 , 10 , 8 , 5 , 8 ,
167+ BUS_MSTOP (8 , BIT (3 ))),
168+ DEF_MOD ("sdhi_1_clk_hs" , CLK_PLLCLN_DIV2 , 10 , 9 , 5 , 9 ,
169+ BUS_MSTOP (8 , BIT (3 ))),
170+ DEF_MOD ("sdhi_1_aclk" , CLK_PLLDTY_ACPU_DIV4 , 10 , 10 , 5 , 10 ,
171+ BUS_MSTOP (8 , BIT (3 ))),
172+ DEF_MOD ("sdhi_2_imclk" , CLK_PLLCLN_DIV8 , 10 , 11 , 5 , 11 ,
173+ BUS_MSTOP (8 , BIT (4 ))),
174+ DEF_MOD ("sdhi_2_imclk2" , CLK_PLLCLN_DIV8 , 10 , 12 , 5 , 12 ,
175+ BUS_MSTOP (8 , BIT (4 ))),
176+ DEF_MOD ("sdhi_2_clk_hs" , CLK_PLLCLN_DIV2 , 10 , 13 , 5 , 13 ,
177+ BUS_MSTOP (8 , BIT (4 ))),
178+ DEF_MOD ("sdhi_2_aclk" , CLK_PLLDTY_ACPU_DIV4 , 10 , 14 , 5 , 14 ,
179+ BUS_MSTOP (8 , BIT (4 ))),
180+ DEF_MOD ("cru_0_aclk" , CLK_PLLDTY_ACPU_DIV2 , 13 , 2 , 6 , 18 ,
181+ BUS_MSTOP (9 , BIT (4 ))),
182+ DEF_MOD_NO_PM ("cru_0_vclk" , CLK_PLLVDO_CRU0 , 13 , 3 , 6 , 19 ,
183+ BUS_MSTOP (9 , BIT (4 ))),
184+ DEF_MOD ("cru_0_pclk" , CLK_PLLDTY_DIV16 , 13 , 4 , 6 , 20 ,
185+ BUS_MSTOP (9 , BIT (4 ))),
115186};
116187
117188static const struct rzv2h_reset r9a09g047_resets [] __initconst = {
118189 DEF_RST (3 , 0 , 1 , 1 ), /* SYS_0_PRESETN */
190+ DEF_RST (3 , 6 , 1 , 7 ), /* ICU_0_PRESETN_I */
119191 DEF_RST (3 , 8 , 1 , 9 ), /* GIC_0_GICRESET_N */
120192 DEF_RST (3 , 9 , 1 , 10 ), /* GIC_0_DBG_GICRESET_N */
193+ DEF_RST (7 , 6 , 3 , 7 ), /* WDT_1_RESET */
194+ DEF_RST (7 , 7 , 3 , 8 ), /* WDT_2_RESET */
195+ DEF_RST (7 , 8 , 3 , 9 ), /* WDT_3_RESET */
121196 DEF_RST (9 , 5 , 4 , 6 ), /* SCIF_0_RST_SYSTEM_N */
122197 DEF_RST (9 , 8 , 4 , 9 ), /* RIIC_0_MRST */
123198 DEF_RST (9 , 9 , 4 , 10 ), /* RIIC_1_MRST */
@@ -128,6 +203,14 @@ static const struct rzv2h_reset r9a09g047_resets[] __initconst = {
128203 DEF_RST (9 , 14 , 4 , 15 ), /* RIIC_6_MRST */
129204 DEF_RST (9 , 15 , 4 , 16 ), /* RIIC_7_MRST */
130205 DEF_RST (10 , 0 , 4 , 17 ), /* RIIC_8_MRST */
206+ DEF_RST (10 , 1 , 4 , 18 ), /* CANFD_0_RSTP_N */
207+ DEF_RST (10 , 2 , 4 , 19 ), /* CANFD_0_RSTC_N */
208+ DEF_RST (10 , 7 , 4 , 24 ), /* SDHI_0_IXRST */
209+ DEF_RST (10 , 8 , 4 , 25 ), /* SDHI_1_IXRST */
210+ DEF_RST (10 , 9 , 4 , 26 ), /* SDHI_2_IXRST */
211+ DEF_RST (12 , 5 , 5 , 22 ), /* CRU_0_PRESETN */
212+ DEF_RST (12 , 6 , 5 , 23 ), /* CRU_0_ARESETN */
213+ DEF_RST (12 , 7 , 5 , 24 ), /* CRU_0_S_RESETN */
131214};
132215
133216const struct rzv2h_cpg_info r9a09g047_cpg_info __initconst = {
0 commit comments