Lines Matching +full:jh7110 +full:- +full:pll
1 // SPDX-License-Identifier: GPL-2.0 OR MIT
7 /dts-v1/;
8 #include <dt-bindings/clock/starfive,jh7110-crg.h>
9 #include <dt-bindings/power/starfive,jh7110-pmu.h>
10 #include <dt-bindings/reset/starfive,jh7110-crg.h>
11 #include <dt-bindings/thermal/thermal.h>
14 compatible = "starfive,jh7110";
15 #address-cells = <2>;
16 #size-cells = <2>;
19 #address-cells = <1>;
20 #size-cells = <0>;
26 i-cache-block-size = <64>;
27 i-cache-sets = <64>;
28 i-cache-size = <16384>;
29 next-level-cache = <&ccache>;
33 cpu0_intc: interrupt-controller {
34 compatible = "riscv,cpu-intc";
35 interrupt-controller;
36 #interrupt-cells = <1>;
41 compatible = "sifive,u74-mc", "riscv";
43 d-cache-block-size = <64>;
44 d-cache-sets = <64>;
45 d-cache-size = <32768>;
46 d-tlb-sets = <1>;
47 d-tlb-size = <40>;
49 i-cache-block-size = <64>;
50 i-cache-sets = <64>;
51 i-cache-size = <32768>;
52 i-tlb-sets = <1>;
53 i-tlb-size = <40>;
54 mmu-type = "riscv,sv39";
55 next-level-cache = <&ccache>;
57 tlb-split;
58 operating-points-v2 = <&cpu_opp>;
60 clock-names = "cpu";
61 #cooling-cells = <2>;
63 cpu1_intc: interrupt-controller {
64 compatible = "riscv,cpu-intc";
65 interrupt-controller;
66 #interrupt-cells = <1>;
71 compatible = "sifive,u74-mc", "riscv";
73 d-cache-block-size = <64>;
74 d-cache-sets = <64>;
75 d-cache-size = <32768>;
76 d-tlb-sets = <1>;
77 d-tlb-size = <40>;
79 i-cache-block-size = <64>;
80 i-cache-sets = <64>;
81 i-cache-size = <32768>;
82 i-tlb-sets = <1>;
83 i-tlb-size = <40>;
84 mmu-type = "riscv,sv39";
85 next-level-cache = <&ccache>;
87 tlb-split;
88 operating-points-v2 = <&cpu_opp>;
90 clock-names = "cpu";
91 #cooling-cells = <2>;
93 cpu2_intc: interrupt-controller {
94 compatible = "riscv,cpu-intc";
95 interrupt-controller;
96 #interrupt-cells = <1>;
101 compatible = "sifive,u74-mc", "riscv";
103 d-cache-block-size = <64>;
104 d-cache-sets = <64>;
105 d-cache-size = <32768>;
106 d-tlb-sets = <1>;
107 d-tlb-size = <40>;
109 i-cache-block-size = <64>;
110 i-cache-sets = <64>;
111 i-cache-size = <32768>;
112 i-tlb-sets = <1>;
113 i-tlb-size = <40>;
114 mmu-type = "riscv,sv39";
115 next-level-cache = <&ccache>;
117 tlb-split;
118 operating-points-v2 = <&cpu_opp>;
120 clock-names = "cpu";
121 #cooling-cells = <2>;
123 cpu3_intc: interrupt-controller {
124 compatible = "riscv,cpu-intc";
125 interrupt-controller;
126 #interrupt-cells = <1>;
131 compatible = "sifive,u74-mc", "riscv";
133 d-cache-block-size = <64>;
134 d-cache-sets = <64>;
135 d-cache-size = <32768>;
136 d-tlb-sets = <1>;
137 d-tlb-size = <40>;
139 i-cache-block-size = <64>;
140 i-cache-sets = <64>;
141 i-cache-size = <32768>;
142 i-tlb-sets = <1>;
143 i-tlb-size = <40>;
144 mmu-type = "riscv,sv39";
145 next-level-cache = <&ccache>;
147 tlb-split;
148 operating-points-v2 = <&cpu_opp>;
150 clock-names = "cpu";
151 #cooling-cells = <2>;
153 cpu4_intc: interrupt-controller {
154 compatible = "riscv,cpu-intc";
155 interrupt-controller;
156 #interrupt-cells = <1>;
160 cpu-map {
185 cpu_opp: opp-table-0 {
186 compatible = "operating-points-v2";
187 opp-shared;
188 opp-375000000 {
189 opp-hz = /bits/ 64 <375000000>;
190 opp-microvolt = <800000>;
192 opp-500000000 {
193 opp-hz = /bits/ 64 <500000000>;
194 opp-microvolt = <800000>;
196 opp-750000000 {
197 opp-hz = /bits/ 64 <750000000>;
198 opp-microvolt = <800000>;
200 opp-1500000000 {
201 opp-hz = /bits/ 64 <1500000000>;
202 opp-microvolt = <1040000>;
206 thermal-zones {
207 cpu-thermal {
208 polling-delay-passive = <250>;
209 polling-delay = <15000>;
211 thermal-sensors = <&sfctemp>;
213 cooling-maps {
216 cooling-device =
242 dvp_clk: dvp-clock {
243 compatible = "fixed-clock";
244 clock-output-names = "dvp_clk";
245 #clock-cells = <0>;
247 gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock {
248 compatible = "fixed-clock";
249 clock-output-names = "gmac0_rgmii_rxin";
250 #clock-cells = <0>;
253 gmac0_rmii_refin: gmac0-rmii-refin-clock {
254 compatible = "fixed-clock";
255 clock-output-names = "gmac0_rmii_refin";
256 #clock-cells = <0>;
259 gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock {
260 compatible = "fixed-clock";
261 clock-output-names = "gmac1_rgmii_rxin";
262 #clock-cells = <0>;
265 gmac1_rmii_refin: gmac1-rmii-refin-clock {
266 compatible = "fixed-clock";
267 clock-output-names = "gmac1_rmii_refin";
268 #clock-cells = <0>;
271 hdmitx0_pixelclk: hdmitx0-pixel-clock {
272 compatible = "fixed-clock";
273 clock-output-names = "hdmitx0_pixelclk";
274 #clock-cells = <0>;
277 i2srx_bclk_ext: i2srx-bclk-ext-clock {
278 compatible = "fixed-clock";
279 clock-output-names = "i2srx_bclk_ext";
280 #clock-cells = <0>;
283 i2srx_lrck_ext: i2srx-lrck-ext-clock {
284 compatible = "fixed-clock";
285 clock-output-names = "i2srx_lrck_ext";
286 #clock-cells = <0>;
289 i2stx_bclk_ext: i2stx-bclk-ext-clock {
290 compatible = "fixed-clock";
291 clock-output-names = "i2stx_bclk_ext";
292 #clock-cells = <0>;
295 i2stx_lrck_ext: i2stx-lrck-ext-clock {
296 compatible = "fixed-clock";
297 clock-output-names = "i2stx_lrck_ext";
298 #clock-cells = <0>;
301 mclk_ext: mclk-ext-clock {
302 compatible = "fixed-clock";
303 clock-output-names = "mclk_ext";
304 #clock-cells = <0>;
308 compatible = "fixed-clock";
309 clock-output-names = "osc";
310 #clock-cells = <0>;
313 rtc_osc: rtc-oscillator {
314 compatible = "fixed-clock";
315 clock-output-names = "rtc_osc";
316 #clock-cells = <0>;
319 stmmac_axi_setup: stmmac-axi-config {
326 tdm_ext: tdm-ext-clock {
327 compatible = "fixed-clock";
328 clock-output-names = "tdm_ext";
329 #clock-cells = <0>;
333 compatible = "simple-bus";
334 interrupt-parent = <&plic>;
335 #address-cells = <2>;
336 #size-cells = <2>;
340 compatible = "starfive,jh7110-clint", "sifive,clint0";
342 interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
349 ccache: cache-controller@2010000 {
350 compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache";
353 cache-block-size = <64>;
354 cache-level = <2>;
355 cache-sets = <2048>;
356 cache-size = <2097152>;
357 cache-unified;
360 plic: interrupt-controller@c000000 {
361 compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0";
363 interrupts-extended = <&cpu0_intc 11>,
368 interrupt-controller;
369 #interrupt-cells = <1>;
370 #address-cells = <0>;
375 compatible = "snps,dw-apb-uart";
379 clock-names = "baudclk", "apb_pclk";
382 reg-io-width = <4>;
383 reg-shift = <2>;
388 compatible = "snps,dw-apb-uart";
392 clock-names = "baudclk", "apb_pclk";
395 reg-io-width = <4>;
396 reg-shift = <2>;
401 compatible = "snps,dw-apb-uart";
405 clock-names = "baudclk", "apb_pclk";
408 reg-io-width = <4>;
409 reg-shift = <2>;
414 compatible = "snps,designware-i2c";
417 clock-names = "ref";
420 #address-cells = <1>;
421 #size-cells = <0>;
426 compatible = "snps,designware-i2c";
429 clock-names = "ref";
432 #address-cells = <1>;
433 #size-cells = <0>;
438 compatible = "snps,designware-i2c";
441 clock-names = "ref";
444 #address-cells = <1>;
445 #size-cells = <0>;
454 clock-names = "sspclk", "apb_pclk";
457 arm,primecell-periphid = <0x00041022>;
458 num-cs = <1>;
459 #address-cells = <1>;
460 #size-cells = <0>;
469 clock-names = "sspclk", "apb_pclk";
472 arm,primecell-periphid = <0x00041022>;
473 num-cs = <1>;
474 #address-cells = <1>;
475 #size-cells = <0>;
484 clock-names = "sspclk", "apb_pclk";
487 arm,primecell-periphid = <0x00041022>;
488 num-cs = <1>;
489 #address-cells = <1>;
490 #size-cells = <0>;
495 compatible = "starfive,jh7110-tdm";
503 clock-names = "tdm_ahb", "tdm_apb",
510 dma-names = "rx","tx";
511 #sound-dai-cells = <0>;
516 compatible = "starfive,jh7110-usb";
518 #address-cells = <1>;
519 #size-cells = <1>;
520 starfive,stg-syscon = <&stg_syscon 0x4>;
526 clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
531 reset-names = "pwrup", "apb", "axi", "utmi_apb";
539 reg-names = "otg", "xhci", "dev";
541 interrupt-names = "host", "peripheral", "otg";
543 phy-names = "cdns3,usb2-phy";
548 compatible = "starfive,jh7110-usb-phy";
552 clock-names = "125m", "app_125m";
553 #phy-cells = <0>;
557 compatible = "starfive,jh7110-pcie-phy";
559 #phy-cells = <0>;
563 compatible = "starfive,jh7110-pcie-phy";
565 #phy-cells = <0>;
568 stgcrg: clock-controller@10230000 {
569 compatible = "starfive,jh7110-stgcrg";
579 clock-names = "osc", "hifi4_core",
583 #clock-cells = <1>;
584 #reset-cells = <1>;
588 compatible = "starfive,jh7110-stg-syscon", "syscon";
593 compatible = "snps,dw-apb-uart";
597 clock-names = "baudclk", "apb_pclk";
600 reg-io-width = <4>;
601 reg-shift = <2>;
606 compatible = "snps,dw-apb-uart";
610 clock-names = "baudclk", "apb_pclk";
613 reg-io-width = <4>;
614 reg-shift = <2>;
619 compatible = "snps,dw-apb-uart";
623 clock-names = "baudclk", "apb_pclk";
626 reg-io-width = <4>;
627 reg-shift = <2>;
632 compatible = "snps,designware-i2c";
635 clock-names = "ref";
638 #address-cells = <1>;
639 #size-cells = <0>;
644 compatible = "snps,designware-i2c";
647 clock-names = "ref";
650 #address-cells = <1>;
651 #size-cells = <0>;
656 compatible = "snps,designware-i2c";
659 clock-names = "ref";
662 #address-cells = <1>;
663 #size-cells = <0>;
668 compatible = "snps,designware-i2c";
671 clock-names = "ref";
674 #address-cells = <1>;
675 #size-cells = <0>;
684 clock-names = "sspclk", "apb_pclk";
687 arm,primecell-periphid = <0x00041022>;
688 num-cs = <1>;
689 #address-cells = <1>;
690 #size-cells = <0>;
699 clock-names = "sspclk", "apb_pclk";
702 arm,primecell-periphid = <0x00041022>;
703 num-cs = <1>;
704 #address-cells = <1>;
705 #size-cells = <0>;
714 clock-names = "sspclk", "apb_pclk";
717 arm,primecell-periphid = <0x00041022>;
718 num-cs = <1>;
719 #address-cells = <1>;
720 #size-cells = <0>;
729 clock-names = "sspclk", "apb_pclk";
732 arm,primecell-periphid = <0x00041022>;
733 num-cs = <1>;
734 #address-cells = <1>;
735 #size-cells = <0>;
739 sfctemp: temperature-sensor@120e0000 {
740 compatible = "starfive,jh7110-temp";
744 clock-names = "sense", "bus";
747 reset-names = "sense", "bus";
748 #thermal-sensor-cells = <0>;
752 compatible = "starfive,jh7110-qspi", "cdns,qspi-nor";
759 clock-names = "ref", "ahb", "apb";
763 reset-names = "qspi", "qspi-ocp", "rstc_ref";
764 cdns,fifo-depth = <256>;
765 cdns,fifo-width = <4>;
766 cdns,trigger-address = <0x0>;
770 syscrg: clock-controller@13020000 {
771 compatible = "starfive,jh7110-syscrg";
781 clock-names = "osc", "gmac1_rmii_refin",
787 #clock-cells = <1>;
788 #reset-cells = <1>;
792 compatible = "starfive,jh7110-sys-syscon", "syscon", "simple-mfd";
795 pllclk: clock-controller {
796 compatible = "starfive,jh7110-pll";
798 #clock-cells = <1>;
803 compatible = "starfive,jh7110-sys-pinctrl";
808 interrupt-controller;
809 #interrupt-cells = <2>;
810 gpio-controller;
811 #gpio-cells = <2>;
815 compatible = "starfive,jh7110-wdt";
819 clock-names = "apb", "core";
825 compatible = "starfive,jh7110-crypto";
829 clock-names = "hclk", "ahb";
833 dma-names = "tx", "rx";
836 sdma: dma-controller@16008000 {
838 arm,primecell-periphid = <0x00041080>;
842 clock-names = "apb_pclk";
844 lli-bus-interface-ahb1;
845 mem-bus-interface-ahb1;
846 memcpy-burst-size = <256>;
847 memcpy-bus-width = <32>;
848 #dma-cells = <2>;
852 compatible = "starfive,jh7110-trng";
856 clock-names = "hclk", "ahb";
862 compatible = "starfive,jh7110-mmc";
866 clock-names = "biu","ciu";
868 reset-names = "reset";
870 fifo-depth = <32>;
871 fifo-watermark-aligned;
872 data-addr = <0>;
878 compatible = "starfive,jh7110-mmc";
882 clock-names = "biu","ciu";
884 reset-names = "reset";
886 fifo-depth = <32>;
887 fifo-watermark-aligned;
888 data-addr = <0>;
894 compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
901 clock-names = "stmmaceth", "pclk", "ptp_ref",
905 reset-names = "stmmaceth", "ahb";
907 interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
908 rx-fifo-depth = <2048>;
909 tx-fifo-depth = <2048>;
910 snps,multicast-filter-bins = <64>;
911 snps,perfect-filter-entries = <256>;
912 snps,fixed-burst;
913 snps,no-pbl-x8;
915 snps,axi-config = <&stmmac_axi_setup>;
917 snps,en-tx-lpi-clockgating;
925 compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
932 clock-names = "stmmaceth", "pclk", "ptp_ref",
936 reset-names = "stmmaceth", "ahb";
938 interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
939 rx-fifo-depth = <2048>;
940 tx-fifo-depth = <2048>;
941 snps,multicast-filter-bins = <64>;
942 snps,perfect-filter-entries = <256>;
943 snps,fixed-burst;
944 snps,no-pbl-x8;
946 snps,axi-config = <&stmmac_axi_setup>;
948 snps,en-tx-lpi-clockgating;
955 dma: dma-controller@16050000 {
956 compatible = "starfive,jh7110-axi-dma";
960 clock-names = "core-clk", "cfgr-clk";
964 #dma-cells = <1>;
965 dma-channels = <4>;
966 snps,dma-masters = <1>;
967 snps,data-width = <3>;
968 snps,block-size = <65536 65536 65536 65536>;
970 snps,axi-max-burst-len = <16>;
973 aoncrg: clock-controller@17000000 {
974 compatible = "starfive,jh7110-aoncrg";
982 clock-names = "osc", "gmac0_rmii_refin",
986 #clock-cells = <1>;
987 #reset-cells = <1>;
991 compatible = "starfive,jh7110-aon-syscon", "syscon";
993 #power-domain-cells = <1>;
997 compatible = "starfive,jh7110-aon-pinctrl";
1001 interrupt-controller;
1002 #interrupt-cells = <2>;
1003 gpio-controller;
1004 #gpio-cells = <2>;
1007 pwrc: power-controller@17030000 {
1008 compatible = "starfive,jh7110-pmu";
1011 #power-domain-cells = <1>;
1014 ispcrg: clock-controller@19810000 {
1015 compatible = "starfive,jh7110-ispcrg";
1021 clock-names = "isp_top_core", "isp_top_axi",
1026 #clock-cells = <1>;
1027 #reset-cells = <1>;
1028 power-domains = <&pwrc JH7110_PD_ISP>;
1031 voutcrg: clock-controller@295c0000 {
1032 compatible = "starfive,jh7110-voutcrg";
1040 clock-names = "vout_src", "vout_top_ahb",
1044 #clock-cells = <1>;
1045 #reset-cells = <1>;
1046 power-domains = <&pwrc JH7110_PD_VOUT>;