1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Device Tree Source for the R-Car V3U (R8A779A0) SoC 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2020 Renesas Electronics Corp. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun#include <dt-bindings/clock/r8a779a0-cpg-mssr.h> 9*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 10*4882a593Smuzhiyun#include <dt-bindings/power/r8a779a0-sysc.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun/ { 13*4882a593Smuzhiyun compatible = "renesas,r8a779a0"; 14*4882a593Smuzhiyun #address-cells = <2>; 15*4882a593Smuzhiyun #size-cells = <2>; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun cpus { 18*4882a593Smuzhiyun #address-cells = <1>; 19*4882a593Smuzhiyun #size-cells = <0>; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun a76_0: cpu@0 { 22*4882a593Smuzhiyun compatible = "arm,cortex-a76"; 23*4882a593Smuzhiyun reg = <0>; 24*4882a593Smuzhiyun device_type = "cpu"; 25*4882a593Smuzhiyun power-domains = <&sysc R8A779A0_PD_A1E0D0C0>; 26*4882a593Smuzhiyun next-level-cache = <&L3_CA76_0>; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun L3_CA76_0: cache-controller-0 { 30*4882a593Smuzhiyun compatible = "cache"; 31*4882a593Smuzhiyun power-domains = <&sysc R8A779A0_PD_A2E0D0>; 32*4882a593Smuzhiyun cache-unified; 33*4882a593Smuzhiyun cache-level = <3>; 34*4882a593Smuzhiyun }; 35*4882a593Smuzhiyun }; 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun extal_clk: extal { 38*4882a593Smuzhiyun compatible = "fixed-clock"; 39*4882a593Smuzhiyun #clock-cells = <0>; 40*4882a593Smuzhiyun /* This value must be overridden by the board */ 41*4882a593Smuzhiyun clock-frequency = <0>; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun extalr_clk: extalr { 45*4882a593Smuzhiyun compatible = "fixed-clock"; 46*4882a593Smuzhiyun #clock-cells = <0>; 47*4882a593Smuzhiyun /* This value must be overridden by the board */ 48*4882a593Smuzhiyun clock-frequency = <0>; 49*4882a593Smuzhiyun }; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun pmu_a76 { 52*4882a593Smuzhiyun compatible = "arm,cortex-a76-pmu"; 53*4882a593Smuzhiyun interrupts-extended = <&gic GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun /* External SCIF clock - to be overridden by boards that provide it */ 57*4882a593Smuzhiyun scif_clk: scif { 58*4882a593Smuzhiyun compatible = "fixed-clock"; 59*4882a593Smuzhiyun #clock-cells = <0>; 60*4882a593Smuzhiyun clock-frequency = <0>; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun soc: soc { 64*4882a593Smuzhiyun compatible = "simple-bus"; 65*4882a593Smuzhiyun interrupt-parent = <&gic>; 66*4882a593Smuzhiyun #address-cells = <2>; 67*4882a593Smuzhiyun #size-cells = <2>; 68*4882a593Smuzhiyun ranges; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun cpg: clock-controller@e6150000 { 71*4882a593Smuzhiyun compatible = "renesas,r8a779a0-cpg-mssr"; 72*4882a593Smuzhiyun reg = <0 0xe6150000 0 0x4000>; 73*4882a593Smuzhiyun clocks = <&extal_clk>, <&extalr_clk>; 74*4882a593Smuzhiyun clock-names = "extal", "extalr"; 75*4882a593Smuzhiyun #clock-cells = <2>; 76*4882a593Smuzhiyun #power-domain-cells = <0>; 77*4882a593Smuzhiyun #reset-cells = <1>; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun rst: reset-controller@e6160000 { 81*4882a593Smuzhiyun compatible = "renesas,r8a779a0-rst"; 82*4882a593Smuzhiyun reg = <0 0xe6160000 0 0x4000>; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun sysc: system-controller@e6180000 { 86*4882a593Smuzhiyun compatible = "renesas,r8a779a0-sysc"; 87*4882a593Smuzhiyun reg = <0 0xe6180000 0 0x4000>; 88*4882a593Smuzhiyun #power-domain-cells = <1>; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun scif0: serial@e6e60000 { 92*4882a593Smuzhiyun compatible = "renesas,scif-r8a779a0", 93*4882a593Smuzhiyun "renesas,rcar-gen3-scif", "renesas,scif"; 94*4882a593Smuzhiyun reg = <0 0xe6e60000 0 64>; 95*4882a593Smuzhiyun interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>; 96*4882a593Smuzhiyun clocks = <&cpg CPG_MOD 702>, 97*4882a593Smuzhiyun <&cpg CPG_CORE R8A779A0_CLK_S1D2>, 98*4882a593Smuzhiyun <&scif_clk>; 99*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 100*4882a593Smuzhiyun power-domains = <&sysc R8A779A0_PD_ALWAYS_ON>; 101*4882a593Smuzhiyun resets = <&cpg 702>; 102*4882a593Smuzhiyun status = "disabled"; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun gic: interrupt-controller@f1000000 { 106*4882a593Smuzhiyun compatible = "arm,gic-v3"; 107*4882a593Smuzhiyun #interrupt-cells = <3>; 108*4882a593Smuzhiyun #address-cells = <0>; 109*4882a593Smuzhiyun interrupt-controller; 110*4882a593Smuzhiyun reg = <0x0 0xf1000000 0 0x20000>, 111*4882a593Smuzhiyun <0x0 0xf1060000 0 0x110000>; 112*4882a593Smuzhiyun interrupts = <GIC_PPI 9 113*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>; 114*4882a593Smuzhiyun }; 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun prr: chipid@fff00044 { 117*4882a593Smuzhiyun compatible = "renesas,prr"; 118*4882a593Smuzhiyun reg = <0 0xfff00044 0 4>; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun timer { 123*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 124*4882a593Smuzhiyun interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 125*4882a593Smuzhiyun <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 126*4882a593Smuzhiyun <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 127*4882a593Smuzhiyun <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 128*4882a593Smuzhiyun }; 129*4882a593Smuzhiyun}; 130