1*0cd4430aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*0cd4430aSEmmanuel Vadot/* 3*0cd4430aSEmmanuel Vadot * Realtek Kent SoC family 4*0cd4430aSEmmanuel Vadot * 5*0cd4430aSEmmanuel Vadot * Copyright (c) 2024 Realtek Semiconductor Corp. 6*0cd4430aSEmmanuel Vadot */ 7*0cd4430aSEmmanuel Vadot 8*0cd4430aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 9*0cd4430aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 10*0cd4430aSEmmanuel Vadot 11*0cd4430aSEmmanuel Vadot/ { 12*0cd4430aSEmmanuel Vadot interrupt-parent = <&gic>; 13*0cd4430aSEmmanuel Vadot #address-cells = <2>; 14*0cd4430aSEmmanuel Vadot #size-cells = <2>; 15*0cd4430aSEmmanuel Vadot 16*0cd4430aSEmmanuel Vadot aliases { 17*0cd4430aSEmmanuel Vadot serial0 = &uart0; 18*0cd4430aSEmmanuel Vadot }; 19*0cd4430aSEmmanuel Vadot 20*0cd4430aSEmmanuel Vadot timer { 21*0cd4430aSEmmanuel Vadot compatible = "arm,armv8-timer"; 22*0cd4430aSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 23*0cd4430aSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 24*0cd4430aSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 25*0cd4430aSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>, 26*0cd4430aSEmmanuel Vadot <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 27*0cd4430aSEmmanuel Vadot }; 28*0cd4430aSEmmanuel Vadot 29*0cd4430aSEmmanuel Vadot cpus { 30*0cd4430aSEmmanuel Vadot #address-cells = <1>; 31*0cd4430aSEmmanuel Vadot #size-cells = <0>; 32*0cd4430aSEmmanuel Vadot 33*0cd4430aSEmmanuel Vadot cpu0: cpu@0 { 34*0cd4430aSEmmanuel Vadot device_type = "cpu"; 35*0cd4430aSEmmanuel Vadot compatible = "arm,cortex-a78"; 36*0cd4430aSEmmanuel Vadot reg = <0x0>; 37*0cd4430aSEmmanuel Vadot enable-method = "psci"; 38*0cd4430aSEmmanuel Vadot next-level-cache = <&l2_0>; 39*0cd4430aSEmmanuel Vadot dynamic-power-coefficient = <454>; 40*0cd4430aSEmmanuel Vadot #cooling-cells = <2>; 41*0cd4430aSEmmanuel Vadot 42*0cd4430aSEmmanuel Vadot l2_0: l2-cache { 43*0cd4430aSEmmanuel Vadot compatible = "cache"; 44*0cd4430aSEmmanuel Vadot cache-level = <2>; 45*0cd4430aSEmmanuel Vadot cache-line-size = <64>; 46*0cd4430aSEmmanuel Vadot cache-sets = <256>; 47*0cd4430aSEmmanuel Vadot cache-size = <0x40000>; 48*0cd4430aSEmmanuel Vadot cache-unified; 49*0cd4430aSEmmanuel Vadot next-level-cache = <&l3>; 50*0cd4430aSEmmanuel Vadot }; 51*0cd4430aSEmmanuel Vadot }; 52*0cd4430aSEmmanuel Vadot 53*0cd4430aSEmmanuel Vadot cpu1: cpu@100 { 54*0cd4430aSEmmanuel Vadot device_type = "cpu"; 55*0cd4430aSEmmanuel Vadot compatible = "arm,cortex-a78"; 56*0cd4430aSEmmanuel Vadot reg = <0x100>; 57*0cd4430aSEmmanuel Vadot enable-method = "psci"; 58*0cd4430aSEmmanuel Vadot next-level-cache = <&l2_1>; 59*0cd4430aSEmmanuel Vadot dynamic-power-coefficient = <454>; 60*0cd4430aSEmmanuel Vadot #cooling-cells = <2>; 61*0cd4430aSEmmanuel Vadot 62*0cd4430aSEmmanuel Vadot l2_1: l2-cache { 63*0cd4430aSEmmanuel Vadot compatible = "cache"; 64*0cd4430aSEmmanuel Vadot cache-level = <2>; 65*0cd4430aSEmmanuel Vadot cache-line-size = <64>; 66*0cd4430aSEmmanuel Vadot cache-sets = <256>; 67*0cd4430aSEmmanuel Vadot cache-size = <0x40000>; 68*0cd4430aSEmmanuel Vadot cache-unified; 69*0cd4430aSEmmanuel Vadot next-level-cache = <&l3>; 70*0cd4430aSEmmanuel Vadot }; 71*0cd4430aSEmmanuel Vadot }; 72*0cd4430aSEmmanuel Vadot 73*0cd4430aSEmmanuel Vadot cpu2: cpu@200 { 74*0cd4430aSEmmanuel Vadot device_type = "cpu"; 75*0cd4430aSEmmanuel Vadot compatible = "arm,cortex-a78"; 76*0cd4430aSEmmanuel Vadot reg = <0x200>; 77*0cd4430aSEmmanuel Vadot enable-method = "psci"; 78*0cd4430aSEmmanuel Vadot next-level-cache = <&l2_2>; 79*0cd4430aSEmmanuel Vadot dynamic-power-coefficient = <454>; 80*0cd4430aSEmmanuel Vadot #cooling-cells = <2>; 81*0cd4430aSEmmanuel Vadot 82*0cd4430aSEmmanuel Vadot l2_2: l2-cache { 83*0cd4430aSEmmanuel Vadot compatible = "cache"; 84*0cd4430aSEmmanuel Vadot cache-level = <2>; 85*0cd4430aSEmmanuel Vadot cache-line-size = <64>; 86*0cd4430aSEmmanuel Vadot cache-sets = <256>; 87*0cd4430aSEmmanuel Vadot cache-size = <0x40000>; 88*0cd4430aSEmmanuel Vadot cache-unified; 89*0cd4430aSEmmanuel Vadot next-level-cache = <&l3>; 90*0cd4430aSEmmanuel Vadot }; 91*0cd4430aSEmmanuel Vadot }; 92*0cd4430aSEmmanuel Vadot 93*0cd4430aSEmmanuel Vadot cpu3: cpu@300 { 94*0cd4430aSEmmanuel Vadot device_type = "cpu"; 95*0cd4430aSEmmanuel Vadot compatible = "arm,cortex-a78"; 96*0cd4430aSEmmanuel Vadot reg = <0x300>; 97*0cd4430aSEmmanuel Vadot enable-method = "psci"; 98*0cd4430aSEmmanuel Vadot next-level-cache = <&l2_3>; 99*0cd4430aSEmmanuel Vadot dynamic-power-coefficient = <454>; 100*0cd4430aSEmmanuel Vadot #cooling-cells = <2>; 101*0cd4430aSEmmanuel Vadot 102*0cd4430aSEmmanuel Vadot l2_3: l2-cache { 103*0cd4430aSEmmanuel Vadot compatible = "cache"; 104*0cd4430aSEmmanuel Vadot cache-level = <2>; 105*0cd4430aSEmmanuel Vadot cache-line-size = <64>; 106*0cd4430aSEmmanuel Vadot cache-sets = <256>; 107*0cd4430aSEmmanuel Vadot cache-size = <0x40000>; 108*0cd4430aSEmmanuel Vadot cache-unified; 109*0cd4430aSEmmanuel Vadot next-level-cache = <&l3>; 110*0cd4430aSEmmanuel Vadot }; 111*0cd4430aSEmmanuel Vadot }; 112*0cd4430aSEmmanuel Vadot 113*0cd4430aSEmmanuel Vadot l3: l3-cache { 114*0cd4430aSEmmanuel Vadot compatible = "cache"; 115*0cd4430aSEmmanuel Vadot cache-level = <3>; 116*0cd4430aSEmmanuel Vadot cache-line-size = <64>; 117*0cd4430aSEmmanuel Vadot cache-sets = <512>; 118*0cd4430aSEmmanuel Vadot cache-size = <0x200000>; 119*0cd4430aSEmmanuel Vadot cache-unified; 120*0cd4430aSEmmanuel Vadot }; 121*0cd4430aSEmmanuel Vadot }; 122*0cd4430aSEmmanuel Vadot 123*0cd4430aSEmmanuel Vadot psci: psci { 124*0cd4430aSEmmanuel Vadot compatible = "arm,psci-1.0"; 125*0cd4430aSEmmanuel Vadot method = "smc"; 126*0cd4430aSEmmanuel Vadot }; 127*0cd4430aSEmmanuel Vadot 128*0cd4430aSEmmanuel Vadot soc@0 { 129*0cd4430aSEmmanuel Vadot compatible = "simple-bus"; 130*0cd4430aSEmmanuel Vadot ranges = <0x0 0x0 0x0 0x40000>, /* boot code */ 131*0cd4430aSEmmanuel Vadot <0x98000000 0x0 0x98000000 0xef0000>, /* rbus */ 132*0cd4430aSEmmanuel Vadot <0xa0000000 0x0 0xa0000000 0x10000000>, /* PCIE */ 133*0cd4430aSEmmanuel Vadot <0xff000000 0x0 0xff000000 0x200000>; /* GIC */ 134*0cd4430aSEmmanuel Vadot #address-cells = <1>; 135*0cd4430aSEmmanuel Vadot #size-cells = <1>; 136*0cd4430aSEmmanuel Vadot 137*0cd4430aSEmmanuel Vadot rbus: bus@98000000 { 138*0cd4430aSEmmanuel Vadot compatible = "simple-bus"; 139*0cd4430aSEmmanuel Vadot ranges = <0x0 0x98000000 0xef0000>, 140*0cd4430aSEmmanuel Vadot <0xa0000000 0xa0000000 0x10000000>; /* PCIE */ 141*0cd4430aSEmmanuel Vadot #address-cells = <1>; 142*0cd4430aSEmmanuel Vadot #size-cells = <1>; 143*0cd4430aSEmmanuel Vadot 144*0cd4430aSEmmanuel Vadot uart0: serial@7800 { 145*0cd4430aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 146*0cd4430aSEmmanuel Vadot reg = <0x7800 0x100>; 147*0cd4430aSEmmanuel Vadot clock-frequency = <432000000>; 148*0cd4430aSEmmanuel Vadot interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 149*0cd4430aSEmmanuel Vadot reg-io-width = <4>; 150*0cd4430aSEmmanuel Vadot reg-shift = <2>; 151*0cd4430aSEmmanuel Vadot status = "disabled"; 152*0cd4430aSEmmanuel Vadot }; 153*0cd4430aSEmmanuel Vadot }; 154*0cd4430aSEmmanuel Vadot 155*0cd4430aSEmmanuel Vadot gic: interrupt-controller@ff100000 { 156*0cd4430aSEmmanuel Vadot compatible = "arm,gic-v3"; 157*0cd4430aSEmmanuel Vadot reg = <0xff100000 0x10000>, 158*0cd4430aSEmmanuel Vadot <0xff140000 0x80000>; 159*0cd4430aSEmmanuel Vadot interrupt-controller; 160*0cd4430aSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 161*0cd4430aSEmmanuel Vadot #address-cells = <1>; 162*0cd4430aSEmmanuel Vadot #interrupt-cells = <3>; 163*0cd4430aSEmmanuel Vadot #size-cells = <1>; 164*0cd4430aSEmmanuel Vadot }; 165*0cd4430aSEmmanuel Vadot }; 166*0cd4430aSEmmanuel Vadot}; 167