1*90493b09SBiju Das// SPDX-License-Identifier: GPL-2.0 2*90493b09SBiju Das/* 3*90493b09SBiju Das * Device Tree Source for the r8a774a1 SoC 4*90493b09SBiju Das * 5*90493b09SBiju Das * Copyright (C) 2018 Renesas Electronics Corp. 6*90493b09SBiju Das */ 7*90493b09SBiju Das 8*90493b09SBiju Das#include <dt-bindings/interrupt-controller/irq.h> 9*90493b09SBiju Das#include <dt-bindings/interrupt-controller/arm-gic.h> 10*90493b09SBiju Das#include <dt-bindings/clock/renesas-cpg-mssr.h> 11*90493b09SBiju Das 12*90493b09SBiju Das/ { 13*90493b09SBiju Das compatible = "renesas,r8a774a1"; 14*90493b09SBiju Das #address-cells = <2>; 15*90493b09SBiju Das #size-cells = <2>; 16*90493b09SBiju Das 17*90493b09SBiju Das /* 18*90493b09SBiju Das * The external audio clocks are configured as 0 Hz fixed frequency 19*90493b09SBiju Das * clocks by default. 20*90493b09SBiju Das * Boards that provide audio clocks should override them. 21*90493b09SBiju Das */ 22*90493b09SBiju Das audio_clk_a: audio_clk_a { 23*90493b09SBiju Das compatible = "fixed-clock"; 24*90493b09SBiju Das #clock-cells = <0>; 25*90493b09SBiju Das clock-frequency = <0>; 26*90493b09SBiju Das }; 27*90493b09SBiju Das 28*90493b09SBiju Das audio_clk_b: audio_clk_b { 29*90493b09SBiju Das compatible = "fixed-clock"; 30*90493b09SBiju Das #clock-cells = <0>; 31*90493b09SBiju Das clock-frequency = <0>; 32*90493b09SBiju Das }; 33*90493b09SBiju Das 34*90493b09SBiju Das audio_clk_c: audio_clk_c { 35*90493b09SBiju Das compatible = "fixed-clock"; 36*90493b09SBiju Das #clock-cells = <0>; 37*90493b09SBiju Das clock-frequency = <0>; 38*90493b09SBiju Das }; 39*90493b09SBiju Das 40*90493b09SBiju Das /* External CAN clock - to be overridden by boards that provide it */ 41*90493b09SBiju Das can_clk: can { 42*90493b09SBiju Das compatible = "fixed-clock"; 43*90493b09SBiju Das #clock-cells = <0>; 44*90493b09SBiju Das clock-frequency = <0>; 45*90493b09SBiju Das }; 46*90493b09SBiju Das 47*90493b09SBiju Das cpus { 48*90493b09SBiju Das #address-cells = <1>; 49*90493b09SBiju Das #size-cells = <0>; 50*90493b09SBiju Das 51*90493b09SBiju Das a57_0: cpu@0 { 52*90493b09SBiju Das compatible = "arm,cortex-a57", "arm,armv8"; 53*90493b09SBiju Das reg = <0x0>; 54*90493b09SBiju Das device_type = "cpu"; 55*90493b09SBiju Das power-domains = <&sysc 0>; 56*90493b09SBiju Das next-level-cache = <&L2_CA57>; 57*90493b09SBiju Das enable-method = "psci"; 58*90493b09SBiju Das clocks =<&cpg CPG_CORE 0>; 59*90493b09SBiju Das }; 60*90493b09SBiju Das 61*90493b09SBiju Das a57_1: cpu@1 { 62*90493b09SBiju Das compatible = "arm,cortex-a57", "arm,armv8"; 63*90493b09SBiju Das reg = <0x1>; 64*90493b09SBiju Das device_type = "cpu"; 65*90493b09SBiju Das power-domains = <&sysc 1>; 66*90493b09SBiju Das next-level-cache = <&L2_CA57>; 67*90493b09SBiju Das enable-method = "psci"; 68*90493b09SBiju Das clocks =<&cpg CPG_CORE 0>; 69*90493b09SBiju Das }; 70*90493b09SBiju Das 71*90493b09SBiju Das L2_CA57: cache-controller-0 { 72*90493b09SBiju Das compatible = "cache"; 73*90493b09SBiju Das power-domains = <&sysc 12>; 74*90493b09SBiju Das cache-unified; 75*90493b09SBiju Das cache-level = <2>; 76*90493b09SBiju Das }; 77*90493b09SBiju Das }; 78*90493b09SBiju Das 79*90493b09SBiju Das extal_clk: extal { 80*90493b09SBiju Das compatible = "fixed-clock"; 81*90493b09SBiju Das #clock-cells = <0>; 82*90493b09SBiju Das /* This value must be overridden by the board */ 83*90493b09SBiju Das clock-frequency = <0>; 84*90493b09SBiju Das }; 85*90493b09SBiju Das 86*90493b09SBiju Das extalr_clk: extalr { 87*90493b09SBiju Das compatible = "fixed-clock"; 88*90493b09SBiju Das #clock-cells = <0>; 89*90493b09SBiju Das /* This value must be overridden by the board */ 90*90493b09SBiju Das clock-frequency = <0>; 91*90493b09SBiju Das }; 92*90493b09SBiju Das 93*90493b09SBiju Das /* External PCIe clock - can be overridden by the board */ 94*90493b09SBiju Das pcie_bus_clk: pcie_bus { 95*90493b09SBiju Das compatible = "fixed-clock"; 96*90493b09SBiju Das #clock-cells = <0>; 97*90493b09SBiju Das clock-frequency = <0>; 98*90493b09SBiju Das }; 99*90493b09SBiju Das 100*90493b09SBiju Das pmu_a57 { 101*90493b09SBiju Das compatible = "arm,cortex-a57-pmu"; 102*90493b09SBiju Das interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 103*90493b09SBiju Das <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 104*90493b09SBiju Das interrupt-affinity = <&a57_0>, <&a57_1>; 105*90493b09SBiju Das }; 106*90493b09SBiju Das 107*90493b09SBiju Das psci { 108*90493b09SBiju Das compatible = "arm,psci-1.0", "arm,psci-0.2"; 109*90493b09SBiju Das method = "smc"; 110*90493b09SBiju Das }; 111*90493b09SBiju Das 112*90493b09SBiju Das /* External SCIF clock - to be overridden by boards that provide it */ 113*90493b09SBiju Das scif_clk: scif { 114*90493b09SBiju Das compatible = "fixed-clock"; 115*90493b09SBiju Das #clock-cells = <0>; 116*90493b09SBiju Das clock-frequency = <0>; 117*90493b09SBiju Das }; 118*90493b09SBiju Das 119*90493b09SBiju Das soc { 120*90493b09SBiju Das compatible = "simple-bus"; 121*90493b09SBiju Das interrupt-parent = <&gic>; 122*90493b09SBiju Das #address-cells = <2>; 123*90493b09SBiju Das #size-cells = <2>; 124*90493b09SBiju Das ranges; 125*90493b09SBiju Das 126*90493b09SBiju Das cpg: clock-controller@e6150000 { 127*90493b09SBiju Das compatible = "renesas,r8a774a1-cpg-mssr"; 128*90493b09SBiju Das reg = <0 0xe6150000 0 0x0bb0>; 129*90493b09SBiju Das clocks = <&extal_clk>, <&extalr_clk>; 130*90493b09SBiju Das clock-names = "extal", "extalr"; 131*90493b09SBiju Das #clock-cells = <2>; 132*90493b09SBiju Das #power-domain-cells = <0>; 133*90493b09SBiju Das #reset-cells = <1>; 134*90493b09SBiju Das }; 135*90493b09SBiju Das 136*90493b09SBiju Das rst: reset-controller@e6160000 { 137*90493b09SBiju Das compatible = "renesas,r8a774a1-rst"; 138*90493b09SBiju Das reg = <0 0xe6160000 0 0x018c>; 139*90493b09SBiju Das }; 140*90493b09SBiju Das 141*90493b09SBiju Das sysc: system-controller@e6180000 { 142*90493b09SBiju Das compatible = "renesas,r8a774a1-sysc"; 143*90493b09SBiju Das reg = <0 0xe6180000 0 0x0400>; 144*90493b09SBiju Das #power-domain-cells = <1>; 145*90493b09SBiju Das }; 146*90493b09SBiju Das 147*90493b09SBiju Das gic: interrupt-controller@f1010000 { 148*90493b09SBiju Das compatible = "arm,gic-400"; 149*90493b09SBiju Das #interrupt-cells = <3>; 150*90493b09SBiju Das #address-cells = <0>; 151*90493b09SBiju Das interrupt-controller; 152*90493b09SBiju Das reg = <0x0 0xf1010000 0 0x1000>, 153*90493b09SBiju Das <0x0 0xf1020000 0 0x20000>, 154*90493b09SBiju Das <0x0 0xf1040000 0 0x20000>, 155*90493b09SBiju Das <0x0 0xf1060000 0 0x20000>; 156*90493b09SBiju Das interrupts = <GIC_PPI 9 157*90493b09SBiju Das (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 158*90493b09SBiju Das clocks = <&cpg CPG_MOD 408>; 159*90493b09SBiju Das clock-names = "clk"; 160*90493b09SBiju Das power-domains = <&sysc 32>; 161*90493b09SBiju Das resets = <&cpg 408>; 162*90493b09SBiju Das }; 163*90493b09SBiju Das 164*90493b09SBiju Das prr: chipid@fff00044 { 165*90493b09SBiju Das compatible = "renesas,prr"; 166*90493b09SBiju Das reg = <0 0xfff00044 0 4>; 167*90493b09SBiju Das }; 168*90493b09SBiju Das }; 169*90493b09SBiju Das 170*90493b09SBiju Das timer { 171*90493b09SBiju Das compatible = "arm,armv8-timer"; 172*90493b09SBiju Das interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 173*90493b09SBiju Das <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 174*90493b09SBiju Das <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 175*90493b09SBiju Das <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 176*90493b09SBiju Das }; 177*90493b09SBiju Das 178*90493b09SBiju Das /* External USB clocks - can be overridden by the board */ 179*90493b09SBiju Das usb3s0_clk: usb3s0 { 180*90493b09SBiju Das compatible = "fixed-clock"; 181*90493b09SBiju Das #clock-cells = <0>; 182*90493b09SBiju Das clock-frequency = <0>; 183*90493b09SBiju Das }; 184*90493b09SBiju Das 185*90493b09SBiju Das usb_extal_clk: usb_extal { 186*90493b09SBiju Das compatible = "fixed-clock"; 187*90493b09SBiju Das #clock-cells = <0>; 188*90493b09SBiju Das clock-frequency = <0>; 189*90493b09SBiju Das }; 190*90493b09SBiju Das}; 191