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