Lines Matching +full:cdns +full:- +full:pcie +full:- +full:host

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>
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>;
31 riscv,isa-base = "rv64i";
32 riscv,isa-extensions = "i", "m", "a", "c", "zba", "zbb", "zicntr", "zicsr",
36 cpu0_intc: interrupt-controller {
37 compatible = "riscv,cpu-intc";
38 interrupt-controller;
39 #interrupt-cells = <1>;
44 compatible = "sifive,u74-mc", "riscv";
46 d-cache-block-size = <64>;
47 d-cache-sets = <64>;
48 d-cache-size = <32768>;
49 d-tlb-sets = <1>;
50 d-tlb-size = <40>;
52 i-cache-block-size = <64>;
53 i-cache-sets = <64>;
54 i-cache-size = <32768>;
55 i-tlb-sets = <1>;
56 i-tlb-size = <40>;
57 mmu-type = "riscv,sv39";
58 next-level-cache = <&ccache>;
60 riscv,isa-base = "rv64i";
61 riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr",
63 tlb-split;
64 operating-points-v2 = <&cpu_opp>;
66 clock-names = "cpu";
67 #cooling-cells = <2>;
69 cpu1_intc: interrupt-controller {
70 compatible = "riscv,cpu-intc";
71 interrupt-controller;
72 #interrupt-cells = <1>;
77 compatible = "sifive,u74-mc", "riscv";
79 d-cache-block-size = <64>;
80 d-cache-sets = <64>;
81 d-cache-size = <32768>;
82 d-tlb-sets = <1>;
83 d-tlb-size = <40>;
85 i-cache-block-size = <64>;
86 i-cache-sets = <64>;
87 i-cache-size = <32768>;
88 i-tlb-sets = <1>;
89 i-tlb-size = <40>;
90 mmu-type = "riscv,sv39";
91 next-level-cache = <&ccache>;
93 riscv,isa-base = "rv64i";
94 riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr",
96 tlb-split;
97 operating-points-v2 = <&cpu_opp>;
99 clock-names = "cpu";
100 #cooling-cells = <2>;
102 cpu2_intc: interrupt-controller {
103 compatible = "riscv,cpu-intc";
104 interrupt-controller;
105 #interrupt-cells = <1>;
110 compatible = "sifive,u74-mc", "riscv";
112 d-cache-block-size = <64>;
113 d-cache-sets = <64>;
114 d-cache-size = <32768>;
115 d-tlb-sets = <1>;
116 d-tlb-size = <40>;
118 i-cache-block-size = <64>;
119 i-cache-sets = <64>;
120 i-cache-size = <32768>;
121 i-tlb-sets = <1>;
122 i-tlb-size = <40>;
123 mmu-type = "riscv,sv39";
124 next-level-cache = <&ccache>;
126 riscv,isa-base = "rv64i";
127 riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr",
129 tlb-split;
130 operating-points-v2 = <&cpu_opp>;
132 clock-names = "cpu";
133 #cooling-cells = <2>;
135 cpu3_intc: interrupt-controller {
136 compatible = "riscv,cpu-intc";
137 interrupt-controller;
138 #interrupt-cells = <1>;
143 compatible = "sifive,u74-mc", "riscv";
145 d-cache-block-size = <64>;
146 d-cache-sets = <64>;
147 d-cache-size = <32768>;
148 d-tlb-sets = <1>;
149 d-tlb-size = <40>;
151 i-cache-block-size = <64>;
152 i-cache-sets = <64>;
153 i-cache-size = <32768>;
154 i-tlb-sets = <1>;
155 i-tlb-size = <40>;
156 mmu-type = "riscv,sv39";
157 next-level-cache = <&ccache>;
159 riscv,isa-base = "rv64i";
160 riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr",
162 tlb-split;
163 operating-points-v2 = <&cpu_opp>;
165 clock-names = "cpu";
166 #cooling-cells = <2>;
168 cpu4_intc: interrupt-controller {
169 compatible = "riscv,cpu-intc";
170 interrupt-controller;
171 #interrupt-cells = <1>;
175 cpu-map {
200 cpu_opp: opp-table-0 {
201 compatible = "operating-points-v2";
202 opp-shared;
203 opp-375000000 {
204 opp-hz = /bits/ 64 <375000000>;
205 opp-microvolt = <800000>;
207 opp-500000000 {
208 opp-hz = /bits/ 64 <500000000>;
209 opp-microvolt = <800000>;
211 opp-750000000 {
212 opp-hz = /bits/ 64 <750000000>;
213 opp-microvolt = <800000>;
215 opp-1500000000 {
216 opp-hz = /bits/ 64 <1500000000>;
217 opp-microvolt = <1040000>;
221 thermal-zones {
222 cpu-thermal {
223 polling-delay-passive = <250>;
224 polling-delay = <15000>;
226 thermal-sensors = <&sfctemp>;
228 cooling-maps {
231 cooling-device =
240 cpu_alert0: cpu-alert0 {
247 cpu-crit {
257 dvp_clk: dvp-clock {
258 compatible = "fixed-clock";
259 clock-output-names = "dvp_clk";
260 #clock-cells = <0>;
262 gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock {
263 compatible = "fixed-clock";
264 clock-output-names = "gmac0_rgmii_rxin";
265 #clock-cells = <0>;
268 gmac0_rmii_refin: gmac0-rmii-refin-clock {
269 compatible = "fixed-clock";
270 clock-output-names = "gmac0_rmii_refin";
271 #clock-cells = <0>;
274 gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock {
275 compatible = "fixed-clock";
276 clock-output-names = "gmac1_rgmii_rxin";
277 #clock-cells = <0>;
280 gmac1_rmii_refin: gmac1-rmii-refin-clock {
281 compatible = "fixed-clock";
282 clock-output-names = "gmac1_rmii_refin";
283 #clock-cells = <0>;
286 hdmitx0_pixelclk: hdmitx0-pixel-clock {
287 compatible = "fixed-clock";
288 clock-output-names = "hdmitx0_pixelclk";
289 #clock-cells = <0>;
292 i2srx_bclk_ext: i2srx-bclk-ext-clock {
293 compatible = "fixed-clock";
294 clock-output-names = "i2srx_bclk_ext";
295 #clock-cells = <0>;
298 i2srx_lrck_ext: i2srx-lrck-ext-clock {
299 compatible = "fixed-clock";
300 clock-output-names = "i2srx_lrck_ext";
301 #clock-cells = <0>;
304 i2stx_bclk_ext: i2stx-bclk-ext-clock {
305 compatible = "fixed-clock";
306 clock-output-names = "i2stx_bclk_ext";
307 #clock-cells = <0>;
310 i2stx_lrck_ext: i2stx-lrck-ext-clock {
311 compatible = "fixed-clock";
312 clock-output-names = "i2stx_lrck_ext";
313 #clock-cells = <0>;
316 mclk_ext: mclk-ext-clock {
317 compatible = "fixed-clock";
318 clock-output-names = "mclk_ext";
319 #clock-cells = <0>;
323 compatible = "fixed-clock";
324 clock-output-names = "osc";
325 #clock-cells = <0>;
328 rtc_osc: rtc-oscillator {
329 compatible = "fixed-clock";
330 clock-output-names = "rtc_osc";
331 #clock-cells = <0>;
334 stmmac_axi_setup: stmmac-axi-config {
341 tdm_ext: tdm-ext-clock {
342 compatible = "fixed-clock";
343 clock-output-names = "tdm_ext";
344 #clock-cells = <0>;
348 compatible = "simple-bus";
349 interrupt-parent = <&plic>;
350 #address-cells = <2>;
351 #size-cells = <2>;
355 compatible = "starfive,jh7110-clint", "sifive,clint0";
357 interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
364 ccache: cache-controller@2010000 {
365 compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache";
368 cache-block-size = <64>;
369 cache-level = <2>;
370 cache-sets = <2048>;
371 cache-size = <2097152>;
372 cache-unified;
375 plic: interrupt-controller@c000000 {
376 compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0";
378 interrupts-extended = <&cpu0_intc 11>,
383 interrupt-controller;
384 #interrupt-cells = <1>;
385 #address-cells = <0>;
390 compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
394 clock-names = "baudclk", "apb_pclk";
398 reg-io-width = <4>;
399 reg-shift = <2>;
404 compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
408 clock-names = "baudclk", "apb_pclk";
412 reg-io-width = <4>;
413 reg-shift = <2>;
418 compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
422 clock-names = "baudclk", "apb_pclk";
426 reg-io-width = <4>;
427 reg-shift = <2>;
432 compatible = "snps,designware-i2c";
435 clock-names = "ref";
438 #address-cells = <1>;
439 #size-cells = <0>;
444 compatible = "snps,designware-i2c";
447 clock-names = "ref";
450 #address-cells = <1>;
451 #size-cells = <0>;
456 compatible = "snps,designware-i2c";
459 clock-names = "ref";
462 #address-cells = <1>;
463 #size-cells = <0>;
472 clock-names = "sspclk", "apb_pclk";
475 arm,primecell-periphid = <0x00041022>;
476 num-cs = <1>;
477 #address-cells = <1>;
478 #size-cells = <0>;
487 clock-names = "sspclk", "apb_pclk";
490 arm,primecell-periphid = <0x00041022>;
491 num-cs = <1>;
492 #address-cells = <1>;
493 #size-cells = <0>;
502 clock-names = "sspclk", "apb_pclk";
505 arm,primecell-periphid = <0x00041022>;
506 num-cs = <1>;
507 #address-cells = <1>;
508 #size-cells = <0>;
513 compatible = "starfive,jh7110-tdm";
521 clock-names = "tdm_ahb", "tdm_apb",
528 dma-names = "rx","tx";
529 #sound-dai-cells = <0>;
534 compatible = "starfive,jh7110-i2srx";
545 clock-names = "i2sclk", "apb", "mclk",
551 dma-names = "tx", "rx";
553 #sound-dai-cells = <0>;
558 compatible = "starfive,jh7110-pwmdac";
562 clock-names = "apb", "core";
565 dma-names = "tx";
566 #sound-dai-cells = <0>;
571 compatible = "starfive,jh7110-usb";
573 #address-cells = <1>;
574 #size-cells = <1>;
575 starfive,stg-syscon = <&stg_syscon 0x4>;
581 clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
586 reset-names = "pwrup", "apb", "axi", "utmi_apb";
590 compatible = "cdns,usb3";
594 reg-names = "otg", "xhci", "dev";
596 interrupt-names = "host", "peripheral", "otg";
598 phy-names = "cdns3,usb2-phy";
603 compatible = "starfive,jh7110-usb-phy";
607 clock-names = "125m", "app_125m";
608 #phy-cells = <0>;
612 compatible = "starfive,jh7110-pcie-phy";
614 #phy-cells = <0>;
618 compatible = "starfive,jh7110-pcie-phy";
620 #phy-cells = <0>;
623 stgcrg: clock-controller@10230000 {
624 compatible = "starfive,jh7110-stgcrg";
634 clock-names = "osc", "hifi4_core",
638 #clock-cells = <1>;
639 #reset-cells = <1>;
643 compatible = "starfive,jh7110-stg-syscon", "syscon";
648 compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
652 clock-names = "baudclk", "apb_pclk";
656 reg-io-width = <4>;
657 reg-shift = <2>;
662 compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
666 clock-names = "baudclk", "apb_pclk";
670 reg-io-width = <4>;
671 reg-shift = <2>;
676 compatible = "starfive,jh7110-uart", "snps,dw-apb-uart";
680 clock-names = "baudclk", "apb_pclk";
684 reg-io-width = <4>;
685 reg-shift = <2>;
690 compatible = "snps,designware-i2c";
693 clock-names = "ref";
696 #address-cells = <1>;
697 #size-cells = <0>;
702 compatible = "snps,designware-i2c";
705 clock-names = "ref";
708 #address-cells = <1>;
709 #size-cells = <0>;
714 compatible = "snps,designware-i2c";
717 clock-names = "ref";
720 #address-cells = <1>;
721 #size-cells = <0>;
726 compatible = "snps,designware-i2c";
729 clock-names = "ref";
732 #address-cells = <1>;
733 #size-cells = <0>;
742 clock-names = "sspclk", "apb_pclk";
745 arm,primecell-periphid = <0x00041022>;
746 num-cs = <1>;
747 #address-cells = <1>;
748 #size-cells = <0>;
757 clock-names = "sspclk", "apb_pclk";
760 arm,primecell-periphid = <0x00041022>;
761 num-cs = <1>;
762 #address-cells = <1>;
763 #size-cells = <0>;
772 clock-names = "sspclk", "apb_pclk";
775 arm,primecell-periphid = <0x00041022>;
776 num-cs = <1>;
777 #address-cells = <1>;
778 #size-cells = <0>;
787 clock-names = "sspclk", "apb_pclk";
790 arm,primecell-periphid = <0x00041022>;
791 num-cs = <1>;
792 #address-cells = <1>;
793 #size-cells = <0>;
798 compatible = "starfive,jh7110-i2stx0";
805 clock-names = "i2sclk", "apb", "mclk",
810 dma-names = "tx";
811 #sound-dai-cells = <0>;
816 compatible = "starfive,jh7110-i2stx1";
827 clock-names = "i2sclk", "apb", "mclk",
833 dma-names = "tx";
834 #sound-dai-cells = <0>;
839 compatible = "starfive,jh7110-pwm", "opencores,pwm-v1";
843 #pwm-cells = <3>;
847 sfctemp: temperature-sensor@120e0000 {
848 compatible = "starfive,jh7110-temp";
852 clock-names = "sense", "bus";
855 reset-names = "sense", "bus";
856 #thermal-sensor-cells = <0>;
860 compatible = "starfive,jh7110-qspi", "cdns,qspi-nor";
867 clock-names = "ref", "ahb", "apb";
871 reset-names = "qspi", "qspi-ocp", "rstc_ref";
872 cdns,fifo-depth = <256>;
873 cdns,fifo-width = <4>;
874 cdns,trigger-address = <0x0>;
878 syscrg: clock-controller@13020000 {
879 compatible = "starfive,jh7110-syscrg";
889 clock-names = "osc", "gmac1_rmii_refin",
895 #clock-cells = <1>;
896 #reset-cells = <1>;
900 compatible = "starfive,jh7110-sys-syscon", "syscon", "simple-mfd";
903 pllclk: clock-controller {
904 compatible = "starfive,jh7110-pll";
906 #clock-cells = <1>;
911 compatible = "starfive,jh7110-sys-pinctrl";
916 interrupt-controller;
917 #interrupt-cells = <2>;
918 gpio-controller;
919 #gpio-cells = <2>;
923 compatible = "starfive,jh7110-wdt";
927 clock-names = "apb", "core";
933 compatible = "starfive,jh7110-crypto";
937 clock-names = "hclk", "ahb";
941 dma-names = "tx", "rx";
944 sdma: dma-controller@16008000 {
946 arm,primecell-periphid = <0x00041080>;
950 clock-names = "apb_pclk";
952 lli-bus-interface-ahb1;
953 mem-bus-interface-ahb1;
954 memcpy-burst-size = <256>;
955 memcpy-bus-width = <32>;
956 #dma-cells = <2>;
960 compatible = "starfive,jh7110-trng";
964 clock-names = "hclk", "ahb";
970 compatible = "starfive,jh7110-mmc";
974 clock-names = "biu","ciu";
976 reset-names = "reset";
978 fifo-depth = <32>;
979 fifo-watermark-aligned;
980 data-addr = <0>;
986 compatible = "starfive,jh7110-mmc";
990 clock-names = "biu","ciu";
992 reset-names = "reset";
994 fifo-depth = <32>;
995 fifo-watermark-aligned;
996 data-addr = <0>;
1002 compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
1009 clock-names = "stmmaceth", "pclk", "ptp_ref",
1013 reset-names = "stmmaceth", "ahb";
1015 interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
1016 rx-fifo-depth = <2048>;
1017 tx-fifo-depth = <2048>;
1018 snps,multicast-filter-bins = <64>;
1019 snps,perfect-filter-entries = <256>;
1020 snps,fixed-burst;
1021 snps,no-pbl-x8;
1023 snps,axi-config = <&stmmac_axi_setup>;
1025 snps,en-tx-lpi-clockgating;
1033 compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20";
1040 clock-names = "stmmaceth", "pclk", "ptp_ref",
1044 reset-names = "stmmaceth", "ahb";
1046 interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
1047 rx-fifo-depth = <2048>;
1048 tx-fifo-depth = <2048>;
1049 snps,multicast-filter-bins = <64>;
1050 snps,perfect-filter-entries = <256>;
1051 snps,fixed-burst;
1052 snps,no-pbl-x8;
1054 snps,axi-config = <&stmmac_axi_setup>;
1056 snps,en-tx-lpi-clockgating;
1063 dma: dma-controller@16050000 {
1064 compatible = "starfive,jh7110-axi-dma";
1068 clock-names = "core-clk", "cfgr-clk";
1072 #dma-cells = <1>;
1073 dma-channels = <4>;
1074 snps,dma-masters = <1>;
1075 snps,data-width = <3>;
1076 snps,block-size = <65536 65536 65536 65536>;
1078 snps,axi-max-burst-len = <16>;
1081 aoncrg: clock-controller@17000000 {
1082 compatible = "starfive,jh7110-aoncrg";
1090 clock-names = "osc", "gmac0_rmii_refin",
1094 #clock-cells = <1>;
1095 #reset-cells = <1>;
1099 compatible = "starfive,jh7110-aon-syscon", "syscon";
1101 #power-domain-cells = <1>;
1105 compatible = "starfive,jh7110-aon-pinctrl";
1109 interrupt-controller;
1110 #interrupt-cells = <2>;
1111 gpio-controller;
1112 #gpio-cells = <2>;
1115 pwrc: power-controller@17030000 {
1116 compatible = "starfive,jh7110-pmu";
1119 #power-domain-cells = <1>;
1123 compatible = "starfive,jh7110-csi2rx", "cdns,csi2rx";
1131 clock-names = "sys_clk", "p_clk",
1140 reset-names = "sys", "reg_bank",
1144 phy-names = "dphy";
1148 ispcrg: clock-controller@19810000 {
1149 compatible = "starfive,jh7110-ispcrg";
1155 clock-names = "isp_top_core", "isp_top_axi",
1160 #clock-cells = <1>;
1161 #reset-cells = <1>;
1162 power-domains = <&pwrc JH7110_PD_ISP>;
1166 compatible = "starfive,jh7110-dphy-rx";
1171 clock-names = "cfg", "ref", "tx";
1174 power-domains = <&aon_syscon JH7110_AON_PD_DPHY_RX>;
1175 #phy-cells = <0>;
1179 compatible = "starfive,jh7110-camss";
1182 reg-names = "syscon", "isp";
1190 clock-names = "apb_func", "wrapper_clk_c", "dvp_inv",
1199 reset-names = "wrapper_p", "wrapper_c", "axird",
1201 power-domains = <&pwrc JH7110_PD_ISP>;
1206 voutcrg: clock-controller@295c0000 {
1207 compatible = "starfive,jh7110-voutcrg";
1215 clock-names = "vout_src", "vout_top_ahb",
1219 #clock-cells = <1>;
1220 #reset-cells = <1>;
1221 power-domains = <&pwrc JH7110_PD_VOUT>;
1224 pcie0: pcie@940000000 {
1225 compatible = "starfive,jh7110-pcie";
1228 reg-names = "cfg", "apb";
1229 linux,pci-domain = <0>;
1230 #address-cells = <3>;
1231 #size-cells = <2>;
1232 #interrupt-cells = <1>;
1236 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
1237 interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc0 0x1>,
1241 msi-controller;
1243 starfive,stg-syscon = <&stg_syscon>;
1244 bus-range = <0x0 0xff>;
1249 clock-names = "noc", "tl", "axi_mst0", "apb";
1256 reset-names = "mst0", "slv0", "slv", "brg",
1260 pcie_intc0: interrupt-controller {
1261 #address-cells = <0>;
1262 #interrupt-cells = <1>;
1263 interrupt-controller;
1267 pcie1: pcie@9c0000000 {
1268 compatible = "starfive,jh7110-pcie";
1271 reg-names = "cfg", "apb";
1272 linux,pci-domain = <1>;
1273 #address-cells = <3>;
1274 #size-cells = <2>;
1275 #interrupt-cells = <1>;
1279 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
1280 interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc1 0x1>,
1284 msi-controller;
1286 starfive,stg-syscon = <&stg_syscon>;
1287 bus-range = <0x0 0xff>;
1292 clock-names = "noc", "tl", "axi_mst0", "apb";
1299 reset-names = "mst0", "slv0", "slv", "brg",
1303 pcie_intc1: interrupt-controller {
1304 #address-cells = <0>;
1305 #interrupt-cells = <1>;
1306 interrupt-controller;