|
2 | 2 | /* Copyright (c) 2021 StarFive Technology Co., Ltd. */ |
3 | 3 |
|
4 | 4 | /dts-v1/; |
| 5 | +#include <dt-bindings/clock/starfive-jh7100-clkgen.h> |
5 | 6 | #include <dt-bindings/starfive_fb.h> |
6 | 7 | #include <dt-bindings/gpio/gpio.h> |
7 | 8 |
|
|
68 | 69 | }; |
69 | 70 | }; |
70 | 71 |
|
71 | | - hfclk: hfclk { |
72 | | - #clock-cells = <0>; |
73 | | - compatible = "fixed-clock"; |
74 | | - clock-frequency = <25000000>; |
75 | | - }; |
76 | | - |
77 | | - rtcclk: rtcclk { |
78 | | - #clock-cells = <0>; |
79 | | - compatible = "fixed-clock"; |
80 | | - clock-frequency = <6250000>; |
81 | | - }; |
82 | | - |
83 | | - i2c0clk: i2c0clk { |
84 | | - #clock-cells = <0>; |
85 | | - compatible = "fixed-clock"; |
86 | | - clock-frequency = <49500000>; |
87 | | - }; |
88 | | - |
89 | | - i2c2clk: i2c2clk { |
90 | | - #clock-cells = <0>; |
91 | | - compatible = "fixed-clock"; |
92 | | - clock-frequency = <50000000>; |
93 | | - }; |
94 | | - |
95 | | - axiclk: axiclk { |
96 | | - #clock-cells = <0>; |
97 | | - compatible = "fixed-clock"; |
98 | | - clock-frequency = <500000000>; |
99 | | - }; |
100 | | - |
101 | | - ahb0clk: ahb0clk { |
102 | | - #clock-cells = <0>; |
103 | | - compatible = "fixed-clock"; |
104 | | - clock-frequency = <250000000>; |
105 | | - }; |
106 | | - |
107 | | - ahb2clk: ahb2clk { |
108 | | - #clock-cells = <0>; |
109 | | - compatible = "fixed-clock"; |
110 | | - clock-frequency = <125000000>; |
111 | | - }; |
112 | | - |
113 | | - apb1clk: apb1clk { |
114 | | - #clock-cells = <0>; |
115 | | - compatible = "fixed-clock"; |
116 | | - clock-frequency = <125000000>; |
117 | | - }; |
118 | | - |
119 | | - apb2clk: apb2clk { |
120 | | - #clock-cells = <0>; |
121 | | - compatible = "fixed-clock"; |
122 | | - clock-frequency = <125000000>; |
123 | | - }; |
124 | | - |
125 | | - jpuclk: jpuclk { |
126 | | - #clock-cells = <0>; |
127 | | - compatible = "fixed-clock"; |
128 | | - clock-frequency = <333333333>; |
129 | | - }; |
130 | | - |
131 | | - vpuclk: vpuclk { |
132 | | - #clock-cells = <0>; |
133 | | - compatible = "fixed-clock"; |
134 | | - clock-frequency = <400000000>; |
135 | | - }; |
136 | | - |
137 | | - gmacclk: gmacclk { |
138 | | - #clock-cells = <0>; |
| 72 | + osc0_clk: osc0 { |
139 | 73 | compatible = "fixed-clock"; |
140 | | - clock-frequency = <25000000>; |
141 | | - }; |
142 | | - |
143 | | - qspi_clk: qspi-clk { |
144 | 74 | #clock-cells = <0>; |
145 | | - compatible = "fixed-clock"; |
146 | | - clock-frequency = <50000000>; |
| 75 | + /* This value must be overridden by the board */ |
| 76 | + clock-frequency = <0>; |
147 | 77 | }; |
148 | 78 |
|
149 | | - uartclk: uartclk { |
150 | | - #clock-cells = <0>; |
| 79 | + osc1_clk: osc1 { |
151 | 80 | compatible = "fixed-clock"; |
152 | | - clock-frequency = <100000000>; |
153 | | - }; |
154 | | - |
155 | | - hs_uartclk: hs_uartclk { |
156 | 81 | #clock-cells = <0>; |
157 | | - compatible = "fixed-clock"; |
158 | | - clock-frequency = <74250000>; |
159 | | - }; |
160 | | - |
161 | | - dwmmc_biuclk: dwmmc_biuclk { |
162 | | - #clock-cells = <0>; |
163 | | - compatible = "fixed-clock"; |
164 | | - clock-frequency = <100000000>; |
165 | | - }; |
166 | | - |
167 | | - /* |
168 | | - dwmmc_ciuclk: dwmmc_ciuclk { |
169 | | - #clock-cells = <0>; |
170 | | - compatible = "fixed-clock"; |
171 | | - clock-frequency = <100000000>; |
172 | | - }; |
173 | | - */ |
174 | | - |
175 | | - spiclk: spiclk { |
176 | | - #clock-cells = <0>; |
177 | | - compatible = "fixed-clock"; |
178 | | - clock-frequency = <50000000>; |
179 | | - }; |
180 | | - |
181 | | - pwmclk: pwmclk { |
182 | | - #clock-cells = <0>; |
183 | | - compatible = "fixed-clock"; |
184 | | - clock-frequency = <125000000>; |
| 82 | + /* This value must be overridden by the board */ |
| 83 | + clock-frequency = <0>; |
185 | 84 | }; |
186 | 85 |
|
187 | 86 | soc { |
|
248 | 147 | riscv,ndev = <127>; |
249 | 148 | }; |
250 | 149 |
|
| 150 | + clkgen: clock-controller@11800000 { |
| 151 | + compatible = "starfive,jh7100-clkgen"; |
| 152 | + reg = <0x0 0x11800000 0x0 0x10000>; |
| 153 | + clocks = <&osc0_clk>, <&osc1_clk>; |
| 154 | + clock-names = "osc0", "osc1"; |
| 155 | + #clock-cells = <1>; |
| 156 | + }; |
| 157 | + |
251 | 158 | uart0: serial@11870000 { |
252 | 159 | compatible = "snps,dw-apb-uart"; |
253 | 160 | interrupts = <92>; |
254 | 161 | reg = <0x0 0x11870000 0x0 0x10000>; |
255 | 162 | reg-io-width = <4>; |
256 | 163 | reg-shift = <2>; |
257 | | - clocks = <&hs_uartclk>, <&apb1clk>; |
| 164 | + clocks = <&clkgen JH7100_CLK_HS_UART>, |
| 165 | + <&clkgen JH7100_CLK_APB1>; |
258 | 166 | clock-names = "baudclk", "apb_pclk"; |
259 | 167 | current-clock = <74250000>; |
260 | 168 | current-speed = <115200>; |
|
267 | 175 | reg = <0x0 0x11880000 0x0 0x10000>; |
268 | 176 | reg-io-width = <4>; |
269 | 177 | reg-shift = <2>; |
270 | | - clocks = <&hs_uartclk>, <&apb1clk>; |
| 178 | + clocks = <&clkgen JH7100_CLK_HS_UART>, |
| 179 | + <&clkgen JH7100_CLK_APB1>; |
271 | 180 | clock-names = "baudclk", "apb_pclk"; |
272 | 181 | current-clock = <74250000>; |
273 | 182 | current-speed = <115200>; |
|
280 | 189 | reg = <0x0 0x12430000 0x0 0x10000>; |
281 | 190 | reg-io-width = <4>; |
282 | 191 | reg-shift = <2>; |
283 | | - clocks = <&uartclk>, <&apb2clk>; |
| 192 | + clocks = <&clkgen JH7100_CLK_UART>, |
| 193 | + <&clkgen JH7100_CLK_APB2>; |
284 | 194 | clock-names = "baudclk", "apb_pclk"; |
285 | 195 | current-clock = <100000000>; |
286 | 196 | current-speed = <115200>; |
|
293 | 203 | reg = <0x0 0x12440000 0x0 0x10000>; |
294 | 204 | reg-io-width = <4>; |
295 | 205 | reg-shift = <2>; |
296 | | - clocks = <&uartclk>, <&apb2clk>; |
| 206 | + clocks = <&clkgen JH7100_CLK_UART>, |
| 207 | + <&clkgen JH7100_CLK_APB2>; |
297 | 208 | clock-names = "baudclk", "apb_pclk"; |
298 | 209 | current-clock = <100000000>; |
299 | 210 | current-speed = <115200>; |
|
303 | 214 | dma2p: dma-controller@100b0000 { |
304 | 215 | compatible = "snps,axi-dma-1.01a"; |
305 | 216 | reg = <0x0 0x100b0000 0x0 0x10000>; |
306 | | - clocks = <&axiclk>, <&ahb0clk>; |
| 217 | + clocks = <&clkgen JH7100_CLK_AXI>, |
| 218 | + <&clkgen JH7100_CLK_AHB0>; |
307 | 219 | clock-names = "core-clk", "cfgr-clk"; |
308 | 220 | interrupts = <2>; |
309 | 221 | #dma-cells = <1>; |
|
319 | 231 | dma1p: dma-controller@10500000 { |
320 | 232 | compatible = "snps,axi-dma-1.01a"; |
321 | 233 | reg = <0x0 0x10500000 0x0 0x10000>; |
322 | | - clocks = <&axiclk>, <&ahb0clk>; |
| 234 | + clocks = <&clkgen JH7100_CLK_AXI>, |
| 235 | + <&clkgen JH7100_CLK_AHB0>; |
323 | 236 | clock-names = "core-clk", "cfgr-clk"; |
324 | 237 | interrupts = <1>; |
325 | 238 | #dma-cells = <1>; |
|
362 | 275 | compatible = "snps,designware-i2c"; |
363 | 276 | reg = <0x0 0x118b0000 0x0 0x10000>; |
364 | 277 | interrupts = <96>; |
365 | | - clocks = <&i2c0clk>; |
| 278 | + clocks = <&clkgen JH7100_CLK_I2C0>; |
366 | 279 | clock-frequency = <100000>; |
367 | 280 | i2c-sda-hold-time-ns = <300>; |
368 | 281 | i2c-sda-falling-time-ns = <500>; |
|
378 | 291 | compatible = "snps,designware-i2c"; |
379 | 292 | reg = <0x0 0x118c0000 0x0 0x10000>; |
380 | 293 | interrupts = <97>; |
381 | | - clocks = <&i2c0clk>; |
| 294 | + clocks = <&clkgen JH7100_CLK_I2C0>; |
382 | 295 | clock-frequency = <400000>; |
383 | 296 | i2c-sda-hold-time-ns = <300>; |
384 | 297 | i2c-sda-falling-time-ns = <100>; |
|
394 | 307 | compatible = "snps,designware-i2c"; |
395 | 308 | reg = <0x0 0x12450000 0x0 0x10000>; |
396 | 309 | interrupts = <74>; |
397 | | - clocks = <&i2c2clk>; |
| 310 | + clocks = <&clkgen JH7100_CLK_I2C2>; |
398 | 311 | clock-frequency = <100000>; |
399 | 312 | i2c-sda-hold-time-ns = <300>; |
400 | 313 | i2c-sda-falling-time-ns = <500>; |
|
407 | 320 | compatible = "starfive,vic-rng"; |
408 | 321 | reg = <0x0 0x118d0000 0x0 0x10000>; |
409 | 322 | interrupts = <98>; |
410 | | - clocks = <&hfclk>; |
| 323 | + clocks = <&clkgen JH7100_CLK_HF>; |
411 | 324 | }; |
412 | 325 |
|
413 | 326 | crypto: crypto@100d0000 { |
|
416 | 329 | <0x0 0x11800234 0x0 0xc>; |
417 | 330 | reg-names = "secmem", "secclk"; |
418 | 331 | interrupts = <31>; |
419 | | - clocks = <&hfclk>; |
| 332 | + clocks = <&clkgen JH7100_CLK_HF>; |
420 | 333 | }; |
421 | 334 |
|
422 | 335 | /* gmac device configuration */ |
|
437 | 350 | snps,perfect-filter-entries = <128>; |
438 | 351 | rx-fifo-depth = <32768>; |
439 | 352 | tx-fifo-depth = <16384>; |
440 | | - clocks = <&gmacclk>; |
| 353 | + clocks = <&clkgen JH7100_CLK_GMAC>; |
441 | 354 | clock-names = "stmmaceth"; |
442 | 355 | snps,fixed-burst; |
443 | 356 | snps,no-pbl-x8 = <1>; |
|
459 | 372 | reg = <0x0 0x11900000 0x0 0x300>; |
460 | 373 | memory-region = <&jpu_reserved>; |
461 | 374 | interrupts = <24>; |
462 | | - clocks = <&jpuclk>; |
| 375 | + clocks = <&clkgen JH7100_CLK_JPU>; |
463 | 376 | clock-names = "jpege"; |
464 | 377 | reg-names = "control"; |
465 | 378 | status = "okay"; |
|
470 | 383 | reg = <0 0x118f0000 0 0x10000>; |
471 | 384 | //memory-region = <&vpu_reserved>; |
472 | 385 | interrupts = <23>; |
473 | | - clocks = <&vpuclk>; |
| 386 | + clocks = <&clkgen JH7100_CLK_VPU>; |
474 | 387 | clock-names = "vcodec"; |
475 | 388 | status = "okay"; |
476 | 389 | }; |
|
479 | 392 | compatible = "cm,cm521-vpu"; |
480 | 393 | reg = <0x0 0x118e0000 0x0 0x4000>; |
481 | 394 | interrupts = <26>; |
482 | | - clocks = <&vpuclk>; |
| 395 | + clocks = <&clkgen JH7100_CLK_VPU>; |
483 | 396 | clock-names = "vcodec"; |
484 | 397 | reg-names = "control"; |
485 | 398 | }; |
|
489 | 402 | reg = <0x0 0x12490000 0x0 0x10000>; |
490 | 403 | reg-names = "control"; |
491 | 404 | sifive,approx-period = <100000000>; |
492 | | - clocks = <&pwmclk>; |
| 405 | + clocks = <&clkgen JH7100_CLK_PWM>; |
493 | 406 | #pwm-cells = <3>; |
494 | 407 | sifive,npwm = <8>; |
495 | 408 |
|
|
502 | 415 | reg = <0x0 0x11860000 0x0 0x10000>, |
503 | 416 | <0x0 0x20000000 0x0 0x20000000>; |
504 | 417 | interrupts = <3>; |
505 | | - clocks = <&qspi_clk>; |
| 418 | + clocks = <&clkgen JH7100_CLK_QSPI>; |
506 | 419 | cdns,fifo-depth = <256>; |
507 | 420 | cdns,fifo-width = <4>; |
508 | 421 | cdns,trigger-address = <0x0>; |
|
517 | 430 | #size-cells = <0>; |
518 | 431 | interrupts = <FIXME>; |
519 | 432 | reg = <0x0 0x11890000 0x0 0x10000>; |
520 | | - clocks = <&spiclk>; |
| 433 | + clocks = <&clkgen JH7100_CLK_SPI>; |
521 | 434 | status = "disabled"; |
522 | 435 | }; |
523 | 436 |
|
|
527 | 440 | #size-cells = <0>; |
528 | 441 | interrupts = <FIXME>; |
529 | 442 | reg = <0x0 0x118a0000 0x0 0x10000>; |
530 | | - clocks = <&spiclk>; |
| 443 | + clocks = <&clkgen JH7100_CLK_SPI>; |
531 | 444 | status = "disabled"; |
532 | 445 | }; |
533 | 446 | */ |
|
538 | 451 | #size-cells = <0>; |
539 | 452 | interrupts = <70>; |
540 | 453 | reg = <0x0 0x12410000 0x0 0x10000>; |
541 | | - clocks = <&spiclk>; |
| 454 | + clocks = <&clkgen JH7100_CLK_SPI>; |
542 | 455 | status = "disabled"; |
543 | 456 | }; |
544 | 457 |
|
|
548 | 461 | <0x10 0x72000000 0x0 0x00001000>, |
549 | 462 | <0x10 0x72001000 0x0 0x00fff000>, |
550 | 463 | <0x0 0x124b0000 0x0 0x00010000>; |
551 | | - clocks = <&hfclk>; |
| 464 | + clocks = <&clkgen JH7100_CLK_HF>; |
552 | 465 | firmware-name = "vp6_elf"; |
553 | 466 | dsp-irq = <19 20>; |
554 | 467 | dsp-irq-src = <0x20 0x21>; |
|
567 | 480 | compatible = "snps,dw-mshc"; |
568 | 481 | reg = <0x0 0x10000000 0x0 0x10000>; |
569 | 482 | interrupts = <4>; |
570 | | - clocks = <&dwmmc_biuclk>; |
| 483 | + clocks = <&clkgen JH7100_CLK_DWMMC_BIU>; |
571 | 484 | clock-names = "biu"; |
572 | 485 | clock-frequency = <100000000>; |
573 | 486 | data-addr = <0>; |
|
580 | 493 | compatible = "snps,dw-mshc"; |
581 | 494 | reg = <0x0 0x10010000 0x0 0x10000>; |
582 | 495 | interrupts = <5>; |
583 | | - clocks = <&dwmmc_biuclk>; |
| 496 | + clocks = <&clkgen JH7100_CLK_DWMMC_BIU>; |
584 | 497 | clock-names = "biu"; |
585 | 498 | clock-frequency = <100000000>; |
586 | 499 | data-addr = <0>; |
|
603 | 516 | <0x0 0x12260000 0x0 0x10000>; |
604 | 517 | reg-names = "lcdc", "dsitx", "vpp0", "vpp1", "vpp2", "clk", "rst", "sys"; |
605 | 518 | memory-region = <&sffb_reserved>; |
606 | | - clocks = <&uartclk>, <&apb2clk>; |
| 519 | + clocks = <&clkgen JH7100_CLK_UART>, |
| 520 | + <&clkgen JH7100_CLK_APB2>; |
607 | 521 | clock-names = "baudclk", "apb_pclk"; |
608 | 522 | status = "okay"; |
609 | 523 | ddr-format = <WIN_FMT_RGB565>;/*LCDC win_format*/ |
|
0 commit comments