1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Device Tree Source for the R-Car H1 (R8A77790) SoC 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2013 Renesas Solutions Corp. 6*4882a593Smuzhiyun * Copyright (C) 2013 Simon Horman 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun#include <dt-bindings/clock/r8a7779-clock.h> 10*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 11*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h> 12*4882a593Smuzhiyun#include <dt-bindings/power/r8a7779-sysc.h> 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun/ { 15*4882a593Smuzhiyun compatible = "renesas,r8a7779"; 16*4882a593Smuzhiyun interrupt-parent = <&gic>; 17*4882a593Smuzhiyun #address-cells = <1>; 18*4882a593Smuzhiyun #size-cells = <1>; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun cpus { 21*4882a593Smuzhiyun #address-cells = <1>; 22*4882a593Smuzhiyun #size-cells = <0>; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun cpu@0 { 25*4882a593Smuzhiyun device_type = "cpu"; 26*4882a593Smuzhiyun compatible = "arm,cortex-a9"; 27*4882a593Smuzhiyun reg = <0>; 28*4882a593Smuzhiyun clock-frequency = <1000000000>; 29*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_Z>; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun cpu@1 { 32*4882a593Smuzhiyun device_type = "cpu"; 33*4882a593Smuzhiyun compatible = "arm,cortex-a9"; 34*4882a593Smuzhiyun reg = <1>; 35*4882a593Smuzhiyun clock-frequency = <1000000000>; 36*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_Z>; 37*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ARM1>; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun cpu@2 { 40*4882a593Smuzhiyun device_type = "cpu"; 41*4882a593Smuzhiyun compatible = "arm,cortex-a9"; 42*4882a593Smuzhiyun reg = <2>; 43*4882a593Smuzhiyun clock-frequency = <1000000000>; 44*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_Z>; 45*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ARM2>; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun cpu@3 { 48*4882a593Smuzhiyun device_type = "cpu"; 49*4882a593Smuzhiyun compatible = "arm,cortex-a9"; 50*4882a593Smuzhiyun reg = <3>; 51*4882a593Smuzhiyun clock-frequency = <1000000000>; 52*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_Z>; 53*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ARM3>; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun aliases { 58*4882a593Smuzhiyun spi0 = &hspi0; 59*4882a593Smuzhiyun spi1 = &hspi1; 60*4882a593Smuzhiyun spi2 = &hspi2; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun gic: interrupt-controller@f0001000 { 64*4882a593Smuzhiyun compatible = "arm,cortex-a9-gic"; 65*4882a593Smuzhiyun #interrupt-cells = <3>; 66*4882a593Smuzhiyun interrupt-controller; 67*4882a593Smuzhiyun reg = <0xf0001000 0x1000>, 68*4882a593Smuzhiyun <0xf0000100 0x100>; 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun timer@f0000200 { 72*4882a593Smuzhiyun compatible = "arm,cortex-a9-global-timer"; 73*4882a593Smuzhiyun reg = <0xf0000200 0x100>; 74*4882a593Smuzhiyun interrupts = <GIC_PPI 11 75*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 76*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_ZS>; 77*4882a593Smuzhiyun }; 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun timer@f0000600 { 80*4882a593Smuzhiyun compatible = "arm,cortex-a9-twd-timer"; 81*4882a593Smuzhiyun reg = <0xf0000600 0x20>; 82*4882a593Smuzhiyun interrupts = <GIC_PPI 13 83*4882a593Smuzhiyun (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 84*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_ZS>; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun gpio0: gpio@ffc40000 { 88*4882a593Smuzhiyun compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; 89*4882a593Smuzhiyun reg = <0xffc40000 0x2c>; 90*4882a593Smuzhiyun interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 91*4882a593Smuzhiyun #gpio-cells = <2>; 92*4882a593Smuzhiyun gpio-controller; 93*4882a593Smuzhiyun gpio-ranges = <&pfc 0 0 32>; 94*4882a593Smuzhiyun #interrupt-cells = <2>; 95*4882a593Smuzhiyun interrupt-controller; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun gpio1: gpio@ffc41000 { 99*4882a593Smuzhiyun compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; 100*4882a593Smuzhiyun reg = <0xffc41000 0x2c>; 101*4882a593Smuzhiyun interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 102*4882a593Smuzhiyun #gpio-cells = <2>; 103*4882a593Smuzhiyun gpio-controller; 104*4882a593Smuzhiyun gpio-ranges = <&pfc 0 32 32>; 105*4882a593Smuzhiyun #interrupt-cells = <2>; 106*4882a593Smuzhiyun interrupt-controller; 107*4882a593Smuzhiyun }; 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun gpio2: gpio@ffc42000 { 110*4882a593Smuzhiyun compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; 111*4882a593Smuzhiyun reg = <0xffc42000 0x2c>; 112*4882a593Smuzhiyun interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 113*4882a593Smuzhiyun #gpio-cells = <2>; 114*4882a593Smuzhiyun gpio-controller; 115*4882a593Smuzhiyun gpio-ranges = <&pfc 0 64 32>; 116*4882a593Smuzhiyun #interrupt-cells = <2>; 117*4882a593Smuzhiyun interrupt-controller; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun gpio3: gpio@ffc43000 { 121*4882a593Smuzhiyun compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; 122*4882a593Smuzhiyun reg = <0xffc43000 0x2c>; 123*4882a593Smuzhiyun interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 124*4882a593Smuzhiyun #gpio-cells = <2>; 125*4882a593Smuzhiyun gpio-controller; 126*4882a593Smuzhiyun gpio-ranges = <&pfc 0 96 32>; 127*4882a593Smuzhiyun #interrupt-cells = <2>; 128*4882a593Smuzhiyun interrupt-controller; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun gpio4: gpio@ffc44000 { 132*4882a593Smuzhiyun compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; 133*4882a593Smuzhiyun reg = <0xffc44000 0x2c>; 134*4882a593Smuzhiyun interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 135*4882a593Smuzhiyun #gpio-cells = <2>; 136*4882a593Smuzhiyun gpio-controller; 137*4882a593Smuzhiyun gpio-ranges = <&pfc 0 128 32>; 138*4882a593Smuzhiyun #interrupt-cells = <2>; 139*4882a593Smuzhiyun interrupt-controller; 140*4882a593Smuzhiyun }; 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun gpio5: gpio@ffc45000 { 143*4882a593Smuzhiyun compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; 144*4882a593Smuzhiyun reg = <0xffc45000 0x2c>; 145*4882a593Smuzhiyun interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 146*4882a593Smuzhiyun #gpio-cells = <2>; 147*4882a593Smuzhiyun gpio-controller; 148*4882a593Smuzhiyun gpio-ranges = <&pfc 0 160 32>; 149*4882a593Smuzhiyun #interrupt-cells = <2>; 150*4882a593Smuzhiyun interrupt-controller; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun gpio6: gpio@ffc46000 { 154*4882a593Smuzhiyun compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; 155*4882a593Smuzhiyun reg = <0xffc46000 0x2c>; 156*4882a593Smuzhiyun interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 157*4882a593Smuzhiyun #gpio-cells = <2>; 158*4882a593Smuzhiyun gpio-controller; 159*4882a593Smuzhiyun gpio-ranges = <&pfc 0 192 9>; 160*4882a593Smuzhiyun #interrupt-cells = <2>; 161*4882a593Smuzhiyun interrupt-controller; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun irqpin0: interrupt-controller@fe78001c { 165*4882a593Smuzhiyun compatible = "renesas,intc-irqpin-r8a7779", "renesas,intc-irqpin"; 166*4882a593Smuzhiyun #interrupt-cells = <2>; 167*4882a593Smuzhiyun status = "disabled"; 168*4882a593Smuzhiyun interrupt-controller; 169*4882a593Smuzhiyun reg = <0xfe78001c 4>, 170*4882a593Smuzhiyun <0xfe780010 4>, 171*4882a593Smuzhiyun <0xfe780024 4>, 172*4882a593Smuzhiyun <0xfe780044 4>, 173*4882a593Smuzhiyun <0xfe780064 4>, 174*4882a593Smuzhiyun <0xfe780000 4>; 175*4882a593Smuzhiyun interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 176*4882a593Smuzhiyun <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, 177*4882a593Smuzhiyun <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 178*4882a593Smuzhiyun <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 179*4882a593Smuzhiyun sense-bitfield-width = <2>; 180*4882a593Smuzhiyun }; 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun i2c0: i2c@ffc70000 { 183*4882a593Smuzhiyun #address-cells = <1>; 184*4882a593Smuzhiyun #size-cells = <0>; 185*4882a593Smuzhiyun compatible = "renesas,i2c-r8a7779", "renesas,rcar-gen1-i2c"; 186*4882a593Smuzhiyun reg = <0xffc70000 0x1000>; 187*4882a593Smuzhiyun interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 188*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_I2C0>; 189*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 190*4882a593Smuzhiyun status = "disabled"; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun i2c1: i2c@ffc71000 { 194*4882a593Smuzhiyun #address-cells = <1>; 195*4882a593Smuzhiyun #size-cells = <0>; 196*4882a593Smuzhiyun compatible = "renesas,i2c-r8a7779", "renesas,rcar-gen1-i2c"; 197*4882a593Smuzhiyun reg = <0xffc71000 0x1000>; 198*4882a593Smuzhiyun interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 199*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_I2C1>; 200*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 201*4882a593Smuzhiyun status = "disabled"; 202*4882a593Smuzhiyun }; 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun i2c2: i2c@ffc72000 { 205*4882a593Smuzhiyun #address-cells = <1>; 206*4882a593Smuzhiyun #size-cells = <0>; 207*4882a593Smuzhiyun compatible = "renesas,i2c-r8a7779", "renesas,rcar-gen1-i2c"; 208*4882a593Smuzhiyun reg = <0xffc72000 0x1000>; 209*4882a593Smuzhiyun interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 210*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_I2C2>; 211*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 212*4882a593Smuzhiyun status = "disabled"; 213*4882a593Smuzhiyun }; 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun i2c3: i2c@ffc73000 { 216*4882a593Smuzhiyun #address-cells = <1>; 217*4882a593Smuzhiyun #size-cells = <0>; 218*4882a593Smuzhiyun compatible = "renesas,i2c-r8a7779", "renesas,rcar-gen1-i2c"; 219*4882a593Smuzhiyun reg = <0xffc73000 0x1000>; 220*4882a593Smuzhiyun interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 221*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_I2C3>; 222*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 223*4882a593Smuzhiyun status = "disabled"; 224*4882a593Smuzhiyun }; 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun scif0: serial@ffe40000 { 227*4882a593Smuzhiyun compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif", 228*4882a593Smuzhiyun "renesas,scif"; 229*4882a593Smuzhiyun reg = <0xffe40000 0x100>; 230*4882a593Smuzhiyun interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 231*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_SCIF0>, 232*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>; 233*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 234*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 235*4882a593Smuzhiyun status = "disabled"; 236*4882a593Smuzhiyun }; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun scif1: serial@ffe41000 { 239*4882a593Smuzhiyun compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif", 240*4882a593Smuzhiyun "renesas,scif"; 241*4882a593Smuzhiyun reg = <0xffe41000 0x100>; 242*4882a593Smuzhiyun interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 243*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_SCIF1>, 244*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>; 245*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 246*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 247*4882a593Smuzhiyun status = "disabled"; 248*4882a593Smuzhiyun }; 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun scif2: serial@ffe42000 { 251*4882a593Smuzhiyun compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif", 252*4882a593Smuzhiyun "renesas,scif"; 253*4882a593Smuzhiyun reg = <0xffe42000 0x100>; 254*4882a593Smuzhiyun interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 255*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_SCIF2>, 256*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>; 257*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 258*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 259*4882a593Smuzhiyun status = "disabled"; 260*4882a593Smuzhiyun }; 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun scif3: serial@ffe43000 { 263*4882a593Smuzhiyun compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif", 264*4882a593Smuzhiyun "renesas,scif"; 265*4882a593Smuzhiyun reg = <0xffe43000 0x100>; 266*4882a593Smuzhiyun interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 267*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_SCIF3>, 268*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>; 269*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 270*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 271*4882a593Smuzhiyun status = "disabled"; 272*4882a593Smuzhiyun }; 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun scif4: serial@ffe44000 { 275*4882a593Smuzhiyun compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif", 276*4882a593Smuzhiyun "renesas,scif"; 277*4882a593Smuzhiyun reg = <0xffe44000 0x100>; 278*4882a593Smuzhiyun interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 279*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_SCIF4>, 280*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>; 281*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 282*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 283*4882a593Smuzhiyun status = "disabled"; 284*4882a593Smuzhiyun }; 285*4882a593Smuzhiyun 286*4882a593Smuzhiyun scif5: serial@ffe45000 { 287*4882a593Smuzhiyun compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif", 288*4882a593Smuzhiyun "renesas,scif"; 289*4882a593Smuzhiyun reg = <0xffe45000 0x100>; 290*4882a593Smuzhiyun interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 291*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_SCIF5>, 292*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>; 293*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 294*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 295*4882a593Smuzhiyun status = "disabled"; 296*4882a593Smuzhiyun }; 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun hscif0: serial@ffe48000 { 299*4882a593Smuzhiyun compatible = "renesas,hscif-r8a7779", 300*4882a593Smuzhiyun "renesas,rcar-gen1-hscif", "renesas,hscif"; 301*4882a593Smuzhiyun reg = <0xffe48000 96>; 302*4882a593Smuzhiyun interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 303*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_HSCIF0>, 304*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>, 305*4882a593Smuzhiyun <&scif_clk>; 306*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 307*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 308*4882a593Smuzhiyun status = "disabled"; 309*4882a593Smuzhiyun }; 310*4882a593Smuzhiyun 311*4882a593Smuzhiyun hscif1: serial@ffe49000 { 312*4882a593Smuzhiyun compatible = "renesas,hscif-r8a7779", 313*4882a593Smuzhiyun "renesas,rcar-gen1-hscif", "renesas,hscif"; 314*4882a593Smuzhiyun reg = <0xffe49000 96>; 315*4882a593Smuzhiyun interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 316*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_HSCIF1>, 317*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>, 318*4882a593Smuzhiyun <&scif_clk>; 319*4882a593Smuzhiyun clock-names = "fck", "brg_int", "scif_clk"; 320*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 321*4882a593Smuzhiyun status = "disabled"; 322*4882a593Smuzhiyun }; 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun pfc: pinctrl@fffc0000 { 325*4882a593Smuzhiyun compatible = "renesas,pfc-r8a7779"; 326*4882a593Smuzhiyun reg = <0xfffc0000 0x23c>; 327*4882a593Smuzhiyun }; 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun thermal@ffc48000 { 330*4882a593Smuzhiyun compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal"; 331*4882a593Smuzhiyun reg = <0xffc48000 0x38>; 332*4882a593Smuzhiyun }; 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun tmu0: timer@ffd80000 { 335*4882a593Smuzhiyun compatible = "renesas,tmu-r8a7779", "renesas,tmu"; 336*4882a593Smuzhiyun reg = <0xffd80000 0x30>; 337*4882a593Smuzhiyun interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 338*4882a593Smuzhiyun <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 339*4882a593Smuzhiyun <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 340*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_TMU0>; 341*4882a593Smuzhiyun clock-names = "fck"; 342*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 343*4882a593Smuzhiyun 344*4882a593Smuzhiyun #renesas,channels = <3>; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun status = "disabled"; 347*4882a593Smuzhiyun }; 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun tmu1: timer@ffd81000 { 350*4882a593Smuzhiyun compatible = "renesas,tmu-r8a7779", "renesas,tmu"; 351*4882a593Smuzhiyun reg = <0xffd81000 0x30>; 352*4882a593Smuzhiyun interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 353*4882a593Smuzhiyun <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, 354*4882a593Smuzhiyun <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 355*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_TMU1>; 356*4882a593Smuzhiyun clock-names = "fck"; 357*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 358*4882a593Smuzhiyun 359*4882a593Smuzhiyun #renesas,channels = <3>; 360*4882a593Smuzhiyun 361*4882a593Smuzhiyun status = "disabled"; 362*4882a593Smuzhiyun }; 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun tmu2: timer@ffd82000 { 365*4882a593Smuzhiyun compatible = "renesas,tmu-r8a7779", "renesas,tmu"; 366*4882a593Smuzhiyun reg = <0xffd82000 0x30>; 367*4882a593Smuzhiyun interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 368*4882a593Smuzhiyun <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 369*4882a593Smuzhiyun <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 370*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_TMU2>; 371*4882a593Smuzhiyun clock-names = "fck"; 372*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun #renesas,channels = <3>; 375*4882a593Smuzhiyun 376*4882a593Smuzhiyun status = "disabled"; 377*4882a593Smuzhiyun }; 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun sata: sata@fc600000 { 380*4882a593Smuzhiyun compatible = "renesas,sata-r8a7779"; 381*4882a593Smuzhiyun reg = <0xfc600000 0x200000>; 382*4882a593Smuzhiyun interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 383*4882a593Smuzhiyun clocks = <&mstp1_clks R8A7779_CLK_SATA>; 384*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 385*4882a593Smuzhiyun status = "disabled"; 386*4882a593Smuzhiyun }; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun sdhi0: mmc@ffe4c000 { 389*4882a593Smuzhiyun compatible = "renesas,sdhi-r8a7779", 390*4882a593Smuzhiyun "renesas,rcar-gen1-sdhi"; 391*4882a593Smuzhiyun reg = <0xffe4c000 0x100>; 392*4882a593Smuzhiyun interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 393*4882a593Smuzhiyun clocks = <&mstp3_clks R8A7779_CLK_SDHI0>; 394*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 395*4882a593Smuzhiyun status = "disabled"; 396*4882a593Smuzhiyun }; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun sdhi1: mmc@ffe4d000 { 399*4882a593Smuzhiyun compatible = "renesas,sdhi-r8a7779", 400*4882a593Smuzhiyun "renesas,rcar-gen1-sdhi"; 401*4882a593Smuzhiyun reg = <0xffe4d000 0x100>; 402*4882a593Smuzhiyun interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 403*4882a593Smuzhiyun clocks = <&mstp3_clks R8A7779_CLK_SDHI1>; 404*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 405*4882a593Smuzhiyun status = "disabled"; 406*4882a593Smuzhiyun }; 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun sdhi2: mmc@ffe4e000 { 409*4882a593Smuzhiyun compatible = "renesas,sdhi-r8a7779", 410*4882a593Smuzhiyun "renesas,rcar-gen1-sdhi"; 411*4882a593Smuzhiyun reg = <0xffe4e000 0x100>; 412*4882a593Smuzhiyun interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 413*4882a593Smuzhiyun clocks = <&mstp3_clks R8A7779_CLK_SDHI2>; 414*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 415*4882a593Smuzhiyun status = "disabled"; 416*4882a593Smuzhiyun }; 417*4882a593Smuzhiyun 418*4882a593Smuzhiyun sdhi3: mmc@ffe4f000 { 419*4882a593Smuzhiyun compatible = "renesas,sdhi-r8a7779", 420*4882a593Smuzhiyun "renesas,rcar-gen1-sdhi"; 421*4882a593Smuzhiyun reg = <0xffe4f000 0x100>; 422*4882a593Smuzhiyun interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 423*4882a593Smuzhiyun clocks = <&mstp3_clks R8A7779_CLK_SDHI3>; 424*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 425*4882a593Smuzhiyun status = "disabled"; 426*4882a593Smuzhiyun }; 427*4882a593Smuzhiyun 428*4882a593Smuzhiyun hspi0: spi@fffc7000 { 429*4882a593Smuzhiyun compatible = "renesas,hspi-r8a7779", "renesas,hspi"; 430*4882a593Smuzhiyun reg = <0xfffc7000 0x18>; 431*4882a593Smuzhiyun interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 432*4882a593Smuzhiyun #address-cells = <1>; 433*4882a593Smuzhiyun #size-cells = <0>; 434*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_HSPI>; 435*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 436*4882a593Smuzhiyun status = "disabled"; 437*4882a593Smuzhiyun }; 438*4882a593Smuzhiyun 439*4882a593Smuzhiyun hspi1: spi@fffc8000 { 440*4882a593Smuzhiyun compatible = "renesas,hspi-r8a7779", "renesas,hspi"; 441*4882a593Smuzhiyun reg = <0xfffc8000 0x18>; 442*4882a593Smuzhiyun interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 443*4882a593Smuzhiyun #address-cells = <1>; 444*4882a593Smuzhiyun #size-cells = <0>; 445*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_HSPI>; 446*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 447*4882a593Smuzhiyun status = "disabled"; 448*4882a593Smuzhiyun }; 449*4882a593Smuzhiyun 450*4882a593Smuzhiyun hspi2: spi@fffc6000 { 451*4882a593Smuzhiyun compatible = "renesas,hspi-r8a7779", "renesas,hspi"; 452*4882a593Smuzhiyun reg = <0xfffc6000 0x18>; 453*4882a593Smuzhiyun interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 454*4882a593Smuzhiyun #address-cells = <1>; 455*4882a593Smuzhiyun #size-cells = <0>; 456*4882a593Smuzhiyun clocks = <&mstp0_clks R8A7779_CLK_HSPI>; 457*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 458*4882a593Smuzhiyun status = "disabled"; 459*4882a593Smuzhiyun }; 460*4882a593Smuzhiyun 461*4882a593Smuzhiyun du: display@fff80000 { 462*4882a593Smuzhiyun compatible = "renesas,du-r8a7779"; 463*4882a593Smuzhiyun reg = <0xfff80000 0x40000>; 464*4882a593Smuzhiyun interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 465*4882a593Smuzhiyun clocks = <&mstp1_clks R8A7779_CLK_DU>; 466*4882a593Smuzhiyun clock-names = "du.0"; 467*4882a593Smuzhiyun power-domains = <&sysc R8A7779_PD_ALWAYS_ON>; 468*4882a593Smuzhiyun status = "disabled"; 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun ports { 471*4882a593Smuzhiyun #address-cells = <1>; 472*4882a593Smuzhiyun #size-cells = <0>; 473*4882a593Smuzhiyun 474*4882a593Smuzhiyun port@0 { 475*4882a593Smuzhiyun reg = <0>; 476*4882a593Smuzhiyun du_out_rgb0: endpoint { 477*4882a593Smuzhiyun }; 478*4882a593Smuzhiyun }; 479*4882a593Smuzhiyun port@1 { 480*4882a593Smuzhiyun reg = <1>; 481*4882a593Smuzhiyun du_out_rgb1: endpoint { 482*4882a593Smuzhiyun }; 483*4882a593Smuzhiyun }; 484*4882a593Smuzhiyun }; 485*4882a593Smuzhiyun }; 486*4882a593Smuzhiyun 487*4882a593Smuzhiyun clocks { 488*4882a593Smuzhiyun #address-cells = <1>; 489*4882a593Smuzhiyun #size-cells = <1>; 490*4882a593Smuzhiyun ranges; 491*4882a593Smuzhiyun 492*4882a593Smuzhiyun /* External root clock */ 493*4882a593Smuzhiyun extal_clk: extal { 494*4882a593Smuzhiyun compatible = "fixed-clock"; 495*4882a593Smuzhiyun #clock-cells = <0>; 496*4882a593Smuzhiyun /* This value must be overriden by the board. */ 497*4882a593Smuzhiyun clock-frequency = <0>; 498*4882a593Smuzhiyun }; 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun /* External SCIF clock */ 501*4882a593Smuzhiyun scif_clk: scif { 502*4882a593Smuzhiyun compatible = "fixed-clock"; 503*4882a593Smuzhiyun #clock-cells = <0>; 504*4882a593Smuzhiyun /* This value must be overridden by the board. */ 505*4882a593Smuzhiyun clock-frequency = <0>; 506*4882a593Smuzhiyun }; 507*4882a593Smuzhiyun 508*4882a593Smuzhiyun /* Special CPG clocks */ 509*4882a593Smuzhiyun cpg_clocks: clocks@ffc80000 { 510*4882a593Smuzhiyun compatible = "renesas,r8a7779-cpg-clocks"; 511*4882a593Smuzhiyun reg = <0xffc80000 0x30>; 512*4882a593Smuzhiyun clocks = <&extal_clk>; 513*4882a593Smuzhiyun #clock-cells = <1>; 514*4882a593Smuzhiyun clock-output-names = "plla", "z", "zs", "s", 515*4882a593Smuzhiyun "s1", "p", "b", "out"; 516*4882a593Smuzhiyun #power-domain-cells = <0>; 517*4882a593Smuzhiyun }; 518*4882a593Smuzhiyun 519*4882a593Smuzhiyun /* Fixed factor clocks */ 520*4882a593Smuzhiyun i_clk: i { 521*4882a593Smuzhiyun compatible = "fixed-factor-clock"; 522*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_PLLA>; 523*4882a593Smuzhiyun #clock-cells = <0>; 524*4882a593Smuzhiyun clock-div = <2>; 525*4882a593Smuzhiyun clock-mult = <1>; 526*4882a593Smuzhiyun }; 527*4882a593Smuzhiyun s3_clk: s3 { 528*4882a593Smuzhiyun compatible = "fixed-factor-clock"; 529*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_PLLA>; 530*4882a593Smuzhiyun #clock-cells = <0>; 531*4882a593Smuzhiyun clock-div = <8>; 532*4882a593Smuzhiyun clock-mult = <1>; 533*4882a593Smuzhiyun }; 534*4882a593Smuzhiyun s4_clk: s4 { 535*4882a593Smuzhiyun compatible = "fixed-factor-clock"; 536*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_PLLA>; 537*4882a593Smuzhiyun #clock-cells = <0>; 538*4882a593Smuzhiyun clock-div = <16>; 539*4882a593Smuzhiyun clock-mult = <1>; 540*4882a593Smuzhiyun }; 541*4882a593Smuzhiyun g_clk: g { 542*4882a593Smuzhiyun compatible = "fixed-factor-clock"; 543*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_PLLA>; 544*4882a593Smuzhiyun #clock-cells = <0>; 545*4882a593Smuzhiyun clock-div = <24>; 546*4882a593Smuzhiyun clock-mult = <1>; 547*4882a593Smuzhiyun }; 548*4882a593Smuzhiyun 549*4882a593Smuzhiyun /* Gate clocks */ 550*4882a593Smuzhiyun mstp0_clks: clocks@ffc80030 { 551*4882a593Smuzhiyun compatible = "renesas,r8a7779-mstp-clocks", 552*4882a593Smuzhiyun "renesas,cpg-mstp-clocks"; 553*4882a593Smuzhiyun reg = <0xffc80030 4>; 554*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_S>, 555*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 556*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 557*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 558*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>, 559*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>, 560*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 561*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 562*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 563*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 564*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 565*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 566*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 567*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 568*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 569*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>; 570*4882a593Smuzhiyun #clock-cells = <1>; 571*4882a593Smuzhiyun clock-indices = < 572*4882a593Smuzhiyun R8A7779_CLK_HSPI R8A7779_CLK_TMU2 573*4882a593Smuzhiyun R8A7779_CLK_TMU1 R8A7779_CLK_TMU0 574*4882a593Smuzhiyun R8A7779_CLK_HSCIF1 R8A7779_CLK_HSCIF0 575*4882a593Smuzhiyun R8A7779_CLK_SCIF5 R8A7779_CLK_SCIF4 576*4882a593Smuzhiyun R8A7779_CLK_SCIF3 R8A7779_CLK_SCIF2 577*4882a593Smuzhiyun R8A7779_CLK_SCIF1 R8A7779_CLK_SCIF0 578*4882a593Smuzhiyun R8A7779_CLK_I2C3 R8A7779_CLK_I2C2 579*4882a593Smuzhiyun R8A7779_CLK_I2C1 R8A7779_CLK_I2C0 580*4882a593Smuzhiyun >; 581*4882a593Smuzhiyun clock-output-names = 582*4882a593Smuzhiyun "hspi", "tmu2", "tmu1", "tmu0", "hscif1", 583*4882a593Smuzhiyun "hscif0", "scif5", "scif4", "scif3", "scif2", 584*4882a593Smuzhiyun "scif1", "scif0", "i2c3", "i2c2", "i2c1", 585*4882a593Smuzhiyun "i2c0"; 586*4882a593Smuzhiyun }; 587*4882a593Smuzhiyun mstp1_clks: clocks@ffc80034 { 588*4882a593Smuzhiyun compatible = "renesas,r8a7779-mstp-clocks", 589*4882a593Smuzhiyun "renesas,cpg-mstp-clocks"; 590*4882a593Smuzhiyun reg = <0xffc80034 4>, <0xffc80044 4>; 591*4882a593Smuzhiyun clocks = <&cpg_clocks R8A7779_CLK_P>, 592*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 593*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>, 594*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>, 595*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>, 596*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>, 597*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 598*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 599*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_P>, 600*4882a593Smuzhiyun <&cpg_clocks R8A7779_CLK_S>; 601*4882a593Smuzhiyun #clock-cells = <1>; 602*4882a593Smuzhiyun clock-indices = < 603*4882a593Smuzhiyun R8A7779_CLK_USB01 R8A7779_CLK_USB2 604*4882a593Smuzhiyun R8A7779_CLK_DU R8A7779_CLK_VIN2 605*4882a593Smuzhiyun R8A7779_CLK_VIN1 R8A7779_CLK_VIN0 606*4882a593Smuzhiyun R8A7779_CLK_ETHER R8A7779_CLK_SATA 607*4882a593Smuzhiyun R8A7779_CLK_PCIE R8A7779_CLK_VIN3 608*4882a593Smuzhiyun >; 609*4882a593Smuzhiyun clock-output-names = 610*4882a593Smuzhiyun "usb01", "usb2", 611*4882a593Smuzhiyun "du", "vin2", 612*4882a593Smuzhiyun "vin1", "vin0", 613*4882a593Smuzhiyun "ether", "sata", 614*4882a593Smuzhiyun "pcie", "vin3"; 615*4882a593Smuzhiyun }; 616*4882a593Smuzhiyun mstp3_clks: clocks@ffc8003c { 617*4882a593Smuzhiyun compatible = "renesas,r8a7779-mstp-clocks", 618*4882a593Smuzhiyun "renesas,cpg-mstp-clocks"; 619*4882a593Smuzhiyun reg = <0xffc8003c 4>; 620*4882a593Smuzhiyun clocks = <&s4_clk>, <&s4_clk>, <&s4_clk>, <&s4_clk>, 621*4882a593Smuzhiyun <&s4_clk>, <&s4_clk>; 622*4882a593Smuzhiyun #clock-cells = <1>; 623*4882a593Smuzhiyun clock-indices = < 624*4882a593Smuzhiyun R8A7779_CLK_SDHI3 R8A7779_CLK_SDHI2 625*4882a593Smuzhiyun R8A7779_CLK_SDHI1 R8A7779_CLK_SDHI0 626*4882a593Smuzhiyun R8A7779_CLK_MMC1 R8A7779_CLK_MMC0 627*4882a593Smuzhiyun >; 628*4882a593Smuzhiyun clock-output-names = 629*4882a593Smuzhiyun "sdhi3", "sdhi2", "sdhi1", "sdhi0", 630*4882a593Smuzhiyun "mmc1", "mmc0"; 631*4882a593Smuzhiyun }; 632*4882a593Smuzhiyun }; 633*4882a593Smuzhiyun 634*4882a593Smuzhiyun prr: chipid@ff000044 { 635*4882a593Smuzhiyun compatible = "renesas,prr"; 636*4882a593Smuzhiyun reg = <0xff000044 4>; 637*4882a593Smuzhiyun }; 638*4882a593Smuzhiyun 639*4882a593Smuzhiyun rst: reset-controller@ffcc0000 { 640*4882a593Smuzhiyun compatible = "renesas,r8a7779-reset-wdt"; 641*4882a593Smuzhiyun reg = <0xffcc0000 0x48>; 642*4882a593Smuzhiyun }; 643*4882a593Smuzhiyun 644*4882a593Smuzhiyun sysc: system-controller@ffd85000 { 645*4882a593Smuzhiyun compatible = "renesas,r8a7779-sysc"; 646*4882a593Smuzhiyun reg = <0xffd85000 0x0200>; 647*4882a593Smuzhiyun #power-domain-cells = <1>; 648*4882a593Smuzhiyun }; 649*4882a593Smuzhiyun}; 650