Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0 |
| 2 | /* |
| 3 | * Device Tree Source for the R-Car M1A (R8A77781) SoC |
| 4 | * |
| 5 | * Copyright (C) 2013 Renesas Solutions Corp. |
| 6 | * Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| 7 | * |
| 8 | * based on r8a7779 |
| 9 | * |
| 10 | * Copyright (C) 2013 Renesas Solutions Corp. |
| 11 | * Copyright (C) 2013 Simon Horman |
| 12 | */ |
| 13 | |
| 14 | #include <dt-bindings/clock/r8a7778-clock.h> |
| 15 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
| 16 | #include <dt-bindings/interrupt-controller/irq.h> |
| 17 | |
| 18 | / { |
| 19 | compatible = "renesas,r8a7778"; |
| 20 | interrupt-parent = <&gic>; |
| 21 | #address-cells = <1>; |
| 22 | #size-cells = <1>; |
| 23 | |
| 24 | cpus { |
| 25 | #address-cells = <1>; |
| 26 | #size-cells = <0>; |
| 27 | |
| 28 | cpu@0 { |
| 29 | device_type = "cpu"; |
| 30 | compatible = "arm,cortex-a9"; |
| 31 | reg = <0>; |
| 32 | clock-frequency = <800000000>; |
| 33 | clocks = <&z_clk>; |
| 34 | }; |
| 35 | }; |
| 36 | |
| 37 | aliases { |
| 38 | spi0 = &hspi0; |
| 39 | spi1 = &hspi1; |
| 40 | spi2 = &hspi2; |
| 41 | }; |
| 42 | |
| 43 | bsc: bus@1c000000 { |
| 44 | compatible = "simple-bus"; |
| 45 | #address-cells = <1>; |
| 46 | #size-cells = <1>; |
| 47 | ranges = <0 0 0x1c000000>; |
| 48 | }; |
| 49 | |
| 50 | ether: ethernet@fde00000 { |
| 51 | compatible = "renesas,ether-r8a7778", |
| 52 | "renesas,rcar-gen1-ether"; |
| 53 | reg = <0xfde00000 0x400>; |
| 54 | interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; |
| 55 | clocks = <&mstp1_clks R8A7778_CLK_ETHER>; |
| 56 | power-domains = <&cpg_clocks>; |
| 57 | phy-mode = "rmii"; |
| 58 | #address-cells = <1>; |
| 59 | #size-cells = <0>; |
| 60 | status = "disabled"; |
| 61 | }; |
| 62 | |
| 63 | gic: interrupt-controller@fe438000 { |
| 64 | compatible = "arm,pl390"; |
| 65 | #interrupt-cells = <3>; |
| 66 | interrupt-controller; |
| 67 | reg = <0xfe438000 0x1000>, |
| 68 | <0xfe430000 0x100>; |
| 69 | }; |
| 70 | |
| 71 | /* irqpin: IRQ0 - IRQ3 */ |
| 72 | irqpin: interrupt-controller@fe78001c { |
| 73 | compatible = "renesas,intc-irqpin-r8a7778", "renesas,intc-irqpin"; |
| 74 | #interrupt-cells = <2>; |
| 75 | interrupt-controller; |
| 76 | status = "disabled"; /* default off */ |
| 77 | reg = <0xfe78001c 4>, |
| 78 | <0xfe780010 4>, |
| 79 | <0xfe780024 4>, |
| 80 | <0xfe780044 4>, |
| 81 | <0xfe780064 4>, |
| 82 | <0xfe780000 4>; |
| 83 | interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, |
| 84 | <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, |
| 85 | <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, |
| 86 | <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; |
| 87 | sense-bitfield-width = <2>; |
| 88 | }; |
| 89 | |
| 90 | gpio0: gpio@ffc40000 { |
| 91 | compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio"; |
| 92 | reg = <0xffc40000 0x2c>; |
| 93 | interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; |
| 94 | #gpio-cells = <2>; |
| 95 | gpio-controller; |
| 96 | gpio-ranges = <&pfc 0 0 32>; |
| 97 | #interrupt-cells = <2>; |
| 98 | interrupt-controller; |
| 99 | }; |
| 100 | |
| 101 | gpio1: gpio@ffc41000 { |
| 102 | compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio"; |
| 103 | reg = <0xffc41000 0x2c>; |
| 104 | interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; |
| 105 | #gpio-cells = <2>; |
| 106 | gpio-controller; |
| 107 | gpio-ranges = <&pfc 0 32 32>; |
| 108 | #interrupt-cells = <2>; |
| 109 | interrupt-controller; |
| 110 | }; |
| 111 | |
| 112 | gpio2: gpio@ffc42000 { |
| 113 | compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio"; |
| 114 | reg = <0xffc42000 0x2c>; |
| 115 | interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; |
| 116 | #gpio-cells = <2>; |
| 117 | gpio-controller; |
| 118 | gpio-ranges = <&pfc 0 64 32>; |
| 119 | #interrupt-cells = <2>; |
| 120 | interrupt-controller; |
| 121 | }; |
| 122 | |
| 123 | gpio3: gpio@ffc43000 { |
| 124 | compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio"; |
| 125 | reg = <0xffc43000 0x2c>; |
| 126 | interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; |
| 127 | #gpio-cells = <2>; |
| 128 | gpio-controller; |
| 129 | gpio-ranges = <&pfc 0 96 32>; |
| 130 | #interrupt-cells = <2>; |
| 131 | interrupt-controller; |
| 132 | }; |
| 133 | |
| 134 | gpio4: gpio@ffc44000 { |
| 135 | compatible = "renesas,gpio-r8a7778", "renesas,rcar-gen1-gpio"; |
| 136 | reg = <0xffc44000 0x2c>; |
| 137 | interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; |
| 138 | #gpio-cells = <2>; |
| 139 | gpio-controller; |
| 140 | gpio-ranges = <&pfc 0 128 27>; |
| 141 | #interrupt-cells = <2>; |
| 142 | interrupt-controller; |
| 143 | }; |
| 144 | |
| 145 | pfc: pinctrl@fffc0000 { |
| 146 | compatible = "renesas,pfc-r8a7778"; |
| 147 | reg = <0xfffc0000 0x118>; |
| 148 | }; |
| 149 | |
| 150 | i2c0: i2c@ffc70000 { |
| 151 | #address-cells = <1>; |
| 152 | #size-cells = <0>; |
| 153 | compatible = "renesas,i2c-r8a7778", "renesas,rcar-gen1-i2c"; |
| 154 | reg = <0xffc70000 0x1000>; |
| 155 | interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; |
| 156 | clocks = <&mstp0_clks R8A7778_CLK_I2C0>; |
| 157 | power-domains = <&cpg_clocks>; |
| 158 | status = "disabled"; |
| 159 | }; |
| 160 | |
| 161 | i2c1: i2c@ffc71000 { |
| 162 | #address-cells = <1>; |
| 163 | #size-cells = <0>; |
| 164 | compatible = "renesas,i2c-r8a7778", "renesas,rcar-gen1-i2c"; |
| 165 | reg = <0xffc71000 0x1000>; |
| 166 | interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; |
| 167 | clocks = <&mstp0_clks R8A7778_CLK_I2C1>; |
| 168 | power-domains = <&cpg_clocks>; |
| 169 | i2c-scl-internal-delay-ns = <5>; |
| 170 | status = "disabled"; |
| 171 | }; |
| 172 | |
| 173 | i2c2: i2c@ffc72000 { |
| 174 | #address-cells = <1>; |
| 175 | #size-cells = <0>; |
| 176 | compatible = "renesas,i2c-r8a7778", "renesas,rcar-gen1-i2c"; |
| 177 | reg = <0xffc72000 0x1000>; |
| 178 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; |
| 179 | clocks = <&mstp0_clks R8A7778_CLK_I2C2>; |
| 180 | power-domains = <&cpg_clocks>; |
| 181 | i2c-scl-internal-delay-ns = <5>; |
| 182 | status = "disabled"; |
| 183 | }; |
| 184 | |
| 185 | i2c3: i2c@ffc73000 { |
| 186 | #address-cells = <1>; |
| 187 | #size-cells = <0>; |
| 188 | compatible = "renesas,i2c-r8a7778", "renesas,rcar-gen1-i2c"; |
| 189 | reg = <0xffc73000 0x1000>; |
| 190 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; |
| 191 | clocks = <&mstp0_clks R8A7778_CLK_I2C3>; |
| 192 | power-domains = <&cpg_clocks>; |
| 193 | i2c-scl-internal-delay-ns = <5>; |
| 194 | status = "disabled"; |
| 195 | }; |
| 196 | |
| 197 | tmu0: timer@ffd80000 { |
| 198 | compatible = "renesas,tmu-r8a7778", "renesas,tmu"; |
| 199 | reg = <0xffd80000 0x30>; |
| 200 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, |
| 201 | <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, |
| 202 | <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; |
| 203 | clocks = <&mstp0_clks R8A7778_CLK_TMU0>; |
| 204 | clock-names = "fck"; |
| 205 | power-domains = <&cpg_clocks>; |
| 206 | |
| 207 | #renesas,channels = <3>; |
| 208 | |
| 209 | status = "disabled"; |
| 210 | }; |
| 211 | |
| 212 | tmu1: timer@ffd81000 { |
| 213 | compatible = "renesas,tmu-r8a7778", "renesas,tmu"; |
| 214 | reg = <0xffd81000 0x30>; |
| 215 | interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, |
| 216 | <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, |
| 217 | <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; |
| 218 | clocks = <&mstp0_clks R8A7778_CLK_TMU1>; |
| 219 | clock-names = "fck"; |
| 220 | power-domains = <&cpg_clocks>; |
| 221 | |
| 222 | #renesas,channels = <3>; |
| 223 | |
| 224 | status = "disabled"; |
| 225 | }; |
| 226 | |
| 227 | tmu2: timer@ffd82000 { |
| 228 | compatible = "renesas,tmu-r8a7778", "renesas,tmu"; |
| 229 | reg = <0xffd82000 0x30>; |
| 230 | interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, |
| 231 | <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, |
| 232 | <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; |
| 233 | clocks = <&mstp0_clks R8A7778_CLK_TMU2>; |
| 234 | clock-names = "fck"; |
| 235 | power-domains = <&cpg_clocks>; |
| 236 | |
| 237 | #renesas,channels = <3>; |
| 238 | |
| 239 | status = "disabled"; |
| 240 | }; |
| 241 | |
| 242 | rcar_sound: sound@ffd90000 { |
| 243 | /* |
| 244 | * #sound-dai-cells is required if simple-card |
| 245 | * |
| 246 | * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>; |
| 247 | * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>; |
| 248 | */ |
| 249 | compatible = "renesas,rcar_sound-r8a7778", "renesas,rcar_sound-gen1"; |
| 250 | reg = <0xffd90000 0x1000>, /* SRU */ |
| 251 | <0xffd91000 0x240>, /* SSI */ |
| 252 | <0xfffe0000 0x24>; /* ADG */ |
| 253 | clocks = <&mstp3_clks R8A7778_CLK_SSI8>, |
| 254 | <&mstp3_clks R8A7778_CLK_SSI7>, |
| 255 | <&mstp3_clks R8A7778_CLK_SSI6>, |
| 256 | <&mstp3_clks R8A7778_CLK_SSI5>, |
| 257 | <&mstp3_clks R8A7778_CLK_SSI4>, |
| 258 | <&mstp0_clks R8A7778_CLK_SSI3>, |
| 259 | <&mstp0_clks R8A7778_CLK_SSI2>, |
| 260 | <&mstp0_clks R8A7778_CLK_SSI1>, |
| 261 | <&mstp0_clks R8A7778_CLK_SSI0>, |
| 262 | <&mstp5_clks R8A7778_CLK_SRU_SRC8>, |
| 263 | <&mstp5_clks R8A7778_CLK_SRU_SRC7>, |
| 264 | <&mstp5_clks R8A7778_CLK_SRU_SRC6>, |
| 265 | <&mstp5_clks R8A7778_CLK_SRU_SRC5>, |
| 266 | <&mstp5_clks R8A7778_CLK_SRU_SRC4>, |
| 267 | <&mstp5_clks R8A7778_CLK_SRU_SRC3>, |
| 268 | <&mstp5_clks R8A7778_CLK_SRU_SRC2>, |
| 269 | <&mstp5_clks R8A7778_CLK_SRU_SRC1>, |
| 270 | <&mstp5_clks R8A7778_CLK_SRU_SRC0>, |
| 271 | <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>, |
| 272 | <&cpg_clocks R8A7778_CLK_S1>; |
| 273 | clock-names = "ssi.8", "ssi.7", "ssi.6", "ssi.5", "ssi.4", |
| 274 | "ssi.3", "ssi.2", "ssi.1", "ssi.0", |
| 275 | "src.8", "src.7", "src.6", "src.5", "src.4", |
| 276 | "src.3", "src.2", "src.1", "src.0", |
| 277 | "clk_a", "clk_b", "clk_c", "clk_i"; |
| 278 | |
| 279 | status = "disabled"; |
| 280 | |
| 281 | rcar_sound,src { |
| 282 | src3: src-3 { }; |
| 283 | src4: src-4 { }; |
| 284 | src5: src-5 { }; |
| 285 | src6: src-6 { }; |
| 286 | src7: src-7 { }; |
| 287 | src8: src-8 { }; |
| 288 | src9: src-9 { }; |
| 289 | }; |
| 290 | |
| 291 | rcar_sound,ssi { |
| 292 | ssi3: ssi-3 { interrupts = <GIC_SPI 0x85 IRQ_TYPE_LEVEL_HIGH>; }; |
| 293 | ssi4: ssi-4 { interrupts = <GIC_SPI 0x85 IRQ_TYPE_LEVEL_HIGH>; }; |
| 294 | ssi5: ssi-5 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; }; |
| 295 | ssi6: ssi-6 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; }; |
| 296 | ssi7: ssi-7 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; }; |
| 297 | ssi8: ssi-8 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; }; |
| 298 | ssi9: ssi-9 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; }; |
| 299 | }; |
| 300 | }; |
| 301 | |
| 302 | scif0: serial@ffe40000 { |
| 303 | compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif", |
| 304 | "renesas,scif"; |
| 305 | reg = <0xffe40000 0x100>; |
| 306 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; |
| 307 | clocks = <&mstp0_clks R8A7778_CLK_SCIF0>, |
| 308 | <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>; |
| 309 | clock-names = "fck", "brg_int", "scif_clk"; |
| 310 | power-domains = <&cpg_clocks>; |
| 311 | status = "disabled"; |
| 312 | }; |
| 313 | |
| 314 | scif1: serial@ffe41000 { |
| 315 | compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif", |
| 316 | "renesas,scif"; |
| 317 | reg = <0xffe41000 0x100>; |
| 318 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
| 319 | clocks = <&mstp0_clks R8A7778_CLK_SCIF1>, |
| 320 | <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>; |
| 321 | clock-names = "fck", "brg_int", "scif_clk"; |
| 322 | power-domains = <&cpg_clocks>; |
| 323 | status = "disabled"; |
| 324 | }; |
| 325 | |
| 326 | scif2: serial@ffe42000 { |
| 327 | compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif", |
| 328 | "renesas,scif"; |
| 329 | reg = <0xffe42000 0x100>; |
| 330 | interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; |
| 331 | clocks = <&mstp0_clks R8A7778_CLK_SCIF2>, |
| 332 | <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>; |
| 333 | clock-names = "fck", "brg_int", "scif_clk"; |
| 334 | power-domains = <&cpg_clocks>; |
| 335 | status = "disabled"; |
| 336 | }; |
| 337 | |
| 338 | scif3: serial@ffe43000 { |
| 339 | compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif", |
| 340 | "renesas,scif"; |
| 341 | reg = <0xffe43000 0x100>; |
| 342 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; |
| 343 | clocks = <&mstp0_clks R8A7778_CLK_SCIF3>, |
| 344 | <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>; |
| 345 | clock-names = "fck", "brg_int", "scif_clk"; |
| 346 | power-domains = <&cpg_clocks>; |
| 347 | status = "disabled"; |
| 348 | }; |
| 349 | |
| 350 | scif4: serial@ffe44000 { |
| 351 | compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif", |
| 352 | "renesas,scif"; |
| 353 | reg = <0xffe44000 0x100>; |
| 354 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; |
| 355 | clocks = <&mstp0_clks R8A7778_CLK_SCIF4>, |
| 356 | <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>; |
| 357 | clock-names = "fck", "brg_int", "scif_clk"; |
| 358 | power-domains = <&cpg_clocks>; |
| 359 | status = "disabled"; |
| 360 | }; |
| 361 | |
| 362 | scif5: serial@ffe45000 { |
| 363 | compatible = "renesas,scif-r8a7778", "renesas,rcar-gen1-scif", |
| 364 | "renesas,scif"; |
| 365 | reg = <0xffe45000 0x100>; |
| 366 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; |
| 367 | clocks = <&mstp0_clks R8A7778_CLK_SCIF5>, |
| 368 | <&cpg_clocks R8A7778_CLK_S1>, <&scif_clk>; |
| 369 | clock-names = "fck", "brg_int", "scif_clk"; |
| 370 | power-domains = <&cpg_clocks>; |
| 371 | status = "disabled"; |
| 372 | }; |
| 373 | |
| 374 | hscif0: serial@ffe48000 { |
| 375 | compatible = "renesas,hscif-r8a7778", |
| 376 | "renesas,rcar-gen1-hscif", "renesas,hscif"; |
| 377 | reg = <0xffe48000 96>; |
| 378 | interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; |
| 379 | clocks = <&mstp0_clks R8A7778_CLK_HSCIF0>, |
| 380 | <&cpg_clocks R8A7778_CLK_S>, <&scif_clk>; |
| 381 | clock-names = "fck", "brg_int", "scif_clk"; |
| 382 | power-domains = <&cpg_clocks>; |
| 383 | status = "disabled"; |
| 384 | }; |
| 385 | |
| 386 | hscif1: serial@ffe49000 { |
| 387 | compatible = "renesas,hscif-r8a7778", |
| 388 | "renesas,rcar-gen1-hscif", "renesas,hscif"; |
| 389 | reg = <0xffe49000 96>; |
| 390 | interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; |
| 391 | clocks = <&mstp0_clks R8A7778_CLK_HSCIF1>, |
| 392 | <&cpg_clocks R8A7778_CLK_S>, <&scif_clk>; |
| 393 | clock-names = "fck", "brg_int", "scif_clk"; |
| 394 | power-domains = <&cpg_clocks>; |
| 395 | status = "disabled"; |
| 396 | }; |
| 397 | |
| 398 | mmcif: mmc@ffe4e000 { |
| 399 | compatible = "renesas,mmcif-r8a7778", "renesas,sh-mmcif"; |
| 400 | reg = <0xffe4e000 0x100>; |
| 401 | interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; |
| 402 | clocks = <&mstp3_clks R8A7778_CLK_MMC>; |
| 403 | power-domains = <&cpg_clocks>; |
| 404 | status = "disabled"; |
| 405 | }; |
| 406 | |
| 407 | sdhi0: mmc@ffe4c000 { |
| 408 | compatible = "renesas,sdhi-r8a7778", |
| 409 | "renesas,rcar-gen1-sdhi"; |
| 410 | reg = <0xffe4c000 0x100>; |
| 411 | interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; |
| 412 | clocks = <&mstp3_clks R8A7778_CLK_SDHI0>; |
| 413 | power-domains = <&cpg_clocks>; |
| 414 | status = "disabled"; |
| 415 | }; |
| 416 | |
| 417 | sdhi1: mmc@ffe4d000 { |
| 418 | compatible = "renesas,sdhi-r8a7778", |
| 419 | "renesas,rcar-gen1-sdhi"; |
| 420 | reg = <0xffe4d000 0x100>; |
| 421 | interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; |
| 422 | clocks = <&mstp3_clks R8A7778_CLK_SDHI1>; |
| 423 | power-domains = <&cpg_clocks>; |
| 424 | status = "disabled"; |
| 425 | }; |
| 426 | |
| 427 | sdhi2: mmc@ffe4f000 { |
| 428 | compatible = "renesas,sdhi-r8a7778", |
| 429 | "renesas,rcar-gen1-sdhi"; |
| 430 | reg = <0xffe4f000 0x100>; |
| 431 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; |
| 432 | clocks = <&mstp3_clks R8A7778_CLK_SDHI2>; |
| 433 | power-domains = <&cpg_clocks>; |
| 434 | status = "disabled"; |
| 435 | }; |
| 436 | |
| 437 | hspi0: spi@fffc7000 { |
| 438 | compatible = "renesas,hspi-r8a7778", "renesas,hspi"; |
| 439 | reg = <0xfffc7000 0x18>; |
| 440 | interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; |
| 441 | clocks = <&mstp0_clks R8A7778_CLK_HSPI>; |
| 442 | power-domains = <&cpg_clocks>; |
| 443 | #address-cells = <1>; |
| 444 | #size-cells = <0>; |
| 445 | status = "disabled"; |
| 446 | }; |
| 447 | |
| 448 | hspi1: spi@fffc8000 { |
| 449 | compatible = "renesas,hspi-r8a7778", "renesas,hspi"; |
| 450 | reg = <0xfffc8000 0x18>; |
| 451 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; |
| 452 | clocks = <&mstp0_clks R8A7778_CLK_HSPI>; |
| 453 | power-domains = <&cpg_clocks>; |
| 454 | #address-cells = <1>; |
| 455 | #size-cells = <0>; |
| 456 | status = "disabled"; |
| 457 | }; |
| 458 | |
| 459 | hspi2: spi@fffc6000 { |
| 460 | compatible = "renesas,hspi-r8a7778", "renesas,hspi"; |
| 461 | reg = <0xfffc6000 0x18>; |
| 462 | interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; |
| 463 | clocks = <&mstp0_clks R8A7778_CLK_HSPI>; |
| 464 | power-domains = <&cpg_clocks>; |
| 465 | #address-cells = <1>; |
| 466 | #size-cells = <0>; |
| 467 | status = "disabled"; |
| 468 | }; |
| 469 | |
| 470 | clocks { |
| 471 | #address-cells = <1>; |
| 472 | #size-cells = <1>; |
| 473 | ranges; |
| 474 | |
| 475 | /* External input clock */ |
| 476 | extal_clk: extal { |
| 477 | compatible = "fixed-clock"; |
| 478 | #clock-cells = <0>; |
| 479 | clock-frequency = <0>; |
| 480 | }; |
| 481 | |
| 482 | /* External SCIF clock */ |
| 483 | scif_clk: scif { |
| 484 | compatible = "fixed-clock"; |
| 485 | #clock-cells = <0>; |
| 486 | /* This value must be overridden by the board. */ |
| 487 | clock-frequency = <0>; |
| 488 | }; |
| 489 | |
| 490 | /* Special CPG clocks */ |
| 491 | cpg_clocks: cpg_clocks@ffc80000 { |
| 492 | compatible = "renesas,r8a7778-cpg-clocks"; |
| 493 | reg = <0xffc80000 0x80>; |
| 494 | #clock-cells = <1>; |
| 495 | clocks = <&extal_clk>; |
| 496 | clock-output-names = "plla", "pllb", "b", |
| 497 | "out", "p", "s", "s1"; |
| 498 | #power-domain-cells = <0>; |
| 499 | }; |
| 500 | |
| 501 | /* Audio clocks; frequencies are set by boards if applicable. */ |
| 502 | audio_clk_a: audio_clk_a { |
| 503 | compatible = "fixed-clock"; |
| 504 | #clock-cells = <0>; |
| 505 | clock-frequency = <0>; |
| 506 | }; |
| 507 | audio_clk_b: audio_clk_b { |
| 508 | compatible = "fixed-clock"; |
| 509 | #clock-cells = <0>; |
| 510 | clock-frequency = <0>; |
| 511 | }; |
| 512 | audio_clk_c: audio_clk_c { |
| 513 | compatible = "fixed-clock"; |
| 514 | #clock-cells = <0>; |
| 515 | clock-frequency = <0>; |
| 516 | }; |
| 517 | |
| 518 | /* Fixed ratio clocks */ |
| 519 | g_clk: g { |
| 520 | compatible = "fixed-factor-clock"; |
| 521 | clocks = <&cpg_clocks R8A7778_CLK_PLLA>; |
| 522 | #clock-cells = <0>; |
| 523 | clock-div = <12>; |
| 524 | clock-mult = <1>; |
| 525 | }; |
| 526 | i_clk: i { |
| 527 | compatible = "fixed-factor-clock"; |
| 528 | clocks = <&cpg_clocks R8A7778_CLK_PLLA>; |
| 529 | #clock-cells = <0>; |
| 530 | clock-div = <1>; |
| 531 | clock-mult = <1>; |
| 532 | }; |
| 533 | s3_clk: s3 { |
| 534 | compatible = "fixed-factor-clock"; |
| 535 | clocks = <&cpg_clocks R8A7778_CLK_PLLA>; |
| 536 | #clock-cells = <0>; |
| 537 | clock-div = <4>; |
| 538 | clock-mult = <1>; |
| 539 | }; |
| 540 | s4_clk: s4 { |
| 541 | compatible = "fixed-factor-clock"; |
| 542 | clocks = <&cpg_clocks R8A7778_CLK_PLLA>; |
| 543 | #clock-cells = <0>; |
| 544 | clock-div = <8>; |
| 545 | clock-mult = <1>; |
| 546 | }; |
| 547 | z_clk: z { |
| 548 | compatible = "fixed-factor-clock"; |
| 549 | clocks = <&cpg_clocks R8A7778_CLK_PLLB>; |
| 550 | #clock-cells = <0>; |
| 551 | clock-div = <1>; |
| 552 | clock-mult = <1>; |
| 553 | }; |
| 554 | |
| 555 | /* Gate clocks */ |
| 556 | mstp0_clks: mstp0_clks@ffc80030 { |
| 557 | compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| 558 | reg = <0xffc80030 4>; |
| 559 | clocks = <&cpg_clocks R8A7778_CLK_P>, |
| 560 | <&cpg_clocks R8A7778_CLK_P>, |
| 561 | <&cpg_clocks R8A7778_CLK_P>, |
| 562 | <&cpg_clocks R8A7778_CLK_P>, |
| 563 | <&cpg_clocks R8A7778_CLK_P>, |
| 564 | <&cpg_clocks R8A7778_CLK_P>, |
| 565 | <&cpg_clocks R8A7778_CLK_P>, |
| 566 | <&cpg_clocks R8A7778_CLK_P>, |
| 567 | <&cpg_clocks R8A7778_CLK_P>, |
| 568 | <&cpg_clocks R8A7778_CLK_P>, |
| 569 | <&cpg_clocks R8A7778_CLK_S>, |
| 570 | <&cpg_clocks R8A7778_CLK_S>, |
| 571 | <&cpg_clocks R8A7778_CLK_P>, |
| 572 | <&cpg_clocks R8A7778_CLK_P>, |
| 573 | <&cpg_clocks R8A7778_CLK_P>, |
| 574 | <&cpg_clocks R8A7778_CLK_P>, |
| 575 | <&cpg_clocks R8A7778_CLK_P>, |
| 576 | <&cpg_clocks R8A7778_CLK_P>, |
| 577 | <&cpg_clocks R8A7778_CLK_P>, |
| 578 | <&cpg_clocks R8A7778_CLK_P>, |
| 579 | <&cpg_clocks R8A7778_CLK_S>; |
| 580 | #clock-cells = <1>; |
| 581 | clock-indices = < |
| 582 | R8A7778_CLK_I2C0 R8A7778_CLK_I2C1 |
| 583 | R8A7778_CLK_I2C2 R8A7778_CLK_I2C3 |
| 584 | R8A7778_CLK_SCIF0 R8A7778_CLK_SCIF1 |
| 585 | R8A7778_CLK_SCIF2 R8A7778_CLK_SCIF3 |
| 586 | R8A7778_CLK_SCIF4 R8A7778_CLK_SCIF5 |
| 587 | R8A7778_CLK_HSCIF0 R8A7778_CLK_HSCIF1 |
| 588 | R8A7778_CLK_TMU0 R8A7778_CLK_TMU1 |
| 589 | R8A7778_CLK_TMU2 R8A7778_CLK_SSI0 |
| 590 | R8A7778_CLK_SSI1 R8A7778_CLK_SSI2 |
| 591 | R8A7778_CLK_SSI3 R8A7778_CLK_SRU |
| 592 | R8A7778_CLK_HSPI |
| 593 | >; |
| 594 | clock-output-names = |
| 595 | "i2c0", "i2c1", "i2c2", "i2c3", "scif0", |
| 596 | "scif1", "scif2", "scif3", "scif4", "scif5", |
| 597 | "hscif0", "hscif1", |
| 598 | "tmu0", "tmu1", "tmu2", "ssi0", "ssi1", |
| 599 | "ssi2", "ssi3", "sru", "hspi"; |
| 600 | }; |
| 601 | mstp1_clks: mstp1_clks@ffc80034 { |
| 602 | compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| 603 | reg = <0xffc80034 4>, <0xffc80044 4>; |
| 604 | clocks = <&cpg_clocks R8A7778_CLK_P>, |
| 605 | <&cpg_clocks R8A7778_CLK_S>, |
| 606 | <&cpg_clocks R8A7778_CLK_S>, |
| 607 | <&cpg_clocks R8A7778_CLK_P>; |
| 608 | #clock-cells = <1>; |
| 609 | clock-indices = < |
| 610 | R8A7778_CLK_ETHER R8A7778_CLK_VIN0 |
| 611 | R8A7778_CLK_VIN1 R8A7778_CLK_USB |
| 612 | >; |
| 613 | clock-output-names = |
| 614 | "ether", "vin0", "vin1", "usb"; |
| 615 | }; |
| 616 | mstp3_clks: mstp3_clks@ffc8003c { |
| 617 | compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| 618 | reg = <0xffc8003c 4>; |
| 619 | clocks = <&s4_clk>, |
| 620 | <&cpg_clocks R8A7778_CLK_P>, |
| 621 | <&cpg_clocks R8A7778_CLK_P>, |
| 622 | <&cpg_clocks R8A7778_CLK_P>, |
| 623 | <&cpg_clocks R8A7778_CLK_P>, |
| 624 | <&cpg_clocks R8A7778_CLK_P>, |
| 625 | <&cpg_clocks R8A7778_CLK_P>, |
| 626 | <&cpg_clocks R8A7778_CLK_P>, |
| 627 | <&cpg_clocks R8A7778_CLK_P>; |
| 628 | #clock-cells = <1>; |
| 629 | clock-indices = < |
| 630 | R8A7778_CLK_MMC R8A7778_CLK_SDHI0 |
| 631 | R8A7778_CLK_SDHI1 R8A7778_CLK_SDHI2 |
| 632 | R8A7778_CLK_SSI4 R8A7778_CLK_SSI5 |
| 633 | R8A7778_CLK_SSI6 R8A7778_CLK_SSI7 |
| 634 | R8A7778_CLK_SSI8 |
| 635 | >; |
| 636 | clock-output-names = |
| 637 | "mmc", "sdhi0", "sdhi1", "sdhi2", "ssi4", |
| 638 | "ssi5", "ssi6", "ssi7", "ssi8"; |
| 639 | }; |
| 640 | mstp5_clks: mstp5_clks@ffc80054 { |
| 641 | compatible = "renesas,r8a7778-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| 642 | reg = <0xffc80054 4>; |
| 643 | clocks = <&cpg_clocks R8A7778_CLK_P>, |
| 644 | <&cpg_clocks R8A7778_CLK_P>, |
| 645 | <&cpg_clocks R8A7778_CLK_P>, |
| 646 | <&cpg_clocks R8A7778_CLK_P>, |
| 647 | <&cpg_clocks R8A7778_CLK_P>, |
| 648 | <&cpg_clocks R8A7778_CLK_P>, |
| 649 | <&cpg_clocks R8A7778_CLK_P>, |
| 650 | <&cpg_clocks R8A7778_CLK_P>, |
| 651 | <&cpg_clocks R8A7778_CLK_P>; |
| 652 | #clock-cells = <1>; |
| 653 | clock-indices = < |
| 654 | R8A7778_CLK_SRU_SRC0 R8A7778_CLK_SRU_SRC1 |
| 655 | R8A7778_CLK_SRU_SRC2 R8A7778_CLK_SRU_SRC3 |
| 656 | R8A7778_CLK_SRU_SRC4 R8A7778_CLK_SRU_SRC5 |
| 657 | R8A7778_CLK_SRU_SRC6 R8A7778_CLK_SRU_SRC7 |
| 658 | R8A7778_CLK_SRU_SRC8 |
| 659 | >; |
| 660 | clock-output-names = |
| 661 | "sru-src0", "sru-src1", "sru-src2", |
| 662 | "sru-src3", "sru-src4", "sru-src5", |
| 663 | "sru-src6", "sru-src7", "sru-src8"; |
| 664 | }; |
| 665 | }; |
| 666 | |
| 667 | rst: reset-controller@ffcc0000 { |
| 668 | compatible = "renesas,r8a7778-reset-wdt"; |
| 669 | reg = <0xffcc0000 0x40>; |
| 670 | }; |
| 671 | }; |