1*80be23bbSPeter Chen// SPDX-License-Identifier: BSD-3-Clause 2*80be23bbSPeter Chen/* 3*80be23bbSPeter Chen * Copyright 2025 Cix Technology Group Co., Ltd. 4*80be23bbSPeter Chen * 5*80be23bbSPeter Chen */ 6*80be23bbSPeter Chen 7*80be23bbSPeter Chen#include <dt-bindings/interrupt-controller/arm-gic.h> 8*80be23bbSPeter Chen#include <dt-bindings/clock/cix,sky1.h> 9*80be23bbSPeter Chen 10*80be23bbSPeter Chen/ { 11*80be23bbSPeter Chen interrupt-parent = <&gic>; 12*80be23bbSPeter Chen #address-cells = <2>; 13*80be23bbSPeter Chen #size-cells = <2>; 14*80be23bbSPeter Chen 15*80be23bbSPeter Chen cpus { 16*80be23bbSPeter Chen #address-cells = <2>; 17*80be23bbSPeter Chen #size-cells = <0>; 18*80be23bbSPeter Chen 19*80be23bbSPeter Chen cpu0: cpu@0 { 20*80be23bbSPeter Chen compatible = "arm,cortex-a520"; 21*80be23bbSPeter Chen enable-method = "psci"; 22*80be23bbSPeter Chen reg = <0x0 0x0>; 23*80be23bbSPeter Chen device_type = "cpu"; 24*80be23bbSPeter Chen capacity-dmips-mhz = <403>; 25*80be23bbSPeter Chen }; 26*80be23bbSPeter Chen 27*80be23bbSPeter Chen cpu1: cpu@100 { 28*80be23bbSPeter Chen compatible = "arm,cortex-a520"; 29*80be23bbSPeter Chen enable-method = "psci"; 30*80be23bbSPeter Chen reg = <0x0 0x100>; 31*80be23bbSPeter Chen device_type = "cpu"; 32*80be23bbSPeter Chen capacity-dmips-mhz = <403>; 33*80be23bbSPeter Chen }; 34*80be23bbSPeter Chen 35*80be23bbSPeter Chen cpu2: cpu@200 { 36*80be23bbSPeter Chen compatible = "arm,cortex-a520"; 37*80be23bbSPeter Chen enable-method = "psci"; 38*80be23bbSPeter Chen reg = <0x0 0x200>; 39*80be23bbSPeter Chen device_type = "cpu"; 40*80be23bbSPeter Chen capacity-dmips-mhz = <403>; 41*80be23bbSPeter Chen }; 42*80be23bbSPeter Chen 43*80be23bbSPeter Chen cpu3: cpu@300 { 44*80be23bbSPeter Chen compatible = "arm,cortex-a520"; 45*80be23bbSPeter Chen enable-method = "psci"; 46*80be23bbSPeter Chen reg = <0x0 0x300>; 47*80be23bbSPeter Chen device_type = "cpu"; 48*80be23bbSPeter Chen capacity-dmips-mhz = <403>; 49*80be23bbSPeter Chen }; 50*80be23bbSPeter Chen 51*80be23bbSPeter Chen cpu4: cpu@400 { 52*80be23bbSPeter Chen compatible = "arm,cortex-a720"; 53*80be23bbSPeter Chen enable-method = "psci"; 54*80be23bbSPeter Chen reg = <0x0 0x400>; 55*80be23bbSPeter Chen device_type = "cpu"; 56*80be23bbSPeter Chen capacity-dmips-mhz = <1024>; 57*80be23bbSPeter Chen }; 58*80be23bbSPeter Chen 59*80be23bbSPeter Chen cpu5: cpu@500 { 60*80be23bbSPeter Chen compatible = "arm,cortex-a720"; 61*80be23bbSPeter Chen enable-method = "psci"; 62*80be23bbSPeter Chen reg = <0x0 0x500>; 63*80be23bbSPeter Chen device_type = "cpu"; 64*80be23bbSPeter Chen capacity-dmips-mhz = <1024>; 65*80be23bbSPeter Chen }; 66*80be23bbSPeter Chen 67*80be23bbSPeter Chen cpu6: cpu@600 { 68*80be23bbSPeter Chen compatible = "arm,cortex-a720"; 69*80be23bbSPeter Chen enable-method = "psci"; 70*80be23bbSPeter Chen reg = <0x0 0x600>; 71*80be23bbSPeter Chen device_type = "cpu"; 72*80be23bbSPeter Chen capacity-dmips-mhz = <1024>; 73*80be23bbSPeter Chen }; 74*80be23bbSPeter Chen 75*80be23bbSPeter Chen cpu7: cpu@700 { 76*80be23bbSPeter Chen compatible = "arm,cortex-a720"; 77*80be23bbSPeter Chen enable-method = "psci"; 78*80be23bbSPeter Chen reg = <0x0 0x700>; 79*80be23bbSPeter Chen device_type = "cpu"; 80*80be23bbSPeter Chen capacity-dmips-mhz = <1024>; 81*80be23bbSPeter Chen }; 82*80be23bbSPeter Chen 83*80be23bbSPeter Chen cpu8: cpu@800 { 84*80be23bbSPeter Chen compatible = "arm,cortex-a720"; 85*80be23bbSPeter Chen enable-method = "psci"; 86*80be23bbSPeter Chen reg = <0x0 0x800>; 87*80be23bbSPeter Chen device_type = "cpu"; 88*80be23bbSPeter Chen capacity-dmips-mhz = <1024>; 89*80be23bbSPeter Chen }; 90*80be23bbSPeter Chen 91*80be23bbSPeter Chen cpu9: cpu@900 { 92*80be23bbSPeter Chen compatible = "arm,cortex-a720"; 93*80be23bbSPeter Chen enable-method = "psci"; 94*80be23bbSPeter Chen reg = <0x0 0x900>; 95*80be23bbSPeter Chen device_type = "cpu"; 96*80be23bbSPeter Chen capacity-dmips-mhz = <1024>; 97*80be23bbSPeter Chen }; 98*80be23bbSPeter Chen 99*80be23bbSPeter Chen cpu10: cpu@a00 { 100*80be23bbSPeter Chen compatible = "arm,cortex-a720"; 101*80be23bbSPeter Chen enable-method = "psci"; 102*80be23bbSPeter Chen reg = <0x0 0xa00>; 103*80be23bbSPeter Chen device_type = "cpu"; 104*80be23bbSPeter Chen capacity-dmips-mhz = <1024>; 105*80be23bbSPeter Chen }; 106*80be23bbSPeter Chen 107*80be23bbSPeter Chen cpu11: cpu@b00 { 108*80be23bbSPeter Chen compatible = "arm,cortex-a720"; 109*80be23bbSPeter Chen enable-method = "psci"; 110*80be23bbSPeter Chen reg = <0x0 0xb00>; 111*80be23bbSPeter Chen device_type = "cpu"; 112*80be23bbSPeter Chen capacity-dmips-mhz = <1024>; 113*80be23bbSPeter Chen }; 114*80be23bbSPeter Chen 115*80be23bbSPeter Chen cpu-map { 116*80be23bbSPeter Chen cluster0 { 117*80be23bbSPeter Chen core0 { 118*80be23bbSPeter Chen cpu = <&cpu0>; 119*80be23bbSPeter Chen }; 120*80be23bbSPeter Chen core1 { 121*80be23bbSPeter Chen cpu = <&cpu1>; 122*80be23bbSPeter Chen }; 123*80be23bbSPeter Chen core2 { 124*80be23bbSPeter Chen cpu = <&cpu2>; 125*80be23bbSPeter Chen }; 126*80be23bbSPeter Chen core3 { 127*80be23bbSPeter Chen cpu = <&cpu3>; 128*80be23bbSPeter Chen }; 129*80be23bbSPeter Chen core4 { 130*80be23bbSPeter Chen cpu = <&cpu4>; 131*80be23bbSPeter Chen }; 132*80be23bbSPeter Chen core5 { 133*80be23bbSPeter Chen cpu = <&cpu5>; 134*80be23bbSPeter Chen }; 135*80be23bbSPeter Chen core6 { 136*80be23bbSPeter Chen cpu = <&cpu6>; 137*80be23bbSPeter Chen }; 138*80be23bbSPeter Chen core7 { 139*80be23bbSPeter Chen cpu = <&cpu7>; 140*80be23bbSPeter Chen }; 141*80be23bbSPeter Chen core8 { 142*80be23bbSPeter Chen cpu = <&cpu8>; 143*80be23bbSPeter Chen }; 144*80be23bbSPeter Chen core9 { 145*80be23bbSPeter Chen cpu = <&cpu9>; 146*80be23bbSPeter Chen }; 147*80be23bbSPeter Chen core10 { 148*80be23bbSPeter Chen cpu = <&cpu10>; 149*80be23bbSPeter Chen }; 150*80be23bbSPeter Chen core11 { 151*80be23bbSPeter Chen cpu = <&cpu11>; 152*80be23bbSPeter Chen }; 153*80be23bbSPeter Chen }; 154*80be23bbSPeter Chen }; 155*80be23bbSPeter Chen }; 156*80be23bbSPeter Chen 157*80be23bbSPeter Chen firmware { 158*80be23bbSPeter Chen ap_to_pm_scmi: scmi { 159*80be23bbSPeter Chen compatible = "arm,scmi"; 160*80be23bbSPeter Chen mbox-names = "tx", "rx"; 161*80be23bbSPeter Chen mboxes = <&mbox_ap2pm 8>, <&mbox_pm2ap 8>; 162*80be23bbSPeter Chen shmem = <&ap2pm_scmi_mem>, <&pm2ap_scmi_mem>; 163*80be23bbSPeter Chen #address-cells = <1>; 164*80be23bbSPeter Chen #size-cells = <0>; 165*80be23bbSPeter Chen 166*80be23bbSPeter Chen scmi_clk: protocol@14 { 167*80be23bbSPeter Chen reg = <0x14>; 168*80be23bbSPeter Chen #clock-cells = <1>; 169*80be23bbSPeter Chen }; 170*80be23bbSPeter Chen }; 171*80be23bbSPeter Chen }; 172*80be23bbSPeter Chen 173*80be23bbSPeter Chen pmu-a520 { 174*80be23bbSPeter Chen compatible = "arm,cortex-a520-pmu"; 175*80be23bbSPeter Chen interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_partition0>; 176*80be23bbSPeter Chen }; 177*80be23bbSPeter Chen 178*80be23bbSPeter Chen pmu-a720 { 179*80be23bbSPeter Chen compatible = "arm,cortex-a720-pmu"; 180*80be23bbSPeter Chen interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_partition1>; 181*80be23bbSPeter Chen }; 182*80be23bbSPeter Chen 183*80be23bbSPeter Chen psci { 184*80be23bbSPeter Chen compatible = "arm,psci-1.0"; 185*80be23bbSPeter Chen method = "smc"; 186*80be23bbSPeter Chen }; 187*80be23bbSPeter Chen 188*80be23bbSPeter Chen soc@0 { 189*80be23bbSPeter Chen compatible = "simple-bus"; 190*80be23bbSPeter Chen ranges = <0 0 0 0 0x20 0>; 191*80be23bbSPeter Chen dma-ranges; 192*80be23bbSPeter Chen #address-cells = <2>; 193*80be23bbSPeter Chen #size-cells = <2>; 194*80be23bbSPeter Chen 195*80be23bbSPeter Chen uart0: serial@40b0000 { 196*80be23bbSPeter Chen compatible = "arm,pl011", "arm,primecell"; 197*80be23bbSPeter Chen reg = <0x0 0x040b0000 0x0 0x1000>; 198*80be23bbSPeter Chen interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH 0>; 199*80be23bbSPeter Chen clocks = <&scmi_clk CLK_TREE_FCH_UART0_FUNC>, <&scmi_clk CLK_TREE_FCH_UART0_APB>; 200*80be23bbSPeter Chen clock-names = "uartclk", "apb_pclk"; 201*80be23bbSPeter Chen status = "disabled"; 202*80be23bbSPeter Chen }; 203*80be23bbSPeter Chen 204*80be23bbSPeter Chen uart1: serial@40c0000 { 205*80be23bbSPeter Chen compatible = "arm,pl011", "arm,primecell"; 206*80be23bbSPeter Chen reg = <0x0 0x040c0000 0x0 0x1000>; 207*80be23bbSPeter Chen interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH 0>; 208*80be23bbSPeter Chen clocks = <&scmi_clk CLK_TREE_FCH_UART1_FUNC>, <&scmi_clk CLK_TREE_FCH_UART1_APB>; 209*80be23bbSPeter Chen clock-names = "uartclk", "apb_pclk"; 210*80be23bbSPeter Chen status = "disabled"; 211*80be23bbSPeter Chen }; 212*80be23bbSPeter Chen 213*80be23bbSPeter Chen uart2: serial@40d0000 { 214*80be23bbSPeter Chen compatible = "arm,pl011", "arm,primecell"; 215*80be23bbSPeter Chen reg = <0x0 0x040d0000 0x0 0x1000>; 216*80be23bbSPeter Chen interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH 0>; 217*80be23bbSPeter Chen clocks = <&scmi_clk CLK_TREE_FCH_UART2_FUNC>, <&scmi_clk CLK_TREE_FCH_UART2_APB>; 218*80be23bbSPeter Chen clock-names = "uartclk", "apb_pclk"; 219*80be23bbSPeter Chen status = "disabled"; 220*80be23bbSPeter Chen }; 221*80be23bbSPeter Chen 222*80be23bbSPeter Chen uart3: serial@40e0000 { 223*80be23bbSPeter Chen compatible = "arm,pl011", "arm,primecell"; 224*80be23bbSPeter Chen reg = <0x0 0x040e0000 0x0 0x1000>; 225*80be23bbSPeter Chen interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH 0>; 226*80be23bbSPeter Chen clocks = <&scmi_clk CLK_TREE_FCH_UART3_FUNC>, <&scmi_clk CLK_TREE_FCH_UART3_APB>; 227*80be23bbSPeter Chen clock-names = "uartclk", "apb_pclk"; 228*80be23bbSPeter Chen status = "disabled"; 229*80be23bbSPeter Chen }; 230*80be23bbSPeter Chen 231*80be23bbSPeter Chen mbox_ap2se: mailbox@5060000 { 232*80be23bbSPeter Chen compatible = "cix,sky1-mbox"; 233*80be23bbSPeter Chen reg = <0x0 0x05060000 0x0 0x10000>; 234*80be23bbSPeter Chen interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH 0>; 235*80be23bbSPeter Chen #mbox-cells = <1>; 236*80be23bbSPeter Chen cix,mbox-dir = "tx"; 237*80be23bbSPeter Chen }; 238*80be23bbSPeter Chen 239*80be23bbSPeter Chen mbox_se2ap: mailbox@5070000 { 240*80be23bbSPeter Chen compatible = "cix,sky1-mbox"; 241*80be23bbSPeter Chen reg = <0x0 0x05070000 0x0 0x10000>; 242*80be23bbSPeter Chen interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH 0>; 243*80be23bbSPeter Chen #mbox-cells = <1>; 244*80be23bbSPeter Chen cix,mbox-dir = "rx"; 245*80be23bbSPeter Chen }; 246*80be23bbSPeter Chen 247*80be23bbSPeter Chen ap2pm_scmi_mem: shmem@6590000 { 248*80be23bbSPeter Chen compatible = "arm,scmi-shmem"; 249*80be23bbSPeter Chen reg = <0x0 0x06590000 0x0 0x80>; 250*80be23bbSPeter Chen reg-io-width = <4>; 251*80be23bbSPeter Chen }; 252*80be23bbSPeter Chen 253*80be23bbSPeter Chen mbox_ap2pm: mailbox@6590080 { 254*80be23bbSPeter Chen compatible = "cix,sky1-mbox"; 255*80be23bbSPeter Chen reg = <0x0 0x06590080 0x0 0xff80>; 256*80be23bbSPeter Chen interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH 0>; 257*80be23bbSPeter Chen #mbox-cells = <1>; 258*80be23bbSPeter Chen cix,mbox-dir = "tx"; 259*80be23bbSPeter Chen }; 260*80be23bbSPeter Chen 261*80be23bbSPeter Chen pm2ap_scmi_mem: shmem@65a0000 { 262*80be23bbSPeter Chen compatible = "arm,scmi-shmem"; 263*80be23bbSPeter Chen reg = <0x0 0x065a0000 0x0 0x80>; 264*80be23bbSPeter Chen reg-io-width = <4>; 265*80be23bbSPeter Chen }; 266*80be23bbSPeter Chen 267*80be23bbSPeter Chen mbox_pm2ap: mailbox@65a0080 { 268*80be23bbSPeter Chen compatible = "cix,sky1-mbox"; 269*80be23bbSPeter Chen reg = <0x0 0x065a0080 0x0 0xff80>; 270*80be23bbSPeter Chen interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH 0>; 271*80be23bbSPeter Chen #mbox-cells = <1>; 272*80be23bbSPeter Chen cix,mbox-dir = "rx"; 273*80be23bbSPeter Chen }; 274*80be23bbSPeter Chen 275*80be23bbSPeter Chen mbox_sfh2ap: mailbox@8090000 { 276*80be23bbSPeter Chen compatible = "cix,sky1-mbox"; 277*80be23bbSPeter Chen reg = <0x0 0x08090000 0x0 0x10000>; 278*80be23bbSPeter Chen interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH 0>; 279*80be23bbSPeter Chen #mbox-cells = <1>; 280*80be23bbSPeter Chen cix,mbox-dir = "rx"; 281*80be23bbSPeter Chen }; 282*80be23bbSPeter Chen 283*80be23bbSPeter Chen mbox_ap2sfh: mailbox@80a0000 { 284*80be23bbSPeter Chen compatible = "cix,sky1-mbox"; 285*80be23bbSPeter Chen reg = <0x0 0x080a0000 0x0 0x10000>; 286*80be23bbSPeter Chen interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>; 287*80be23bbSPeter Chen #mbox-cells = <1>; 288*80be23bbSPeter Chen cix,mbox-dir = "tx"; 289*80be23bbSPeter Chen }; 290*80be23bbSPeter Chen 291*80be23bbSPeter Chen gic: interrupt-controller@e010000 { 292*80be23bbSPeter Chen compatible = "arm,gic-v3"; 293*80be23bbSPeter Chen reg = <0x0 0x0e010000 0 0x10000>, /* GICD */ 294*80be23bbSPeter Chen <0x0 0x0e090000 0 0x300000>; /* GICR * 12 */ 295*80be23bbSPeter Chen interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW 0>; 296*80be23bbSPeter Chen #interrupt-cells = <4>; 297*80be23bbSPeter Chen interrupt-controller; 298*80be23bbSPeter Chen #address-cells = <2>; 299*80be23bbSPeter Chen #size-cells = <2>; 300*80be23bbSPeter Chen ranges; 301*80be23bbSPeter Chen 302*80be23bbSPeter Chen gic_its: msi-controller@e050000 { 303*80be23bbSPeter Chen compatible = "arm,gic-v3-its"; 304*80be23bbSPeter Chen reg = <0x0 0x0e050000 0x0 0x30000>; 305*80be23bbSPeter Chen msi-controller; 306*80be23bbSPeter Chen #msi-cells = <1>; 307*80be23bbSPeter Chen }; 308*80be23bbSPeter Chen 309*80be23bbSPeter Chen ppi-partitions { 310*80be23bbSPeter Chen ppi_partition0: interrupt-partition-0 { 311*80be23bbSPeter Chen affinity = <&cpu0 &cpu1 &cpu2 &cpu3>; 312*80be23bbSPeter Chen }; 313*80be23bbSPeter Chen 314*80be23bbSPeter Chen ppi_partition1: interrupt-partition-1 { 315*80be23bbSPeter Chen affinity = <&cpu4 &cpu5 &cpu6 &cpu7 &cpu8 &cpu9 &cpu10 &cpu11>; 316*80be23bbSPeter Chen }; 317*80be23bbSPeter Chen }; 318*80be23bbSPeter Chen }; 319*80be23bbSPeter Chen }; 320*80be23bbSPeter Chen 321*80be23bbSPeter Chen timer { 322*80be23bbSPeter Chen compatible = "arm,armv8-timer"; 323*80be23bbSPeter Chen interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt"; 324*80be23bbSPeter Chen interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>, 325*80be23bbSPeter Chen <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>, 326*80be23bbSPeter Chen <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>, 327*80be23bbSPeter Chen <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>, 328*80be23bbSPeter Chen <GIC_PPI 12 IRQ_TYPE_LEVEL_LOW 0>; 329*80be23bbSPeter Chen }; 330*80be23bbSPeter Chen}; 331