1*dabb6ec6SAlexander Sverdlin// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*dabb6ec6SAlexander Sverdlin 3*dabb6ec6SAlexander Sverdlin#define SOC_PERIPHERAL_IRQ(nr) GIC_SPI (nr) 4*dabb6ec6SAlexander Sverdlin 5*dabb6ec6SAlexander Sverdlin#include <dt-bindings/interrupt-controller/arm-gic.h> 6*dabb6ec6SAlexander Sverdlin#include <riscv/sophgo/cv180x.dtsi> 7*dabb6ec6SAlexander Sverdlin#include <riscv/sophgo/cv181x.dtsi> 8*dabb6ec6SAlexander Sverdlin 9*dabb6ec6SAlexander Sverdlin/ { 10*dabb6ec6SAlexander Sverdlin compatible = "sophgo,sg2000"; 11*dabb6ec6SAlexander Sverdlin interrupt-parent = <&gic>; 12*dabb6ec6SAlexander Sverdlin 13*dabb6ec6SAlexander Sverdlin cpus { 14*dabb6ec6SAlexander Sverdlin #address-cells = <1>; 15*dabb6ec6SAlexander Sverdlin #size-cells = <0>; 16*dabb6ec6SAlexander Sverdlin 17*dabb6ec6SAlexander Sverdlin cpu@0 { 18*dabb6ec6SAlexander Sverdlin compatible = "arm,cortex-a53"; 19*dabb6ec6SAlexander Sverdlin device_type = "cpu"; 20*dabb6ec6SAlexander Sverdlin reg = <0>; 21*dabb6ec6SAlexander Sverdlin enable-method = "psci"; 22*dabb6ec6SAlexander Sverdlin i-cache-size = <32768>; 23*dabb6ec6SAlexander Sverdlin d-cache-size = <32768>; 24*dabb6ec6SAlexander Sverdlin next-level-cache = <&l2>; 25*dabb6ec6SAlexander Sverdlin }; 26*dabb6ec6SAlexander Sverdlin 27*dabb6ec6SAlexander Sverdlin l2: l2-cache { 28*dabb6ec6SAlexander Sverdlin compatible = "cache"; 29*dabb6ec6SAlexander Sverdlin cache-level = <2>; 30*dabb6ec6SAlexander Sverdlin cache-unified; 31*dabb6ec6SAlexander Sverdlin cache-size = <0x20000>; 32*dabb6ec6SAlexander Sverdlin }; 33*dabb6ec6SAlexander Sverdlin }; 34*dabb6ec6SAlexander Sverdlin 35*dabb6ec6SAlexander Sverdlin memory@80000000 { 36*dabb6ec6SAlexander Sverdlin device_type = "memory"; 37*dabb6ec6SAlexander Sverdlin reg = <0x80000000 0x20000000>; /* 512MiB */ 38*dabb6ec6SAlexander Sverdlin }; 39*dabb6ec6SAlexander Sverdlin 40*dabb6ec6SAlexander Sverdlin pmu { 41*dabb6ec6SAlexander Sverdlin compatible = "arm,cortex-a53-pmu"; 42*dabb6ec6SAlexander Sverdlin interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 43*dabb6ec6SAlexander Sverdlin <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 44*dabb6ec6SAlexander Sverdlin }; 45*dabb6ec6SAlexander Sverdlin 46*dabb6ec6SAlexander Sverdlin psci { 47*dabb6ec6SAlexander Sverdlin compatible = "arm,psci-0.2"; 48*dabb6ec6SAlexander Sverdlin method = "smc"; 49*dabb6ec6SAlexander Sverdlin cpu_on = <0xc4000003>; 50*dabb6ec6SAlexander Sverdlin cpu_off = <0x84000002>; 51*dabb6ec6SAlexander Sverdlin }; 52*dabb6ec6SAlexander Sverdlin 53*dabb6ec6SAlexander Sverdlin soc { 54*dabb6ec6SAlexander Sverdlin gic: interrupt-controller@1f01000 { 55*dabb6ec6SAlexander Sverdlin compatible = "arm,cortex-a15-gic"; 56*dabb6ec6SAlexander Sverdlin interrupt-controller; 57*dabb6ec6SAlexander Sverdlin #interrupt-cells = <3>; 58*dabb6ec6SAlexander Sverdlin reg = <0x01f01000 0x1000>, 59*dabb6ec6SAlexander Sverdlin <0x01f02000 0x2000>; 60*dabb6ec6SAlexander Sverdlin }; 61*dabb6ec6SAlexander Sverdlin 62*dabb6ec6SAlexander Sverdlin pinctrl: pinctrl@3001000 { 63*dabb6ec6SAlexander Sverdlin compatible = "sophgo,sg2000-pinctrl"; 64*dabb6ec6SAlexander Sverdlin reg = <0x03001000 0x1000>, 65*dabb6ec6SAlexander Sverdlin <0x05027000 0x1000>; 66*dabb6ec6SAlexander Sverdlin reg-names = "sys", "rtc"; 67*dabb6ec6SAlexander Sverdlin }; 68*dabb6ec6SAlexander Sverdlin 69*dabb6ec6SAlexander Sverdlin clk: clock-controller@3002000 { 70*dabb6ec6SAlexander Sverdlin compatible = "sophgo,sg2000-clk"; 71*dabb6ec6SAlexander Sverdlin reg = <0x03002000 0x1000>; 72*dabb6ec6SAlexander Sverdlin clocks = <&osc>; 73*dabb6ec6SAlexander Sverdlin #clock-cells = <1>; 74*dabb6ec6SAlexander Sverdlin }; 75*dabb6ec6SAlexander Sverdlin }; 76*dabb6ec6SAlexander Sverdlin 77*dabb6ec6SAlexander Sverdlin timer { 78*dabb6ec6SAlexander Sverdlin compatible = "arm,armv8-timer"; 79*dabb6ec6SAlexander Sverdlin interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 80*dabb6ec6SAlexander Sverdlin <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 81*dabb6ec6SAlexander Sverdlin <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 82*dabb6ec6SAlexander Sverdlin <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 83*dabb6ec6SAlexander Sverdlin always-on; 84*dabb6ec6SAlexander Sverdlin clock-frequency = <25000000>; 85*dabb6ec6SAlexander Sverdlin }; 86*dabb6ec6SAlexander Sverdlin}; 87