xref: /freebsd/sys/contrib/device-tree/src/riscv/spacemit/k3.dtsi (revision 69ed3df4f588860308677cda76cbcce1f19a54c9)
10cd4430aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
20cd4430aSEmmanuel Vadot/*
30cd4430aSEmmanuel Vadot * Copyright (c) 2026 SpacemiT (Hangzhou) Technology Co. Ltd
40cd4430aSEmmanuel Vadot * Copyright (c) 2026 Guodong Xu <guodong@riscstar.com>
50cd4430aSEmmanuel Vadot */
60cd4430aSEmmanuel Vadot
7*69ed3df4SEmmanuel Vadot#include <dt-bindings/clock/spacemit,k3-clocks.h>
8*69ed3df4SEmmanuel Vadot#include <dt-bindings/reset/spacemit,k3-resets.h>
90cd4430aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
100cd4430aSEmmanuel Vadot
110cd4430aSEmmanuel Vadot/dts-v1/;
120cd4430aSEmmanuel Vadot
130cd4430aSEmmanuel Vadot/ {
140cd4430aSEmmanuel Vadot	#address-cells = <2>;
150cd4430aSEmmanuel Vadot	#size-cells = <2>;
160cd4430aSEmmanuel Vadot	model = "SpacemiT K3";
170cd4430aSEmmanuel Vadot	compatible = "spacemit,k3";
180cd4430aSEmmanuel Vadot
190cd4430aSEmmanuel Vadot	cpus: cpus {
200cd4430aSEmmanuel Vadot		#address-cells = <1>;
210cd4430aSEmmanuel Vadot		#size-cells = <0>;
220cd4430aSEmmanuel Vadot		timebase-frequency = <24000000>;
230cd4430aSEmmanuel Vadot
240cd4430aSEmmanuel Vadot		cpu_0: cpu@0 {
250cd4430aSEmmanuel Vadot			compatible = "spacemit,x100", "riscv";
260cd4430aSEmmanuel Vadot			device_type = "cpu";
270cd4430aSEmmanuel Vadot			reg = <0>;
280cd4430aSEmmanuel Vadot			riscv,isa-base = "rv64i";
290cd4430aSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h",
300cd4430aSEmmanuel Vadot					       "sha", "shcounterenw", "shgatpa", "shtvala",
310cd4430aSEmmanuel Vadot					       "shvsatpa", "shvstvala", "shvstvecd", "smaia",
320cd4430aSEmmanuel Vadot					       "smstateen", "ssaia", "ssccptr", "sscofpmf",
330cd4430aSEmmanuel Vadot					       "sscounterenw", "ssnpm", "ssstateen", "sstc",
340cd4430aSEmmanuel Vadot					       "sstvala", "sstvecd", "ssu64xl", "svade",
350cd4430aSEmmanuel Vadot					       "svinval", "svnapot", "svpbmt", "za64rs",
360cd4430aSEmmanuel Vadot					       "zawrs", "zba", "zbb", "zbc", "zbs", "zca",
370cd4430aSEmmanuel Vadot					       "zcb", "zcd", "zcmop", "zfa", "zfbfmin",
380cd4430aSEmmanuel Vadot					       "zfh", "zfhmin", "zicbom", "zicbop", "zicboz",
390cd4430aSEmmanuel Vadot					       "ziccamoa", "ziccif", "zicclsm", "zicntr",
400cd4430aSEmmanuel Vadot					       "zicond", "zicsr", "zifencei", "zihintntl",
410cd4430aSEmmanuel Vadot					       "zihintpause", "zihpm", "zimop", "zkt", "zvbb",
420cd4430aSEmmanuel Vadot					       "zvbc", "zvfbfmin", "zvfbfwma", "zvfh",
430cd4430aSEmmanuel Vadot					       "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc",
440cd4430aSEmmanuel Vadot					       "zvkned", "zvkng", "zvknha", "zvknhb", "zvks",
450cd4430aSEmmanuel Vadot					       "zvksc", "zvksed", "zvksg", "zvksh", "zvkt";
460cd4430aSEmmanuel Vadot			riscv,cbom-block-size = <64>;
470cd4430aSEmmanuel Vadot			riscv,cbop-block-size = <64>;
480cd4430aSEmmanuel Vadot			riscv,cboz-block-size = <64>;
490cd4430aSEmmanuel Vadot			i-cache-block-size = <64>;
500cd4430aSEmmanuel Vadot			i-cache-size = <65536>;
510cd4430aSEmmanuel Vadot			i-cache-sets = <256>;
520cd4430aSEmmanuel Vadot			d-cache-block-size = <64>;
530cd4430aSEmmanuel Vadot			d-cache-size = <65536>;
540cd4430aSEmmanuel Vadot			d-cache-sets = <256>;
550cd4430aSEmmanuel Vadot			next-level-cache = <&l2_cache0>;
560cd4430aSEmmanuel Vadot			mmu-type = "riscv,sv39";
570cd4430aSEmmanuel Vadot
580cd4430aSEmmanuel Vadot			cpu0_intc: interrupt-controller {
590cd4430aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
600cd4430aSEmmanuel Vadot				#interrupt-cells = <1>;
610cd4430aSEmmanuel Vadot				interrupt-controller;
620cd4430aSEmmanuel Vadot			};
630cd4430aSEmmanuel Vadot		};
640cd4430aSEmmanuel Vadot
650cd4430aSEmmanuel Vadot		cpu_1: cpu@1 {
660cd4430aSEmmanuel Vadot			compatible = "spacemit,x100", "riscv";
670cd4430aSEmmanuel Vadot			device_type = "cpu";
680cd4430aSEmmanuel Vadot			reg = <1>;
690cd4430aSEmmanuel Vadot			riscv,isa-base = "rv64i";
700cd4430aSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h",
710cd4430aSEmmanuel Vadot					       "sha", "shcounterenw", "shgatpa", "shtvala",
720cd4430aSEmmanuel Vadot					       "shvsatpa", "shvstvala", "shvstvecd", "smaia",
730cd4430aSEmmanuel Vadot					       "smstateen", "ssaia", "ssccptr", "sscofpmf",
740cd4430aSEmmanuel Vadot					       "sscounterenw", "ssnpm", "ssstateen", "sstc",
750cd4430aSEmmanuel Vadot					       "sstvala", "sstvecd", "ssu64xl", "svade",
760cd4430aSEmmanuel Vadot					       "svinval", "svnapot", "svpbmt", "za64rs",
770cd4430aSEmmanuel Vadot					       "zawrs", "zba", "zbb", "zbc", "zbs", "zca",
780cd4430aSEmmanuel Vadot					       "zcb", "zcd", "zcmop", "zfa", "zfbfmin",
790cd4430aSEmmanuel Vadot					       "zfh", "zfhmin", "zicbom", "zicbop", "zicboz",
800cd4430aSEmmanuel Vadot					       "ziccamoa", "ziccif", "zicclsm", "zicntr",
810cd4430aSEmmanuel Vadot					       "zicond", "zicsr", "zifencei", "zihintntl",
820cd4430aSEmmanuel Vadot					       "zihintpause", "zihpm", "zimop", "zkt", "zvbb",
830cd4430aSEmmanuel Vadot					       "zvbc", "zvfbfmin", "zvfbfwma", "zvfh",
840cd4430aSEmmanuel Vadot					       "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc",
850cd4430aSEmmanuel Vadot					       "zvkned", "zvkng", "zvknha", "zvknhb", "zvks",
860cd4430aSEmmanuel Vadot					       "zvksc", "zvksed", "zvksg", "zvksh", "zvkt";
870cd4430aSEmmanuel Vadot			riscv,cbom-block-size = <64>;
880cd4430aSEmmanuel Vadot			riscv,cbop-block-size = <64>;
890cd4430aSEmmanuel Vadot			riscv,cboz-block-size = <64>;
900cd4430aSEmmanuel Vadot			i-cache-block-size = <64>;
910cd4430aSEmmanuel Vadot			i-cache-size = <65536>;
920cd4430aSEmmanuel Vadot			i-cache-sets = <256>;
930cd4430aSEmmanuel Vadot			d-cache-block-size = <64>;
940cd4430aSEmmanuel Vadot			d-cache-size = <65536>;
950cd4430aSEmmanuel Vadot			d-cache-sets = <256>;
960cd4430aSEmmanuel Vadot			next-level-cache = <&l2_cache0>;
970cd4430aSEmmanuel Vadot			mmu-type = "riscv,sv39";
980cd4430aSEmmanuel Vadot
990cd4430aSEmmanuel Vadot			cpu1_intc: interrupt-controller {
1000cd4430aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
1010cd4430aSEmmanuel Vadot				#interrupt-cells = <1>;
1020cd4430aSEmmanuel Vadot				interrupt-controller;
1030cd4430aSEmmanuel Vadot			};
1040cd4430aSEmmanuel Vadot		};
1050cd4430aSEmmanuel Vadot
1060cd4430aSEmmanuel Vadot		cpu_2: cpu@2 {
1070cd4430aSEmmanuel Vadot			compatible = "spacemit,x100", "riscv";
1080cd4430aSEmmanuel Vadot			device_type = "cpu";
1090cd4430aSEmmanuel Vadot			reg = <2>;
1100cd4430aSEmmanuel Vadot			riscv,isa-base = "rv64i";
1110cd4430aSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h",
1120cd4430aSEmmanuel Vadot					       "sha", "shcounterenw", "shgatpa", "shtvala",
1130cd4430aSEmmanuel Vadot					       "shvsatpa", "shvstvala", "shvstvecd", "smaia",
1140cd4430aSEmmanuel Vadot					       "smstateen", "ssaia", "ssccptr", "sscofpmf",
1150cd4430aSEmmanuel Vadot					       "sscounterenw", "ssnpm", "ssstateen", "sstc",
1160cd4430aSEmmanuel Vadot					       "sstvala", "sstvecd", "ssu64xl", "svade",
1170cd4430aSEmmanuel Vadot					       "svinval", "svnapot", "svpbmt", "za64rs",
1180cd4430aSEmmanuel Vadot					       "zawrs", "zba", "zbb", "zbc", "zbs", "zca",
1190cd4430aSEmmanuel Vadot					       "zcb", "zcd", "zcmop", "zfa", "zfbfmin",
1200cd4430aSEmmanuel Vadot					       "zfh", "zfhmin", "zicbom", "zicbop", "zicboz",
1210cd4430aSEmmanuel Vadot					       "ziccamoa", "ziccif", "zicclsm", "zicntr",
1220cd4430aSEmmanuel Vadot					       "zicond", "zicsr", "zifencei", "zihintntl",
1230cd4430aSEmmanuel Vadot					       "zihintpause", "zihpm", "zimop", "zkt", "zvbb",
1240cd4430aSEmmanuel Vadot					       "zvbc", "zvfbfmin", "zvfbfwma", "zvfh",
1250cd4430aSEmmanuel Vadot					       "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc",
1260cd4430aSEmmanuel Vadot					       "zvkned", "zvkng", "zvknha", "zvknhb", "zvks",
1270cd4430aSEmmanuel Vadot					       "zvksc", "zvksed", "zvksg", "zvksh", "zvkt";
1280cd4430aSEmmanuel Vadot			riscv,cbom-block-size = <64>;
1290cd4430aSEmmanuel Vadot			riscv,cbop-block-size = <64>;
1300cd4430aSEmmanuel Vadot			riscv,cboz-block-size = <64>;
1310cd4430aSEmmanuel Vadot			i-cache-block-size = <64>;
1320cd4430aSEmmanuel Vadot			i-cache-size = <65536>;
1330cd4430aSEmmanuel Vadot			i-cache-sets = <256>;
1340cd4430aSEmmanuel Vadot			d-cache-block-size = <64>;
1350cd4430aSEmmanuel Vadot			d-cache-size = <65536>;
1360cd4430aSEmmanuel Vadot			d-cache-sets = <256>;
1370cd4430aSEmmanuel Vadot			next-level-cache = <&l2_cache0>;
1380cd4430aSEmmanuel Vadot			mmu-type = "riscv,sv39";
1390cd4430aSEmmanuel Vadot
1400cd4430aSEmmanuel Vadot			cpu2_intc: interrupt-controller {
1410cd4430aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
1420cd4430aSEmmanuel Vadot				#interrupt-cells = <1>;
1430cd4430aSEmmanuel Vadot				interrupt-controller;
1440cd4430aSEmmanuel Vadot			};
1450cd4430aSEmmanuel Vadot		};
1460cd4430aSEmmanuel Vadot
1470cd4430aSEmmanuel Vadot		cpu_3: cpu@3 {
1480cd4430aSEmmanuel Vadot			compatible = "spacemit,x100", "riscv";
1490cd4430aSEmmanuel Vadot			device_type = "cpu";
1500cd4430aSEmmanuel Vadot			reg = <3>;
1510cd4430aSEmmanuel Vadot			riscv,isa-base = "rv64i";
1520cd4430aSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h",
1530cd4430aSEmmanuel Vadot					       "sha", "shcounterenw", "shgatpa", "shtvala",
1540cd4430aSEmmanuel Vadot					       "shvsatpa", "shvstvala", "shvstvecd", "smaia",
1550cd4430aSEmmanuel Vadot					       "smstateen", "ssaia", "ssccptr", "sscofpmf",
1560cd4430aSEmmanuel Vadot					       "sscounterenw", "ssnpm", "ssstateen", "sstc",
1570cd4430aSEmmanuel Vadot					       "sstvala", "sstvecd", "ssu64xl", "svade",
1580cd4430aSEmmanuel Vadot					       "svinval", "svnapot", "svpbmt", "za64rs",
1590cd4430aSEmmanuel Vadot					       "zawrs", "zba", "zbb", "zbc", "zbs", "zca",
1600cd4430aSEmmanuel Vadot					       "zcb", "zcd", "zcmop", "zfa", "zfbfmin",
1610cd4430aSEmmanuel Vadot					       "zfh", "zfhmin", "zicbom", "zicbop", "zicboz",
1620cd4430aSEmmanuel Vadot					       "ziccamoa", "ziccif", "zicclsm", "zicntr",
1630cd4430aSEmmanuel Vadot					       "zicond", "zicsr", "zifencei", "zihintntl",
1640cd4430aSEmmanuel Vadot					       "zihintpause", "zihpm", "zimop", "zkt", "zvbb",
1650cd4430aSEmmanuel Vadot					       "zvbc", "zvfbfmin", "zvfbfwma", "zvfh",
1660cd4430aSEmmanuel Vadot					       "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc",
1670cd4430aSEmmanuel Vadot					       "zvkned", "zvkng", "zvknha", "zvknhb", "zvks",
1680cd4430aSEmmanuel Vadot					       "zvksc", "zvksed", "zvksg", "zvksh", "zvkt";
1690cd4430aSEmmanuel Vadot			riscv,cbom-block-size = <64>;
1700cd4430aSEmmanuel Vadot			riscv,cbop-block-size = <64>;
1710cd4430aSEmmanuel Vadot			riscv,cboz-block-size = <64>;
1720cd4430aSEmmanuel Vadot			i-cache-block-size = <64>;
1730cd4430aSEmmanuel Vadot			i-cache-size = <65536>;
1740cd4430aSEmmanuel Vadot			i-cache-sets = <256>;
1750cd4430aSEmmanuel Vadot			d-cache-block-size = <64>;
1760cd4430aSEmmanuel Vadot			d-cache-size = <65536>;
1770cd4430aSEmmanuel Vadot			d-cache-sets = <256>;
1780cd4430aSEmmanuel Vadot			next-level-cache = <&l2_cache0>;
1790cd4430aSEmmanuel Vadot			mmu-type = "riscv,sv39";
1800cd4430aSEmmanuel Vadot
1810cd4430aSEmmanuel Vadot			cpu3_intc: interrupt-controller {
1820cd4430aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
1830cd4430aSEmmanuel Vadot				#interrupt-cells = <1>;
1840cd4430aSEmmanuel Vadot				interrupt-controller;
1850cd4430aSEmmanuel Vadot			};
1860cd4430aSEmmanuel Vadot		};
1870cd4430aSEmmanuel Vadot
1880cd4430aSEmmanuel Vadot		cpu_4: cpu@4 {
1890cd4430aSEmmanuel Vadot			compatible = "spacemit,x100", "riscv";
1900cd4430aSEmmanuel Vadot			device_type = "cpu";
1910cd4430aSEmmanuel Vadot			reg = <4>;
1920cd4430aSEmmanuel Vadot			riscv,isa-base = "rv64i";
1930cd4430aSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h",
1940cd4430aSEmmanuel Vadot					       "sha", "shcounterenw", "shgatpa", "shtvala",
1950cd4430aSEmmanuel Vadot					       "shvsatpa", "shvstvala", "shvstvecd", "smaia",
1960cd4430aSEmmanuel Vadot					       "smstateen", "ssaia", "ssccptr", "sscofpmf",
1970cd4430aSEmmanuel Vadot					       "sscounterenw", "ssnpm", "ssstateen", "sstc",
1980cd4430aSEmmanuel Vadot					       "sstvala", "sstvecd", "ssu64xl", "svade",
1990cd4430aSEmmanuel Vadot					       "svinval", "svnapot", "svpbmt", "za64rs",
2000cd4430aSEmmanuel Vadot					       "zawrs", "zba", "zbb", "zbc", "zbs", "zca",
2010cd4430aSEmmanuel Vadot					       "zcb", "zcd", "zcmop", "zfa", "zfbfmin",
2020cd4430aSEmmanuel Vadot					       "zfh", "zfhmin", "zicbom", "zicbop", "zicboz",
2030cd4430aSEmmanuel Vadot					       "ziccamoa", "ziccif", "zicclsm", "zicntr",
2040cd4430aSEmmanuel Vadot					       "zicond", "zicsr", "zifencei", "zihintntl",
2050cd4430aSEmmanuel Vadot					       "zihintpause", "zihpm", "zimop", "zkt", "zvbb",
2060cd4430aSEmmanuel Vadot					       "zvbc", "zvfbfmin", "zvfbfwma", "zvfh",
2070cd4430aSEmmanuel Vadot					       "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc",
2080cd4430aSEmmanuel Vadot					       "zvkned", "zvkng", "zvknha", "zvknhb", "zvks",
2090cd4430aSEmmanuel Vadot					       "zvksc", "zvksed", "zvksg", "zvksh", "zvkt";
2100cd4430aSEmmanuel Vadot			riscv,cbom-block-size = <64>;
2110cd4430aSEmmanuel Vadot			riscv,cbop-block-size = <64>;
2120cd4430aSEmmanuel Vadot			riscv,cboz-block-size = <64>;
2130cd4430aSEmmanuel Vadot			i-cache-block-size = <64>;
2140cd4430aSEmmanuel Vadot			i-cache-size = <65536>;
2150cd4430aSEmmanuel Vadot			i-cache-sets = <256>;
2160cd4430aSEmmanuel Vadot			d-cache-block-size = <64>;
2170cd4430aSEmmanuel Vadot			d-cache-size = <65536>;
2180cd4430aSEmmanuel Vadot			d-cache-sets = <256>;
2190cd4430aSEmmanuel Vadot			next-level-cache = <&l2_cache1>;
2200cd4430aSEmmanuel Vadot			mmu-type = "riscv,sv39";
2210cd4430aSEmmanuel Vadot
2220cd4430aSEmmanuel Vadot			cpu4_intc: interrupt-controller {
2230cd4430aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
2240cd4430aSEmmanuel Vadot				#interrupt-cells = <1>;
2250cd4430aSEmmanuel Vadot				interrupt-controller;
2260cd4430aSEmmanuel Vadot			};
2270cd4430aSEmmanuel Vadot		};
2280cd4430aSEmmanuel Vadot
2290cd4430aSEmmanuel Vadot		cpu_5: cpu@5 {
2300cd4430aSEmmanuel Vadot			compatible = "spacemit,x100", "riscv";
2310cd4430aSEmmanuel Vadot			device_type = "cpu";
2320cd4430aSEmmanuel Vadot			reg = <5>;
2330cd4430aSEmmanuel Vadot			riscv,isa-base = "rv64i";
2340cd4430aSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h",
2350cd4430aSEmmanuel Vadot					       "sha", "shcounterenw", "shgatpa", "shtvala",
2360cd4430aSEmmanuel Vadot					       "shvsatpa", "shvstvala", "shvstvecd", "smaia",
2370cd4430aSEmmanuel Vadot					       "smstateen", "ssaia", "ssccptr", "sscofpmf",
2380cd4430aSEmmanuel Vadot					       "sscounterenw", "ssnpm", "ssstateen", "sstc",
2390cd4430aSEmmanuel Vadot					       "sstvala", "sstvecd", "ssu64xl", "svade",
2400cd4430aSEmmanuel Vadot					       "svinval", "svnapot", "svpbmt", "za64rs",
2410cd4430aSEmmanuel Vadot					       "zawrs", "zba", "zbb", "zbc", "zbs", "zca",
2420cd4430aSEmmanuel Vadot					       "zcb", "zcd", "zcmop", "zfa", "zfbfmin",
2430cd4430aSEmmanuel Vadot					       "zfh", "zfhmin", "zicbom", "zicbop", "zicboz",
2440cd4430aSEmmanuel Vadot					       "ziccamoa", "ziccif", "zicclsm", "zicntr",
2450cd4430aSEmmanuel Vadot					       "zicond", "zicsr", "zifencei", "zihintntl",
2460cd4430aSEmmanuel Vadot					       "zihintpause", "zihpm", "zimop", "zkt", "zvbb",
2470cd4430aSEmmanuel Vadot					       "zvbc", "zvfbfmin", "zvfbfwma", "zvfh",
2480cd4430aSEmmanuel Vadot					       "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc",
2490cd4430aSEmmanuel Vadot					       "zvkned", "zvkng", "zvknha", "zvknhb", "zvks",
2500cd4430aSEmmanuel Vadot					       "zvksc", "zvksed", "zvksg", "zvksh", "zvkt";
2510cd4430aSEmmanuel Vadot			riscv,cbom-block-size = <64>;
2520cd4430aSEmmanuel Vadot			riscv,cbop-block-size = <64>;
2530cd4430aSEmmanuel Vadot			riscv,cboz-block-size = <64>;
2540cd4430aSEmmanuel Vadot			i-cache-block-size = <64>;
2550cd4430aSEmmanuel Vadot			i-cache-size = <65536>;
2560cd4430aSEmmanuel Vadot			i-cache-sets = <256>;
2570cd4430aSEmmanuel Vadot			d-cache-block-size = <64>;
2580cd4430aSEmmanuel Vadot			d-cache-size = <65536>;
2590cd4430aSEmmanuel Vadot			d-cache-sets = <256>;
2600cd4430aSEmmanuel Vadot			next-level-cache = <&l2_cache1>;
2610cd4430aSEmmanuel Vadot			mmu-type = "riscv,sv39";
2620cd4430aSEmmanuel Vadot
2630cd4430aSEmmanuel Vadot			cpu5_intc: interrupt-controller {
2640cd4430aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
2650cd4430aSEmmanuel Vadot				#interrupt-cells = <1>;
2660cd4430aSEmmanuel Vadot				interrupt-controller;
2670cd4430aSEmmanuel Vadot			};
2680cd4430aSEmmanuel Vadot		};
2690cd4430aSEmmanuel Vadot
2700cd4430aSEmmanuel Vadot		cpu_6: cpu@6 {
2710cd4430aSEmmanuel Vadot			compatible = "spacemit,x100", "riscv";
2720cd4430aSEmmanuel Vadot			device_type = "cpu";
2730cd4430aSEmmanuel Vadot			reg = <6>;
2740cd4430aSEmmanuel Vadot			riscv,isa-base = "rv64i";
2750cd4430aSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h",
2760cd4430aSEmmanuel Vadot					       "sha", "shcounterenw", "shgatpa", "shtvala",
2770cd4430aSEmmanuel Vadot					       "shvsatpa", "shvstvala", "shvstvecd", "smaia",
2780cd4430aSEmmanuel Vadot					       "smstateen", "ssaia", "ssccptr", "sscofpmf",
2790cd4430aSEmmanuel Vadot					       "sscounterenw", "ssnpm", "ssstateen", "sstc",
2800cd4430aSEmmanuel Vadot					       "sstvala", "sstvecd", "ssu64xl", "svade",
2810cd4430aSEmmanuel Vadot					       "svinval", "svnapot", "svpbmt", "za64rs",
2820cd4430aSEmmanuel Vadot					       "zawrs", "zba", "zbb", "zbc", "zbs", "zca",
2830cd4430aSEmmanuel Vadot					       "zcb", "zcd", "zcmop", "zfa", "zfbfmin",
2840cd4430aSEmmanuel Vadot					       "zfh", "zfhmin", "zicbom", "zicbop", "zicboz",
2850cd4430aSEmmanuel Vadot					       "ziccamoa", "ziccif", "zicclsm", "zicntr",
2860cd4430aSEmmanuel Vadot					       "zicond", "zicsr", "zifencei", "zihintntl",
2870cd4430aSEmmanuel Vadot					       "zihintpause", "zihpm", "zimop", "zkt", "zvbb",
2880cd4430aSEmmanuel Vadot					       "zvbc", "zvfbfmin", "zvfbfwma", "zvfh",
2890cd4430aSEmmanuel Vadot					       "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc",
2900cd4430aSEmmanuel Vadot					       "zvkned", "zvkng", "zvknha", "zvknhb", "zvks",
2910cd4430aSEmmanuel Vadot					       "zvksc", "zvksed", "zvksg", "zvksh", "zvkt";
2920cd4430aSEmmanuel Vadot			riscv,cbom-block-size = <64>;
2930cd4430aSEmmanuel Vadot			riscv,cbop-block-size = <64>;
2940cd4430aSEmmanuel Vadot			riscv,cboz-block-size = <64>;
2950cd4430aSEmmanuel Vadot			i-cache-block-size = <64>;
2960cd4430aSEmmanuel Vadot			i-cache-size = <65536>;
2970cd4430aSEmmanuel Vadot			i-cache-sets = <256>;
2980cd4430aSEmmanuel Vadot			d-cache-block-size = <64>;
2990cd4430aSEmmanuel Vadot			d-cache-size = <65536>;
3000cd4430aSEmmanuel Vadot			d-cache-sets = <256>;
3010cd4430aSEmmanuel Vadot			next-level-cache = <&l2_cache1>;
3020cd4430aSEmmanuel Vadot			mmu-type = "riscv,sv39";
3030cd4430aSEmmanuel Vadot
3040cd4430aSEmmanuel Vadot			cpu6_intc: interrupt-controller {
3050cd4430aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
3060cd4430aSEmmanuel Vadot				#interrupt-cells = <1>;
3070cd4430aSEmmanuel Vadot				interrupt-controller;
3080cd4430aSEmmanuel Vadot			};
3090cd4430aSEmmanuel Vadot		};
3100cd4430aSEmmanuel Vadot
3110cd4430aSEmmanuel Vadot		cpu_7: cpu@7 {
3120cd4430aSEmmanuel Vadot			compatible = "spacemit,x100", "riscv";
3130cd4430aSEmmanuel Vadot			device_type = "cpu";
3140cd4430aSEmmanuel Vadot			reg = <7>;
3150cd4430aSEmmanuel Vadot			riscv,isa-base = "rv64i";
3160cd4430aSEmmanuel Vadot			riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h",
3170cd4430aSEmmanuel Vadot					       "sha", "shcounterenw", "shgatpa", "shtvala",
3180cd4430aSEmmanuel Vadot					       "shvsatpa", "shvstvala", "shvstvecd", "smaia",
3190cd4430aSEmmanuel Vadot					       "smstateen", "ssaia", "ssccptr", "sscofpmf",
3200cd4430aSEmmanuel Vadot					       "sscounterenw", "ssnpm", "ssstateen", "sstc",
3210cd4430aSEmmanuel Vadot					       "sstvala", "sstvecd", "ssu64xl", "svade",
3220cd4430aSEmmanuel Vadot					       "svinval", "svnapot", "svpbmt", "za64rs",
3230cd4430aSEmmanuel Vadot					       "zawrs", "zba", "zbb", "zbc", "zbs", "zca",
3240cd4430aSEmmanuel Vadot					       "zcb", "zcd", "zcmop", "zfa", "zfbfmin",
3250cd4430aSEmmanuel Vadot					       "zfh", "zfhmin", "zicbom", "zicbop", "zicboz",
3260cd4430aSEmmanuel Vadot					       "ziccamoa", "ziccif", "zicclsm", "zicntr",
3270cd4430aSEmmanuel Vadot					       "zicond", "zicsr", "zifencei", "zihintntl",
3280cd4430aSEmmanuel Vadot					       "zihintpause", "zihpm", "zimop", "zkt", "zvbb",
3290cd4430aSEmmanuel Vadot					       "zvbc", "zvfbfmin", "zvfbfwma", "zvfh",
3300cd4430aSEmmanuel Vadot					       "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc",
3310cd4430aSEmmanuel Vadot					       "zvkned", "zvkng", "zvknha", "zvknhb", "zvks",
3320cd4430aSEmmanuel Vadot					       "zvksc", "zvksed", "zvksg", "zvksh", "zvkt";
3330cd4430aSEmmanuel Vadot			riscv,cbom-block-size = <64>;
3340cd4430aSEmmanuel Vadot			riscv,cbop-block-size = <64>;
3350cd4430aSEmmanuel Vadot			riscv,cboz-block-size = <64>;
3360cd4430aSEmmanuel Vadot			i-cache-block-size = <64>;
3370cd4430aSEmmanuel Vadot			i-cache-size = <65536>;
3380cd4430aSEmmanuel Vadot			i-cache-sets = <256>;
3390cd4430aSEmmanuel Vadot			d-cache-block-size = <64>;
3400cd4430aSEmmanuel Vadot			d-cache-size = <65536>;
3410cd4430aSEmmanuel Vadot			d-cache-sets = <256>;
3420cd4430aSEmmanuel Vadot			next-level-cache = <&l2_cache1>;
3430cd4430aSEmmanuel Vadot			mmu-type = "riscv,sv39";
3440cd4430aSEmmanuel Vadot
3450cd4430aSEmmanuel Vadot			cpu7_intc: interrupt-controller {
3460cd4430aSEmmanuel Vadot				compatible = "riscv,cpu-intc";
3470cd4430aSEmmanuel Vadot				#interrupt-cells = <1>;
3480cd4430aSEmmanuel Vadot				interrupt-controller;
3490cd4430aSEmmanuel Vadot			};
3500cd4430aSEmmanuel Vadot		};
3510cd4430aSEmmanuel Vadot
3520cd4430aSEmmanuel Vadot		l2_cache0: cache-controller-0 {
3530cd4430aSEmmanuel Vadot			compatible = "cache";
3540cd4430aSEmmanuel Vadot			cache-block-size = <64>;
3550cd4430aSEmmanuel Vadot			cache-level = <2>;
3560cd4430aSEmmanuel Vadot			cache-size = <4194304>;
3570cd4430aSEmmanuel Vadot			cache-sets = <4096>;
3580cd4430aSEmmanuel Vadot			cache-unified;
3590cd4430aSEmmanuel Vadot		};
3600cd4430aSEmmanuel Vadot
3610cd4430aSEmmanuel Vadot		l2_cache1: cache-controller-1 {
3620cd4430aSEmmanuel Vadot			compatible = "cache";
3630cd4430aSEmmanuel Vadot			cache-block-size = <64>;
3640cd4430aSEmmanuel Vadot			cache-level = <2>;
3650cd4430aSEmmanuel Vadot			cache-size = <4194304>;
3660cd4430aSEmmanuel Vadot			cache-sets = <4096>;
3670cd4430aSEmmanuel Vadot			cache-unified;
3680cd4430aSEmmanuel Vadot		};
3690cd4430aSEmmanuel Vadot
3700cd4430aSEmmanuel Vadot		cpu-map {
3710cd4430aSEmmanuel Vadot			cluster0 {
3720cd4430aSEmmanuel Vadot				core0 {
3730cd4430aSEmmanuel Vadot					cpu = <&cpu_0>;
3740cd4430aSEmmanuel Vadot				};
3750cd4430aSEmmanuel Vadot				core1 {
3760cd4430aSEmmanuel Vadot					cpu = <&cpu_1>;
3770cd4430aSEmmanuel Vadot				};
3780cd4430aSEmmanuel Vadot				core2 {
3790cd4430aSEmmanuel Vadot					cpu = <&cpu_2>;
3800cd4430aSEmmanuel Vadot				};
3810cd4430aSEmmanuel Vadot				core3 {
3820cd4430aSEmmanuel Vadot					cpu = <&cpu_3>;
3830cd4430aSEmmanuel Vadot				};
3840cd4430aSEmmanuel Vadot			};
3850cd4430aSEmmanuel Vadot
3860cd4430aSEmmanuel Vadot			cluster1 {
3870cd4430aSEmmanuel Vadot				core0 {
3880cd4430aSEmmanuel Vadot					cpu = <&cpu_4>;
3890cd4430aSEmmanuel Vadot				};
3900cd4430aSEmmanuel Vadot				core1 {
3910cd4430aSEmmanuel Vadot					cpu = <&cpu_5>;
3920cd4430aSEmmanuel Vadot				};
3930cd4430aSEmmanuel Vadot				core2 {
3940cd4430aSEmmanuel Vadot					cpu = <&cpu_6>;
3950cd4430aSEmmanuel Vadot				};
3960cd4430aSEmmanuel Vadot				core3 {
3970cd4430aSEmmanuel Vadot					cpu = <&cpu_7>;
3980cd4430aSEmmanuel Vadot				};
3990cd4430aSEmmanuel Vadot			};
4000cd4430aSEmmanuel Vadot		};
4010cd4430aSEmmanuel Vadot	};
4020cd4430aSEmmanuel Vadot
403*69ed3df4SEmmanuel Vadot	clocks {
404*69ed3df4SEmmanuel Vadot		vctcxo_1m: clock-1m {
405*69ed3df4SEmmanuel Vadot			compatible = "fixed-clock";
406*69ed3df4SEmmanuel Vadot			clock-frequency = <1000000>;
407*69ed3df4SEmmanuel Vadot			clock-output-names = "vctcxo_1m";
408*69ed3df4SEmmanuel Vadot			#clock-cells = <0>;
409*69ed3df4SEmmanuel Vadot		};
410*69ed3df4SEmmanuel Vadot
411*69ed3df4SEmmanuel Vadot		vctcxo_24m: clock-24m {
412*69ed3df4SEmmanuel Vadot			compatible = "fixed-clock";
413*69ed3df4SEmmanuel Vadot			clock-frequency = <24000000>;
414*69ed3df4SEmmanuel Vadot			clock-output-names = "vctcxo_24m";
415*69ed3df4SEmmanuel Vadot			#clock-cells = <0>;
416*69ed3df4SEmmanuel Vadot		};
417*69ed3df4SEmmanuel Vadot
418*69ed3df4SEmmanuel Vadot		vctcxo_3m: clock-3m {
419*69ed3df4SEmmanuel Vadot			compatible = "fixed-clock";
420*69ed3df4SEmmanuel Vadot			clock-frequency = <3000000>;
421*69ed3df4SEmmanuel Vadot			clock-output-names = "vctcxo_3m";
422*69ed3df4SEmmanuel Vadot			#clock-cells = <0>;
423*69ed3df4SEmmanuel Vadot		};
424*69ed3df4SEmmanuel Vadot
425*69ed3df4SEmmanuel Vadot		osc_32k: clock-32k {
426*69ed3df4SEmmanuel Vadot			compatible = "fixed-clock";
427*69ed3df4SEmmanuel Vadot			clock-frequency = <32000>;
428*69ed3df4SEmmanuel Vadot			clock-output-names = "osc_32k";
429*69ed3df4SEmmanuel Vadot			#clock-cells = <0>;
430*69ed3df4SEmmanuel Vadot		};
431*69ed3df4SEmmanuel Vadot	};
432*69ed3df4SEmmanuel Vadot
4330cd4430aSEmmanuel Vadot	soc: soc {
4340cd4430aSEmmanuel Vadot		compatible = "simple-bus";
4350cd4430aSEmmanuel Vadot		interrupt-parent = <&saplic>;
4360cd4430aSEmmanuel Vadot		#address-cells = <2>;
4370cd4430aSEmmanuel Vadot		#size-cells = <2>;
4380cd4430aSEmmanuel Vadot		dma-noncoherent;
4390cd4430aSEmmanuel Vadot		ranges;
4400cd4430aSEmmanuel Vadot
441*69ed3df4SEmmanuel Vadot		eth0: ethernet@cac80000 {
442*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a";
443*69ed3df4SEmmanuel Vadot			reg = <0x0 0xcac80000 0x0 0x2000>;
444*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apmu CLK_APMU_EMAC0_BUS>,
445*69ed3df4SEmmanuel Vadot				 <&syscon_apmu CLK_APMU_EMAC0_1588>,
446*69ed3df4SEmmanuel Vadot				 <&syscon_apmu CLK_APMU_EMAC0_RGMII_TX>;
447*69ed3df4SEmmanuel Vadot			clock-names = "stmmaceth", "ptp_ref", "tx";
448*69ed3df4SEmmanuel Vadot			interrupts = <131 IRQ_TYPE_LEVEL_HIGH>,
449*69ed3df4SEmmanuel Vadot				     <276 IRQ_TYPE_LEVEL_HIGH>;
450*69ed3df4SEmmanuel Vadot			interrupt-names = "macirq", "eth_wake_irq";
451*69ed3df4SEmmanuel Vadot			resets = <&syscon_apmu RESET_APMU_EMAC0>;
452*69ed3df4SEmmanuel Vadot			reset-names = "stmmaceth";
453*69ed3df4SEmmanuel Vadot			rx-fifo-depth = <8192>;
454*69ed3df4SEmmanuel Vadot			tx-fifo-depth = <8192>;
455*69ed3df4SEmmanuel Vadot			snps,multicast-filter-bins = <64>;
456*69ed3df4SEmmanuel Vadot			snps,perfect-filter-entries = <32>;
457*69ed3df4SEmmanuel Vadot			snps,aal;
458*69ed3df4SEmmanuel Vadot			snps,tso;
459*69ed3df4SEmmanuel Vadot			snps,txpbl = <8>;
460*69ed3df4SEmmanuel Vadot			snps,rxpbl = <8>;
461*69ed3df4SEmmanuel Vadot			snps,force_sf_dma_mode;
462*69ed3df4SEmmanuel Vadot			snps,axi-config = <&gmac0_axi_setup>;
463*69ed3df4SEmmanuel Vadot			spacemit,apmu = <&syscon_apmu 0x3e4 0x3e8>;
464*69ed3df4SEmmanuel Vadot			status = "disabled";
465*69ed3df4SEmmanuel Vadot
466*69ed3df4SEmmanuel Vadot			mdio {
467*69ed3df4SEmmanuel Vadot				compatible = "snps,dwmac-mdio";
468*69ed3df4SEmmanuel Vadot				#address-cells = <1>;
469*69ed3df4SEmmanuel Vadot				#size-cells = <0>;
470*69ed3df4SEmmanuel Vadot			};
471*69ed3df4SEmmanuel Vadot
472*69ed3df4SEmmanuel Vadot			gmac0_axi_setup: stmmac-axi-config {
473*69ed3df4SEmmanuel Vadot				snps,wr_osr_lmt = <0xf>;
474*69ed3df4SEmmanuel Vadot				snps,rd_osr_lmt = <0xf>;
475*69ed3df4SEmmanuel Vadot				/* max axi burst len is 256 */
476*69ed3df4SEmmanuel Vadot				snps,blen = <256 128 64 32 16 0 0>;
477*69ed3df4SEmmanuel Vadot			};
478*69ed3df4SEmmanuel Vadot		};
479*69ed3df4SEmmanuel Vadot
480*69ed3df4SEmmanuel Vadot		eth1: ethernet@cac82000 {
481*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a";
482*69ed3df4SEmmanuel Vadot			reg = <0x0 0xcac82000 0x0 0x2000>;
483*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apmu CLK_APMU_EMAC1_BUS>,
484*69ed3df4SEmmanuel Vadot				 <&syscon_apmu CLK_APMU_EMAC1_1588>,
485*69ed3df4SEmmanuel Vadot				 <&syscon_apmu CLK_APMU_EMAC1_RGMII_TX>;
486*69ed3df4SEmmanuel Vadot			clock-names = "stmmaceth", "ptp_ref", "tx";
487*69ed3df4SEmmanuel Vadot			interrupts = <133 IRQ_TYPE_LEVEL_HIGH>,
488*69ed3df4SEmmanuel Vadot				     <277 IRQ_TYPE_LEVEL_HIGH>;
489*69ed3df4SEmmanuel Vadot			interrupt-names = "macirq", "eth_wake_irq";
490*69ed3df4SEmmanuel Vadot			resets = <&syscon_apmu RESET_APMU_EMAC1>;
491*69ed3df4SEmmanuel Vadot			reset-names = "stmmaceth";
492*69ed3df4SEmmanuel Vadot			rx-fifo-depth = <8192>;
493*69ed3df4SEmmanuel Vadot			tx-fifo-depth = <8192>;
494*69ed3df4SEmmanuel Vadot			snps,multicast-filter-bins = <64>;
495*69ed3df4SEmmanuel Vadot			snps,perfect-filter-entries = <32>;
496*69ed3df4SEmmanuel Vadot			snps,aal;
497*69ed3df4SEmmanuel Vadot			snps,tso;
498*69ed3df4SEmmanuel Vadot			snps,txpbl = <8>;
499*69ed3df4SEmmanuel Vadot			snps,rxpbl = <8>;
500*69ed3df4SEmmanuel Vadot			snps,force_sf_dma_mode;
501*69ed3df4SEmmanuel Vadot			snps,axi-config = <&gmac1_axi_setup>;
502*69ed3df4SEmmanuel Vadot			spacemit,apmu = <&syscon_apmu 0x3ec 0x3f0>;
503*69ed3df4SEmmanuel Vadot			status = "disabled";
504*69ed3df4SEmmanuel Vadot
505*69ed3df4SEmmanuel Vadot			mdio {
506*69ed3df4SEmmanuel Vadot				compatible = "snps,dwmac-mdio";
507*69ed3df4SEmmanuel Vadot				#address-cells = <1>;
508*69ed3df4SEmmanuel Vadot				#size-cells = <0>;
509*69ed3df4SEmmanuel Vadot			};
510*69ed3df4SEmmanuel Vadot
511*69ed3df4SEmmanuel Vadot			gmac1_axi_setup: stmmac-axi-config {
512*69ed3df4SEmmanuel Vadot				snps,wr_osr_lmt = <0xf>;
513*69ed3df4SEmmanuel Vadot				snps,rd_osr_lmt = <0xf>;
514*69ed3df4SEmmanuel Vadot				/* max axi burst len is 256 */
515*69ed3df4SEmmanuel Vadot				snps,blen = <256 128 64 32 16 0 0>;
516*69ed3df4SEmmanuel Vadot			};
517*69ed3df4SEmmanuel Vadot		};
518*69ed3df4SEmmanuel Vadot
519*69ed3df4SEmmanuel Vadot		eth2: ethernet@cac8e000 {
520*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a";
521*69ed3df4SEmmanuel Vadot			reg = <0x0 0xcac8e000 0x0 0x2000>;
522*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apmu CLK_APMU_EMAC2_BUS>,
523*69ed3df4SEmmanuel Vadot				 <&syscon_apmu CLK_APMU_EMAC2_1588>,
524*69ed3df4SEmmanuel Vadot				 <&syscon_apmu CLK_APMU_EMAC2_RGMII_TX>;
525*69ed3df4SEmmanuel Vadot			clock-names = "stmmaceth", "ptp_ref", "tx";
526*69ed3df4SEmmanuel Vadot			interrupts = <130 IRQ_TYPE_LEVEL_HIGH>,
527*69ed3df4SEmmanuel Vadot				     <278 IRQ_TYPE_LEVEL_HIGH>;
528*69ed3df4SEmmanuel Vadot			interrupt-names = "macirq", "eth_wake_irq";
529*69ed3df4SEmmanuel Vadot			resets = <&syscon_apmu RESET_APMU_EMAC2>;
530*69ed3df4SEmmanuel Vadot			reset-names = "stmmaceth";
531*69ed3df4SEmmanuel Vadot			rx-fifo-depth = <4096>;
532*69ed3df4SEmmanuel Vadot			tx-fifo-depth = <4096>;
533*69ed3df4SEmmanuel Vadot			snps,multicast-filter-bins = <64>;
534*69ed3df4SEmmanuel Vadot			snps,perfect-filter-entries = <32>;
535*69ed3df4SEmmanuel Vadot			snps,aal;
536*69ed3df4SEmmanuel Vadot			snps,tso;
537*69ed3df4SEmmanuel Vadot			snps,txpbl = <8>;
538*69ed3df4SEmmanuel Vadot			snps,rxpbl = <8>;
539*69ed3df4SEmmanuel Vadot			snps,force_sf_dma_mode;
540*69ed3df4SEmmanuel Vadot			snps,axi-config = <&gmac2_axi_setup>;
541*69ed3df4SEmmanuel Vadot			spacemit,apmu = <&syscon_apmu 0x248 0x24c>;
542*69ed3df4SEmmanuel Vadot			status = "disabled";
543*69ed3df4SEmmanuel Vadot
544*69ed3df4SEmmanuel Vadot			mdio {
545*69ed3df4SEmmanuel Vadot				compatible = "snps,dwmac-mdio";
546*69ed3df4SEmmanuel Vadot				#address-cells = <1>;
547*69ed3df4SEmmanuel Vadot				#size-cells = <0>;
548*69ed3df4SEmmanuel Vadot			};
549*69ed3df4SEmmanuel Vadot
550*69ed3df4SEmmanuel Vadot			gmac2_axi_setup: stmmac-axi-config {
551*69ed3df4SEmmanuel Vadot				snps,wr_osr_lmt = <0xf>;
552*69ed3df4SEmmanuel Vadot				snps,rd_osr_lmt = <0xf>;
553*69ed3df4SEmmanuel Vadot				/* max axi burst len is 256 */
554*69ed3df4SEmmanuel Vadot				snps,blen = <256 128 64 32 16 0 0>;
555*69ed3df4SEmmanuel Vadot			};
556*69ed3df4SEmmanuel Vadot		};
557*69ed3df4SEmmanuel Vadot
558*69ed3df4SEmmanuel Vadot		i2c0: i2c@d4010800 {
559*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-i2c", "spacemit,k1-i2c";
560*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4010800 0x0 0x38>;
561*69ed3df4SEmmanuel Vadot			#address-cells = <1>;
562*69ed3df4SEmmanuel Vadot			#size-cells = <0>;
563*69ed3df4SEmmanuel Vadot			interrupts = <36 IRQ_TYPE_LEVEL_HIGH>;
564*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_TWSI0>,
565*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_TWSI0_BUS>;
566*69ed3df4SEmmanuel Vadot			clock-names = "func", "bus";
567*69ed3df4SEmmanuel Vadot			clock-frequency = <400000>;
568*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_TWSI0>;
569*69ed3df4SEmmanuel Vadot			status = "disabled";
570*69ed3df4SEmmanuel Vadot		};
571*69ed3df4SEmmanuel Vadot
572*69ed3df4SEmmanuel Vadot		i2c1: i2c@d4011000 {
573*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-i2c", "spacemit,k1-i2c";
574*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4011000 0x0 0x38>;
575*69ed3df4SEmmanuel Vadot			#address-cells = <1>;
576*69ed3df4SEmmanuel Vadot			#size-cells = <0>;
577*69ed3df4SEmmanuel Vadot			interrupts = <37 IRQ_TYPE_LEVEL_HIGH>;
578*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_TWSI1>,
579*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_TWSI1_BUS>;
580*69ed3df4SEmmanuel Vadot			clock-names = "func", "bus";
581*69ed3df4SEmmanuel Vadot			clock-frequency = <400000>;
582*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_TWSI1>;
583*69ed3df4SEmmanuel Vadot			status = "disabled";
584*69ed3df4SEmmanuel Vadot		};
585*69ed3df4SEmmanuel Vadot
586*69ed3df4SEmmanuel Vadot		i2c2: i2c@d4012000 {
587*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-i2c", "spacemit,k1-i2c";
588*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4012000 0x0 0x38>;
589*69ed3df4SEmmanuel Vadot			#address-cells = <1>;
590*69ed3df4SEmmanuel Vadot			#size-cells = <0>;
591*69ed3df4SEmmanuel Vadot			interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
592*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_TWSI2>,
593*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_TWSI2_BUS>;
594*69ed3df4SEmmanuel Vadot			clock-names = "func", "bus";
595*69ed3df4SEmmanuel Vadot			clock-frequency = <400000>;
596*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_TWSI2>;
597*69ed3df4SEmmanuel Vadot			status = "disabled";
598*69ed3df4SEmmanuel Vadot		};
599*69ed3df4SEmmanuel Vadot
600*69ed3df4SEmmanuel Vadot		i2c4: i2c@d4012800 {
601*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-i2c", "spacemit,k1-i2c";
602*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4012800 0x0 0x38>;
603*69ed3df4SEmmanuel Vadot			#address-cells = <1>;
604*69ed3df4SEmmanuel Vadot			#size-cells = <0>;
605*69ed3df4SEmmanuel Vadot			interrupts = <40 IRQ_TYPE_LEVEL_HIGH>;
606*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_TWSI4>,
607*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_TWSI4_BUS>;
608*69ed3df4SEmmanuel Vadot			clock-names = "func", "bus";
609*69ed3df4SEmmanuel Vadot			clock-frequency = <400000>;
610*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_TWSI4>;
611*69ed3df4SEmmanuel Vadot			status = "disabled";
612*69ed3df4SEmmanuel Vadot		};
613*69ed3df4SEmmanuel Vadot
614*69ed3df4SEmmanuel Vadot		i2c5: i2c@d4013800 {
615*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-i2c", "spacemit,k1-i2c";
616*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4013800 0x0 0x38>;
617*69ed3df4SEmmanuel Vadot			#address-cells = <1>;
618*69ed3df4SEmmanuel Vadot			#size-cells = <0>;
619*69ed3df4SEmmanuel Vadot			interrupts = <41 IRQ_TYPE_LEVEL_HIGH>;
620*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_TWSI5>,
621*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_TWSI5_BUS>;
622*69ed3df4SEmmanuel Vadot			clock-names = "func", "bus";
623*69ed3df4SEmmanuel Vadot			clock-frequency = <400000>;
624*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_TWSI5>;
625*69ed3df4SEmmanuel Vadot			status = "disabled";
626*69ed3df4SEmmanuel Vadot		};
627*69ed3df4SEmmanuel Vadot
628*69ed3df4SEmmanuel Vadot		syscon_apbc: system-controller@d4015000 {
629*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-syscon-apbc";
630*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4015000 0x0 0x1000>;
631*69ed3df4SEmmanuel Vadot			clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>;
632*69ed3df4SEmmanuel Vadot			clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m";
633*69ed3df4SEmmanuel Vadot			#clock-cells = <1>;
634*69ed3df4SEmmanuel Vadot			#reset-cells = <1>;
635*69ed3df4SEmmanuel Vadot		};
636*69ed3df4SEmmanuel Vadot
6370cd4430aSEmmanuel Vadot		uart0: serial@d4017000 {
6380cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
6390cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017000 0x0 0x100>;
6400cd4430aSEmmanuel Vadot			reg-shift = <2>;
6410cd4430aSEmmanuel Vadot			reg-io-width = <4>;
642*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART0>,
643*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART0_BUS>;
644*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
645*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART0>;
6460cd4430aSEmmanuel Vadot			interrupts = <42 IRQ_TYPE_LEVEL_HIGH>;
6470cd4430aSEmmanuel Vadot			status = "disabled";
6480cd4430aSEmmanuel Vadot		};
6490cd4430aSEmmanuel Vadot
6500cd4430aSEmmanuel Vadot		uart2: serial@d4017100 {
6510cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
6520cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017100 0x0 0x100>;
6530cd4430aSEmmanuel Vadot			reg-shift = <2>;
6540cd4430aSEmmanuel Vadot			reg-io-width = <4>;
655*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART2>,
656*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART2_BUS>;
657*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
658*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART2>;
6590cd4430aSEmmanuel Vadot			interrupts = <44 IRQ_TYPE_LEVEL_HIGH>;
6600cd4430aSEmmanuel Vadot			status = "disabled";
6610cd4430aSEmmanuel Vadot		};
6620cd4430aSEmmanuel Vadot
6630cd4430aSEmmanuel Vadot		uart3: serial@d4017200 {
6640cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
6650cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017200 0x0 0x100>;
6660cd4430aSEmmanuel Vadot			reg-shift = <2>;
6670cd4430aSEmmanuel Vadot			reg-io-width = <4>;
668*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART3>,
669*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART3_BUS>;
670*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
671*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART3>;
6720cd4430aSEmmanuel Vadot			interrupts = <45 IRQ_TYPE_LEVEL_HIGH>;
6730cd4430aSEmmanuel Vadot			status = "disabled";
6740cd4430aSEmmanuel Vadot		};
6750cd4430aSEmmanuel Vadot
6760cd4430aSEmmanuel Vadot		uart4: serial@d4017300 {
6770cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
6780cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017300 0x0 0x100>;
6790cd4430aSEmmanuel Vadot			reg-shift = <2>;
6800cd4430aSEmmanuel Vadot			reg-io-width = <4>;
681*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART4>,
682*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART4_BUS>;
683*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
684*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART4>;
6850cd4430aSEmmanuel Vadot			interrupts = <46 IRQ_TYPE_LEVEL_HIGH>;
6860cd4430aSEmmanuel Vadot			status = "disabled";
6870cd4430aSEmmanuel Vadot		};
6880cd4430aSEmmanuel Vadot
6890cd4430aSEmmanuel Vadot		uart5: serial@d4017400 {
6900cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
6910cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017400 0x0 0x100>;
6920cd4430aSEmmanuel Vadot			reg-shift = <2>;
6930cd4430aSEmmanuel Vadot			reg-io-width = <4>;
694*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART5>,
695*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART5_BUS>;
696*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
697*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART5>;
6980cd4430aSEmmanuel Vadot			interrupts = <47 IRQ_TYPE_LEVEL_HIGH>;
6990cd4430aSEmmanuel Vadot			status = "disabled";
7000cd4430aSEmmanuel Vadot		};
7010cd4430aSEmmanuel Vadot
7020cd4430aSEmmanuel Vadot		uart6: serial@d4017500 {
7030cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
7040cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017500 0x0 0x100>;
7050cd4430aSEmmanuel Vadot			reg-shift = <2>;
7060cd4430aSEmmanuel Vadot			reg-io-width = <4>;
707*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART6>,
708*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART6_BUS>;
709*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
710*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART6>;
7110cd4430aSEmmanuel Vadot			interrupts = <48 IRQ_TYPE_LEVEL_HIGH>;
7120cd4430aSEmmanuel Vadot			status = "disabled";
7130cd4430aSEmmanuel Vadot		};
7140cd4430aSEmmanuel Vadot
7150cd4430aSEmmanuel Vadot		uart7: serial@d4017600 {
7160cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
7170cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017600 0x0 0x100>;
7180cd4430aSEmmanuel Vadot			reg-shift = <2>;
7190cd4430aSEmmanuel Vadot			reg-io-width = <4>;
720*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART7>,
721*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART7_BUS>;
722*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
723*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART7>;
7240cd4430aSEmmanuel Vadot			interrupts = <49 IRQ_TYPE_LEVEL_HIGH>;
7250cd4430aSEmmanuel Vadot			status = "disabled";
7260cd4430aSEmmanuel Vadot		};
7270cd4430aSEmmanuel Vadot
7280cd4430aSEmmanuel Vadot		uart8: serial@d4017700 {
7290cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
7300cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017700 0x0 0x100>;
7310cd4430aSEmmanuel Vadot			reg-shift = <2>;
7320cd4430aSEmmanuel Vadot			reg-io-width = <4>;
733*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART8>,
734*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART8_BUS>;
735*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
736*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART8>;
7370cd4430aSEmmanuel Vadot			interrupts = <50 IRQ_TYPE_LEVEL_HIGH>;
7380cd4430aSEmmanuel Vadot			status = "disabled";
7390cd4430aSEmmanuel Vadot		};
7400cd4430aSEmmanuel Vadot
7410cd4430aSEmmanuel Vadot		uart9: serial@d4017800 {
7420cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
7430cd4430aSEmmanuel Vadot			reg = <0x0 0xd4017800 0x0 0x100>;
7440cd4430aSEmmanuel Vadot			reg-shift = <2>;
7450cd4430aSEmmanuel Vadot			reg-io-width = <4>;
746*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART9>,
747*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART9_BUS>;
748*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
749*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART9>;
7500cd4430aSEmmanuel Vadot			interrupts = <51 IRQ_TYPE_LEVEL_HIGH>;
7510cd4430aSEmmanuel Vadot			status = "disabled";
7520cd4430aSEmmanuel Vadot		};
7530cd4430aSEmmanuel Vadot
754*69ed3df4SEmmanuel Vadot		i2c6: i2c@d4018800 {
755*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-i2c", "spacemit,k1-i2c";
756*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4018800 0x0 0x38>;
757*69ed3df4SEmmanuel Vadot			#address-cells = <1>;
758*69ed3df4SEmmanuel Vadot			#size-cells = <0>;
759*69ed3df4SEmmanuel Vadot			interrupts = <70 IRQ_TYPE_LEVEL_HIGH>;
760*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_TWSI6>,
761*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_TWSI6_BUS>;
762*69ed3df4SEmmanuel Vadot			clock-names = "func", "bus";
763*69ed3df4SEmmanuel Vadot			clock-frequency = <400000>;
764*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_TWSI6>;
765*69ed3df4SEmmanuel Vadot			status = "disabled";
766*69ed3df4SEmmanuel Vadot		};
767*69ed3df4SEmmanuel Vadot
768*69ed3df4SEmmanuel Vadot		gpio: gpio@d4019000 {
769*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-gpio";
770*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4019000 0x0 0x100>;
771*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_GPIO>,
772*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_GPIO_BUS>;
773*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
774*69ed3df4SEmmanuel Vadot			gpio-controller;
775*69ed3df4SEmmanuel Vadot			#gpio-cells = <3>;
776*69ed3df4SEmmanuel Vadot			interrupts = <58 IRQ_TYPE_LEVEL_HIGH>;
777*69ed3df4SEmmanuel Vadot			interrupt-parent = <&saplic>;
778*69ed3df4SEmmanuel Vadot			interrupt-controller;
779*69ed3df4SEmmanuel Vadot			#interrupt-cells = <3>;
780*69ed3df4SEmmanuel Vadot			gpio-ranges = <&pinctrl 0 0 0 32>,
781*69ed3df4SEmmanuel Vadot				      <&pinctrl 1 0 32 32>,
782*69ed3df4SEmmanuel Vadot				      <&pinctrl 2 0 64 32>,
783*69ed3df4SEmmanuel Vadot				      <&pinctrl 3 0 96 32>;
784*69ed3df4SEmmanuel Vadot		};
785*69ed3df4SEmmanuel Vadot
786*69ed3df4SEmmanuel Vadot		i2c8: i2c@d401d800 {
787*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-i2c", "spacemit,k1-i2c";
788*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd401d800 0x0 0x38>;
789*69ed3df4SEmmanuel Vadot			#address-cells = <1>;
790*69ed3df4SEmmanuel Vadot			#size-cells = <0>;
791*69ed3df4SEmmanuel Vadot			interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
792*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_TWSI8>,
793*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_TWSI8_BUS>;
794*69ed3df4SEmmanuel Vadot			clock-names = "func", "bus";
795*69ed3df4SEmmanuel Vadot			clock-frequency = <400000>;
796*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_TWSI8>;
797*69ed3df4SEmmanuel Vadot			status = "disabled";
798*69ed3df4SEmmanuel Vadot		};
799*69ed3df4SEmmanuel Vadot
800*69ed3df4SEmmanuel Vadot		pinctrl: pinctrl@d401e000 {
801*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-pinctrl";
802*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd401e000 0x0 0x1000>;
803*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_AIB>,
804*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_AIB_BUS>;
805*69ed3df4SEmmanuel Vadot			clock-names = "func", "bus";
806*69ed3df4SEmmanuel Vadot		};
807*69ed3df4SEmmanuel Vadot
8080cd4430aSEmmanuel Vadot		uart10: serial@d401f000 {
8090cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-uart", "intel,xscale-uart";
8100cd4430aSEmmanuel Vadot			reg = <0x0 0xd401f000 0x0 0x100>;
8110cd4430aSEmmanuel Vadot			reg-shift = <2>;
8120cd4430aSEmmanuel Vadot			reg-io-width = <4>;
813*69ed3df4SEmmanuel Vadot			clocks = <&syscon_apbc CLK_APBC_UART10>,
814*69ed3df4SEmmanuel Vadot				 <&syscon_apbc CLK_APBC_UART10_BUS>;
815*69ed3df4SEmmanuel Vadot			clock-names = "core", "bus";
816*69ed3df4SEmmanuel Vadot			resets = <&syscon_apbc RESET_APBC_UART10>;
8170cd4430aSEmmanuel Vadot			interrupts = <281 IRQ_TYPE_LEVEL_HIGH>;
8180cd4430aSEmmanuel Vadot			status = "disabled";
8190cd4430aSEmmanuel Vadot		};
8200cd4430aSEmmanuel Vadot
821*69ed3df4SEmmanuel Vadot		syscon_mpmu: system-controller@d4050000 {
822*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-syscon-mpmu";
823*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4050000 0x0 0x10000>;
824*69ed3df4SEmmanuel Vadot			clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>;
825*69ed3df4SEmmanuel Vadot			clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m";
826*69ed3df4SEmmanuel Vadot			#clock-cells = <1>;
827*69ed3df4SEmmanuel Vadot			#power-domain-cells = <1>;
828*69ed3df4SEmmanuel Vadot			#reset-cells = <1>;
829*69ed3df4SEmmanuel Vadot		};
830*69ed3df4SEmmanuel Vadot
831*69ed3df4SEmmanuel Vadot		pll: clock-controller@d4090000 {
832*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-pll";
833*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4090000 0x0 0x10000>;
834*69ed3df4SEmmanuel Vadot			clocks = <&vctcxo_24m>;
835*69ed3df4SEmmanuel Vadot			spacemit,mpmu = <&syscon_mpmu>;
836*69ed3df4SEmmanuel Vadot			#clock-cells = <1>;
837*69ed3df4SEmmanuel Vadot		};
838*69ed3df4SEmmanuel Vadot
839*69ed3df4SEmmanuel Vadot		syscon_apmu: system-controller@d4282800 {
840*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-syscon-apmu";
841*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd4282800 0x0 0x400>;
842*69ed3df4SEmmanuel Vadot			clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>;
843*69ed3df4SEmmanuel Vadot			clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m";
844*69ed3df4SEmmanuel Vadot			#clock-cells = <1>;
845*69ed3df4SEmmanuel Vadot			#power-domain-cells = <1>;
846*69ed3df4SEmmanuel Vadot			#reset-cells = <1>;
847*69ed3df4SEmmanuel Vadot		};
848*69ed3df4SEmmanuel Vadot
849*69ed3df4SEmmanuel Vadot		syscon_dciu: system-controller@d8440000 {
850*69ed3df4SEmmanuel Vadot			compatible = "spacemit,k3-syscon-dciu";
851*69ed3df4SEmmanuel Vadot			reg = <0x0 0xd8440000 0x0 0xc000>;
852*69ed3df4SEmmanuel Vadot			#clock-cells = <1>;
853*69ed3df4SEmmanuel Vadot			#reset-cells = <1>;
854*69ed3df4SEmmanuel Vadot		};
855*69ed3df4SEmmanuel Vadot
8560cd4430aSEmmanuel Vadot		simsic: interrupt-controller@e0400000 {
8570cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-imsics", "riscv,imsics";
8580cd4430aSEmmanuel Vadot			reg = <0x0 0xe0400000 0x0 0x200000>;
8590cd4430aSEmmanuel Vadot			#interrupt-cells = <0>;
8600cd4430aSEmmanuel Vadot			#msi-cells = <0>;
8610cd4430aSEmmanuel Vadot			interrupt-controller;
8620cd4430aSEmmanuel Vadot			interrupts-extended = <&cpu0_intc 9>, <&cpu1_intc 9>,
8630cd4430aSEmmanuel Vadot					      <&cpu2_intc 9>, <&cpu3_intc 9>,
8640cd4430aSEmmanuel Vadot					      <&cpu4_intc 9>, <&cpu5_intc 9>,
8650cd4430aSEmmanuel Vadot					      <&cpu6_intc 9>, <&cpu7_intc 9>;
8660cd4430aSEmmanuel Vadot			msi-controller;
8670cd4430aSEmmanuel Vadot			riscv,guest-index-bits = <6>;
8680cd4430aSEmmanuel Vadot			riscv,hart-index-bits = <4>;
8690cd4430aSEmmanuel Vadot			riscv,num-guest-ids = <511>;
8700cd4430aSEmmanuel Vadot			riscv,num-ids = <511>;
8710cd4430aSEmmanuel Vadot		};
8720cd4430aSEmmanuel Vadot
8730cd4430aSEmmanuel Vadot		saplic: interrupt-controller@e0804000 {
8740cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-aplic", "riscv,aplic";
8750cd4430aSEmmanuel Vadot			reg = <0x0 0xe0804000 0x0 0x4000>;
8760cd4430aSEmmanuel Vadot			#interrupt-cells = <2>;
8770cd4430aSEmmanuel Vadot			interrupt-controller;
8780cd4430aSEmmanuel Vadot			msi-parent = <&simsic>;
8790cd4430aSEmmanuel Vadot			riscv,num-sources = <512>;
8800cd4430aSEmmanuel Vadot		};
8810cd4430aSEmmanuel Vadot
8820cd4430aSEmmanuel Vadot		clint: timer@e081c000 {
8830cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-clint", "sifive,clint0";
8840cd4430aSEmmanuel Vadot			reg = <0x0 0xe081c000 0x0 0x4000>;
8850cd4430aSEmmanuel Vadot			interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>,
8860cd4430aSEmmanuel Vadot					      <&cpu1_intc 3>, <&cpu1_intc 7>,
8870cd4430aSEmmanuel Vadot					      <&cpu2_intc 3>, <&cpu2_intc 7>,
8880cd4430aSEmmanuel Vadot					      <&cpu3_intc 3>, <&cpu3_intc 7>,
8890cd4430aSEmmanuel Vadot					      <&cpu4_intc 3>, <&cpu4_intc 7>,
8900cd4430aSEmmanuel Vadot					      <&cpu5_intc 3>, <&cpu5_intc 7>,
8910cd4430aSEmmanuel Vadot					      <&cpu6_intc 3>, <&cpu6_intc 7>,
8920cd4430aSEmmanuel Vadot					      <&cpu7_intc 3>, <&cpu7_intc 7>;
8930cd4430aSEmmanuel Vadot		};
8940cd4430aSEmmanuel Vadot
895*69ed3df4SEmmanuel Vadot		/* sec_i2c3: 0xf0614000, not available from Linux */
896*69ed3df4SEmmanuel Vadot
8970cd4430aSEmmanuel Vadot		mimsic: interrupt-controller@f1000000 {
8980cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-imsics", "riscv,imsics";
8990cd4430aSEmmanuel Vadot			reg = <0x0 0xf1000000 0x0 0x10000>;
9000cd4430aSEmmanuel Vadot			#interrupt-cells = <0>;
9010cd4430aSEmmanuel Vadot			#msi-cells = <0>;
9020cd4430aSEmmanuel Vadot			interrupt-controller;
9030cd4430aSEmmanuel Vadot			interrupts-extended = <&cpu0_intc 11>, <&cpu1_intc 11>,
9040cd4430aSEmmanuel Vadot					      <&cpu2_intc 11>, <&cpu3_intc 11>,
9050cd4430aSEmmanuel Vadot					      <&cpu4_intc 11>, <&cpu5_intc 11>,
9060cd4430aSEmmanuel Vadot					      <&cpu6_intc 11>, <&cpu7_intc 11>;
9070cd4430aSEmmanuel Vadot			msi-controller;
9080cd4430aSEmmanuel Vadot			riscv,guest-index-bits = <6>;
9090cd4430aSEmmanuel Vadot			riscv,hart-index-bits = <4>;
9100cd4430aSEmmanuel Vadot			riscv,num-guest-ids = <511>;
9110cd4430aSEmmanuel Vadot			riscv,num-ids = <511>;
9120cd4430aSEmmanuel Vadot			status = "reserved";
9130cd4430aSEmmanuel Vadot		};
9140cd4430aSEmmanuel Vadot
9150cd4430aSEmmanuel Vadot		maplic: interrupt-controller@f1800000 {
9160cd4430aSEmmanuel Vadot			compatible = "spacemit,k3-aplic", "riscv,aplic";
9170cd4430aSEmmanuel Vadot			reg = <0x0 0xf1800000 0x0 0x4000>;
9180cd4430aSEmmanuel Vadot			#interrupt-cells = <2>;
9190cd4430aSEmmanuel Vadot			interrupt-controller;
9200cd4430aSEmmanuel Vadot			msi-parent = <&mimsic>;
9210cd4430aSEmmanuel Vadot			riscv,children = <&saplic>;
9220cd4430aSEmmanuel Vadot			riscv,delegation = <&saplic 1 512>;
9230cd4430aSEmmanuel Vadot			riscv,num-sources = <512>;
9240cd4430aSEmmanuel Vadot			status = "reserved";
9250cd4430aSEmmanuel Vadot		};
9260cd4430aSEmmanuel Vadot	};
9270cd4430aSEmmanuel Vadot};
928