1*7983e6c3SYao Zi// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*7983e6c3SYao Zi/* 3*7983e6c3SYao Zi * Copyright (c) 2022 Rockchip Electronics Co., Ltd. 4*7983e6c3SYao Zi * Copyright (c) 2024 Yao Zi <ziyao@disroot.org> 5*7983e6c3SYao Zi */ 6*7983e6c3SYao Zi 7*7983e6c3SYao Zi#include <dt-bindings/interrupt-controller/arm-gic.h> 8*7983e6c3SYao Zi#include <dt-bindings/interrupt-controller/irq.h> 9*7983e6c3SYao Zi 10*7983e6c3SYao Zi/ { 11*7983e6c3SYao Zi compatible = "rockchip,rk3528"; 12*7983e6c3SYao Zi 13*7983e6c3SYao Zi interrupt-parent = <&gic>; 14*7983e6c3SYao Zi #address-cells = <2>; 15*7983e6c3SYao Zi #size-cells = <2>; 16*7983e6c3SYao Zi 17*7983e6c3SYao Zi aliases { 18*7983e6c3SYao Zi serial0 = &uart0; 19*7983e6c3SYao Zi serial1 = &uart1; 20*7983e6c3SYao Zi serial2 = &uart2; 21*7983e6c3SYao Zi serial3 = &uart3; 22*7983e6c3SYao Zi serial4 = &uart4; 23*7983e6c3SYao Zi serial5 = &uart5; 24*7983e6c3SYao Zi serial6 = &uart6; 25*7983e6c3SYao Zi serial7 = &uart7; 26*7983e6c3SYao Zi }; 27*7983e6c3SYao Zi 28*7983e6c3SYao Zi cpus { 29*7983e6c3SYao Zi #address-cells = <1>; 30*7983e6c3SYao Zi #size-cells = <0>; 31*7983e6c3SYao Zi 32*7983e6c3SYao Zi cpu-map { 33*7983e6c3SYao Zi cluster0 { 34*7983e6c3SYao Zi core0 { 35*7983e6c3SYao Zi cpu = <&cpu0>; 36*7983e6c3SYao Zi }; 37*7983e6c3SYao Zi core1 { 38*7983e6c3SYao Zi cpu = <&cpu1>; 39*7983e6c3SYao Zi }; 40*7983e6c3SYao Zi core2 { 41*7983e6c3SYao Zi cpu = <&cpu2>; 42*7983e6c3SYao Zi }; 43*7983e6c3SYao Zi core3 { 44*7983e6c3SYao Zi cpu = <&cpu3>; 45*7983e6c3SYao Zi }; 46*7983e6c3SYao Zi }; 47*7983e6c3SYao Zi }; 48*7983e6c3SYao Zi 49*7983e6c3SYao Zi cpu0: cpu@0 { 50*7983e6c3SYao Zi compatible = "arm,cortex-a53"; 51*7983e6c3SYao Zi reg = <0x0>; 52*7983e6c3SYao Zi device_type = "cpu"; 53*7983e6c3SYao Zi enable-method = "psci"; 54*7983e6c3SYao Zi }; 55*7983e6c3SYao Zi 56*7983e6c3SYao Zi cpu1: cpu@1 { 57*7983e6c3SYao Zi compatible = "arm,cortex-a53"; 58*7983e6c3SYao Zi reg = <0x1>; 59*7983e6c3SYao Zi device_type = "cpu"; 60*7983e6c3SYao Zi enable-method = "psci"; 61*7983e6c3SYao Zi }; 62*7983e6c3SYao Zi 63*7983e6c3SYao Zi cpu2: cpu@2 { 64*7983e6c3SYao Zi compatible = "arm,cortex-a53"; 65*7983e6c3SYao Zi reg = <0x2>; 66*7983e6c3SYao Zi device_type = "cpu"; 67*7983e6c3SYao Zi enable-method = "psci"; 68*7983e6c3SYao Zi }; 69*7983e6c3SYao Zi 70*7983e6c3SYao Zi cpu3: cpu@3 { 71*7983e6c3SYao Zi compatible = "arm,cortex-a53"; 72*7983e6c3SYao Zi reg = <0x3>; 73*7983e6c3SYao Zi device_type = "cpu"; 74*7983e6c3SYao Zi enable-method = "psci"; 75*7983e6c3SYao Zi }; 76*7983e6c3SYao Zi }; 77*7983e6c3SYao Zi 78*7983e6c3SYao Zi psci { 79*7983e6c3SYao Zi compatible = "arm,psci-1.0", "arm,psci-0.2"; 80*7983e6c3SYao Zi method = "smc"; 81*7983e6c3SYao Zi }; 82*7983e6c3SYao Zi 83*7983e6c3SYao Zi timer { 84*7983e6c3SYao Zi compatible = "arm,armv8-timer"; 85*7983e6c3SYao Zi interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 86*7983e6c3SYao Zi <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 87*7983e6c3SYao Zi <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 88*7983e6c3SYao Zi <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 89*7983e6c3SYao Zi }; 90*7983e6c3SYao Zi 91*7983e6c3SYao Zi xin24m: clock-xin24m { 92*7983e6c3SYao Zi compatible = "fixed-clock"; 93*7983e6c3SYao Zi clock-frequency = <24000000>; 94*7983e6c3SYao Zi clock-output-names = "xin24m"; 95*7983e6c3SYao Zi #clock-cells = <0>; 96*7983e6c3SYao Zi }; 97*7983e6c3SYao Zi 98*7983e6c3SYao Zi soc { 99*7983e6c3SYao Zi compatible = "simple-bus"; 100*7983e6c3SYao Zi ranges = <0x0 0xfe000000 0x0 0xfe000000 0x0 0x2000000>; 101*7983e6c3SYao Zi #address-cells = <2>; 102*7983e6c3SYao Zi #size-cells = <2>; 103*7983e6c3SYao Zi 104*7983e6c3SYao Zi gic: interrupt-controller@fed01000 { 105*7983e6c3SYao Zi compatible = "arm,gic-400"; 106*7983e6c3SYao Zi reg = <0x0 0xfed01000 0 0x1000>, 107*7983e6c3SYao Zi <0x0 0xfed02000 0 0x2000>, 108*7983e6c3SYao Zi <0x0 0xfed04000 0 0x2000>, 109*7983e6c3SYao Zi <0x0 0xfed06000 0 0x2000>; 110*7983e6c3SYao Zi interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | 111*7983e6c3SYao Zi IRQ_TYPE_LEVEL_LOW)>; 112*7983e6c3SYao Zi interrupt-controller; 113*7983e6c3SYao Zi #address-cells = <0>; 114*7983e6c3SYao Zi #interrupt-cells = <3>; 115*7983e6c3SYao Zi }; 116*7983e6c3SYao Zi 117*7983e6c3SYao Zi uart0: serial@ff9f0000 { 118*7983e6c3SYao Zi compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 119*7983e6c3SYao Zi reg = <0x0 0xff9f0000 0x0 0x100>; 120*7983e6c3SYao Zi clock-frequency = <24000000>; 121*7983e6c3SYao Zi interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 122*7983e6c3SYao Zi reg-io-width = <4>; 123*7983e6c3SYao Zi reg-shift = <2>; 124*7983e6c3SYao Zi status = "disabled"; 125*7983e6c3SYao Zi }; 126*7983e6c3SYao Zi 127*7983e6c3SYao Zi uart1: serial@ff9f8000 { 128*7983e6c3SYao Zi compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 129*7983e6c3SYao Zi reg = <0x0 0xff9f8000 0x0 0x100>; 130*7983e6c3SYao Zi interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 131*7983e6c3SYao Zi reg-io-width = <4>; 132*7983e6c3SYao Zi reg-shift = <2>; 133*7983e6c3SYao Zi status = "disabled"; 134*7983e6c3SYao Zi }; 135*7983e6c3SYao Zi 136*7983e6c3SYao Zi uart2: serial@ffa00000 { 137*7983e6c3SYao Zi compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 138*7983e6c3SYao Zi reg = <0x0 0xffa00000 0x0 0x100>; 139*7983e6c3SYao Zi interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 140*7983e6c3SYao Zi reg-io-width = <4>; 141*7983e6c3SYao Zi reg-shift = <2>; 142*7983e6c3SYao Zi status = "disabled"; 143*7983e6c3SYao Zi }; 144*7983e6c3SYao Zi 145*7983e6c3SYao Zi uart3: serial@ffa08000 { 146*7983e6c3SYao Zi compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 147*7983e6c3SYao Zi reg = <0x0 0xffa08000 0x0 0x100>; 148*7983e6c3SYao Zi reg-io-width = <4>; 149*7983e6c3SYao Zi reg-shift = <2>; 150*7983e6c3SYao Zi status = "disabled"; 151*7983e6c3SYao Zi }; 152*7983e6c3SYao Zi 153*7983e6c3SYao Zi uart4: serial@ffa10000 { 154*7983e6c3SYao Zi compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 155*7983e6c3SYao Zi reg = <0x0 0xffa10000 0x0 0x100>; 156*7983e6c3SYao Zi interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 157*7983e6c3SYao Zi reg-io-width = <4>; 158*7983e6c3SYao Zi reg-shift = <2>; 159*7983e6c3SYao Zi status = "disabled"; 160*7983e6c3SYao Zi }; 161*7983e6c3SYao Zi 162*7983e6c3SYao Zi uart5: serial@ffa18000 { 163*7983e6c3SYao Zi compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 164*7983e6c3SYao Zi reg = <0x0 0xffa18000 0x0 0x100>; 165*7983e6c3SYao Zi interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 166*7983e6c3SYao Zi reg-io-width = <4>; 167*7983e6c3SYao Zi reg-shift = <2>; 168*7983e6c3SYao Zi status = "disabled"; 169*7983e6c3SYao Zi }; 170*7983e6c3SYao Zi 171*7983e6c3SYao Zi uart6: serial@ffa20000 { 172*7983e6c3SYao Zi compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 173*7983e6c3SYao Zi reg = <0x0 0xffa20000 0x0 0x100>; 174*7983e6c3SYao Zi interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 175*7983e6c3SYao Zi reg-io-width = <4>; 176*7983e6c3SYao Zi reg-shift = <2>; 177*7983e6c3SYao Zi status = "disabled"; 178*7983e6c3SYao Zi }; 179*7983e6c3SYao Zi 180*7983e6c3SYao Zi uart7: serial@ffa28000 { 181*7983e6c3SYao Zi compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart"; 182*7983e6c3SYao Zi reg = <0x0 0xffa28000 0x0 0x100>; 183*7983e6c3SYao Zi interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 184*7983e6c3SYao Zi reg-io-width = <4>; 185*7983e6c3SYao Zi reg-shift = <2>; 186*7983e6c3SYao Zi status = "disabled"; 187*7983e6c3SYao Zi }; 188*7983e6c3SYao Zi }; 189*7983e6c3SYao Zi}; 190