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