// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) /* * Device Tree Source for the RZ/G3E SoC * * Copyright (C) 2024 Renesas Electronics Corp. */ #include #include / { compatible = "renesas,r9a09g047"; #address-cells = <2>; #size-cells = <2>; interrupt-parent = <&gic>; audio_extal_clk: audio-clk { compatible = "fixed-clock"; #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; }; audio_clkb: audio-b-clk { compatible = "fixed-clock"; #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; }; audio_clkc: audio-c-clk { compatible = "fixed-clock"; #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; }; /* * The default cluster table is based on the assumption that the PLLCA55 clock * frequency is set to 1.7GHz. The PLLCA55 clock frequency can be set to * 1.7/1.6/1.5/1.1 GHz based on the BOOTPLLCA_0/1 pins (and additionally can be * clocked to 1.8GHz as well). The table below should be overridden in the board * DTS based on the PLLCA55 clock frequency. */ cluster0_opp: opp-table-0 { compatible = "operating-points-v2"; opp-1700000000 { opp-hz = /bits/ 64 <1700000000>; opp-microvolt = <900000>; clock-latency-ns = <300000>; }; opp-850000000 { opp-hz = /bits/ 64 <850000000>; opp-microvolt = <800000>; clock-latency-ns = <300000>; }; opp-425000000 { opp-hz = /bits/ 64 <425000000>; opp-microvolt = <800000>; clock-latency-ns = <300000>; }; opp-212500000 { opp-hz = /bits/ 64 <212500000>; opp-microvolt = <800000>; clock-latency-ns = <300000>; opp-suspend; }; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu0: cpu@0 { compatible = "arm,cortex-a55"; reg = <0>; device_type = "cpu"; next-level-cache = <&L3_CA55>; enable-method = "psci"; clocks = <&cpg CPG_CORE R9A09G047_CA55_0_CORECLK0>; #cooling-cells = <2>; operating-points-v2 = <&cluster0_opp>; }; cpu1: cpu@100 { compatible = "arm,cortex-a55"; reg = <0x100>; device_type = "cpu"; next-level-cache = <&L3_CA55>; enable-method = "psci"; clocks = <&cpg CPG_CORE R9A09G047_CA55_0_CORECLK1>; #cooling-cells = <2>; operating-points-v2 = <&cluster0_opp>; }; cpu2: cpu@200 { compatible = "arm,cortex-a55"; reg = <0x200>; device_type = "cpu"; next-level-cache = <&L3_CA55>; enable-method = "psci"; clocks = <&cpg CPG_CORE R9A09G047_CA55_0_CORECLK2>; #cooling-cells = <2>; operating-points-v2 = <&cluster0_opp>; }; cpu3: cpu@300 { compatible = "arm,cortex-a55"; reg = <0x300>; device_type = "cpu"; next-level-cache = <&L3_CA55>; enable-method = "psci"; clocks = <&cpg CPG_CORE R9A09G047_CA55_0_CORECLK3>; #cooling-cells = <2>; operating-points-v2 = <&cluster0_opp>; }; L3_CA55: cache-controller-0 { compatible = "cache"; cache-unified; cache-size = <0x100000>; cache-level = <3>; }; }; gpu_opp_table: opp-table-1 { compatible = "operating-points-v2"; opp-630000000 { opp-hz = /bits/ 64 <630000000>; opp-microvolt = <800000>; }; opp-315000000 { opp-hz = /bits/ 64 <315000000>; opp-microvolt = <800000>; }; opp-157500000 { opp-hz = /bits/ 64 <157500000>; opp-microvolt = <800000>; }; opp-78750000 { opp-hz = /bits/ 64 <78750000>; opp-microvolt = <800000>; }; opp-19687500 { opp-hz = /bits/ 64 <19687500>; opp-microvolt = <800000>; }; }; psci { compatible = "arm,psci-1.0", "arm,psci-0.2"; method = "smc"; }; qextal_clk: qextal-clk { compatible = "fixed-clock"; #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; }; rtxin_clk: rtxin-clk { compatible = "fixed-clock"; #clock-cells = <0>; /* This value must be overridden by the board */ clock-frequency = <0>; }; soc: soc { compatible = "simple-bus"; #address-cells = <2>; #size-cells = <2>; ranges; icu: interrupt-controller@10400000 { compatible = "renesas,r9a09g047-icu"; reg = <0 0x10400000 0 0x10000>; #interrupt-cells = <2>; #address-cells = <0>; interrupt-controller; interrupts = , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ; interrupt-names = "nmi", "port_irq0", "port_irq1", "port_irq2", "port_irq3", "port_irq4", "port_irq5", "port_irq6", "port_irq7", "port_irq8", "port_irq9", "port_irq10", "port_irq11", "port_irq12", "port_irq13", "port_irq14", "port_irq15", "tint0", "tint1", "tint2", "tint3", "tint4", "tint5", "tint6", "tint7", "tint8", "tint9", "tint10", "tint11", "tint12", "tint13", "tint14", "tint15", "tint16", "tint17", "tint18", "tint19", "tint20", "tint21", "tint22", "tint23", "tint24", "tint25", "tint26", "tint27", "tint28", "tint29", "tint30", "tint31", "int-ca55-0", "int-ca55-1", "int-ca55-2", "int-ca55-3", "icu-error-ca55", "gpt-u0-gtciada", "gpt-u0-gtciadb", "gpt-u1-gtciada", "gpt-u1-gtciadb"; clocks = <&cpg CPG_MOD 0x5>; power-domains = <&cpg>; resets = <&cpg 0x36>; }; pinctrl: pinctrl@10410000 { compatible = "renesas,r9a09g047-pinctrl"; reg = <0 0x10410000 0 0x10000>; clocks = <&cpg CPG_CORE R9A09G047_IOTOP_0_SHCLK>; gpio-controller; #gpio-cells = <2>; gpio-ranges = <&pinctrl 0 0 232>; #interrupt-cells = <2>; interrupt-controller; interrupt-parent = <&icu>; power-domains = <&cpg>; resets = <&cpg 0xa5>, <&cpg 0xa6>; reset-names = "main", "error"; }; cpg: clock-controller@10420000 { compatible = "renesas,r9a09g047-cpg"; reg = <0 0x10420000 0 0x10000>; clocks = <&audio_extal_clk>, <&rtxin_clk>, <&qextal_clk>, <&audio_clkb>, <&audio_clkc>; clock-names = "audio_extal", "rtxin", "qextal", "audio_clkb", "audio_clkc"; #clock-cells = <2>; #reset-cells = <1>; #power-domain-cells = <0>; }; sys: system-controller@10430000 { compatible = "renesas,r9a09g047-sys"; reg = <0 0x10430000 0 0x10000>; clocks = <&cpg CPG_CORE R9A09G047_SYS_0_PCLK>; resets = <&cpg 0x30>; }; xspi: spi@11030000 { compatible = "renesas,r9a09g047-xspi"; reg = <0 0x11030000 0 0x10000>, <0 0x20000000 0 0x10000000>; reg-names = "regs", "dirmap"; interrupts = , ; interrupt-names = "pulse", "err_pulse"; clocks = <&cpg CPG_MOD 0x9f>, <&cpg CPG_MOD 0xa0>, <&cpg CPG_CORE R9A09G047_SPI_CLK_SPI>, <&cpg CPG_MOD 0xa1>; clock-names = "ahb", "axi", "spi", "spix2"; resets = <&cpg 0xa3>, <&cpg 0xa4>; reset-names = "hresetn", "aresetn"; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; dmac0: dma-controller@11400000 { compatible = "renesas,r9a09g047-dmac", "renesas,r9a09g057-dmac"; reg = <0 0x11400000 0 0x10000>; interrupts = , , , , , , , , , , , , , , , , ; interrupt-names = "error", "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", "ch7", "ch8", "ch9", "ch10", "ch11", "ch12", "ch13", "ch14", "ch15"; clocks = <&cpg CPG_MOD 0x0>; power-domains = <&cpg>; resets = <&cpg 0x31>; #dma-cells = <1>; dma-channels = <16>; renesas,icu = <&icu 4>; }; dmac1: dma-controller@14830000 { compatible = "renesas,r9a09g047-dmac", "renesas,r9a09g057-dmac"; reg = <0 0x14830000 0 0x10000>; interrupts = , , , , , , , , , , , , , , , , ; interrupt-names = "error", "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", "ch7", "ch8", "ch9", "ch10", "ch11", "ch12", "ch13", "ch14", "ch15"; clocks = <&cpg CPG_MOD 0x1>; power-domains = <&cpg>; resets = <&cpg 0x32>; #dma-cells = <1>; dma-channels = <16>; renesas,icu = <&icu 0>; }; dmac2: dma-controller@14840000 { compatible = "renesas,r9a09g047-dmac", "renesas,r9a09g057-dmac"; reg = <0 0x14840000 0 0x10000>; interrupts = , , , , , , , , , , , , , , , , ; interrupt-names = "error", "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", "ch7", "ch8", "ch9", "ch10", "ch11", "ch12", "ch13", "ch14", "ch15"; clocks = <&cpg CPG_MOD 0x2>; power-domains = <&cpg>; resets = <&cpg 0x33>; #dma-cells = <1>; dma-channels = <16>; renesas,icu = <&icu 1>; }; dmac3: dma-controller@12000000 { compatible = "renesas,r9a09g047-dmac", "renesas,r9a09g057-dmac"; reg = <0 0x12000000 0 0x10000>; interrupts = , , , , , , , , , , , , , , , , ; interrupt-names = "error", "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", "ch7", "ch8", "ch9", "ch10", "ch11", "ch12", "ch13", "ch14", "ch15"; clocks = <&cpg CPG_MOD 0x3>; power-domains = <&cpg>; resets = <&cpg 0x34>; #dma-cells = <1>; dma-channels = <16>; renesas,icu = <&icu 2>; }; dmac4: dma-controller@12010000 { compatible = "renesas,r9a09g047-dmac", "renesas,r9a09g057-dmac"; reg = <0 0x12010000 0 0x10000>; interrupts = , , , , , , , , , , , , , , , , ; interrupt-names = "error", "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", "ch7", "ch8", "ch9", "ch10", "ch11", "ch12", "ch13", "ch14", "ch15"; clocks = <&cpg CPG_MOD 0x4>; power-domains = <&cpg>; resets = <&cpg 0x35>; #dma-cells = <1>; dma-channels = <16>; renesas,icu = <&icu 3>; }; scif0: serial@11c01400 { compatible = "renesas,scif-r9a09g047", "renesas,scif-r9a09g057"; reg = <0 0x11c01400 0 0x400>; interrupts = , , , , , , , , ; interrupt-names = "eri", "rxi", "txi", "bri", "dri", "tei", "tei-dri", "rxi-edge", "txi-edge"; clocks = <&cpg CPG_MOD 0x8f>; clock-names = "fck"; power-domains = <&cpg>; resets = <&cpg 0x95>; status = "disabled"; }; i3c: i3c@12400000 { compatible = "renesas,r9a09g047-i3c"; reg = <0 0x12400000 0 0x10000>; clocks = <&cpg CPG_MOD 0x91>, <&cpg CPG_MOD 0x92>, <&cpg CPG_MOD 0x90>; clock-names = "pclk", "tclk", "pclkrw"; interrupts = , , , , , , , , , , , , , , , ; interrupt-names = "ierr", "terr", "abort", "resp", "cmd", "ibi", "rx", "tx", "rcv", "st", "sp", "tend", "nack", "al", "tmo", "wu"; resets = <&cpg 0x96>, <&cpg 0x97>; reset-names = "presetn", "tresetn"; power-domains = <&cpg>; #address-cells = <3>; #size-cells = <0>; status = "disabled"; }; canfd: can@12440000 { compatible = "renesas,r9a09g047-canfd"; reg = <0 0x12440000 0 0x40000>; interrupts = , , , , , , , , , , , , , , , , , , , ; interrupt-names = "g_err", "g_recc", "ch0_err", "ch0_rec", "ch0_trx", "ch1_err", "ch1_rec", "ch1_trx", "ch2_err", "ch2_rec", "ch2_trx", "ch3_err", "ch3_rec", "ch3_trx", "ch4_err", "ch4_rec", "ch4_trx", "ch5_err", "ch5_rec", "ch5_trx"; clocks = <&cpg CPG_MOD 0x9c>, <&cpg CPG_MOD 0x9d>, <&cpg CPG_MOD 0x9e>; clock-names = "fck", "ram_clk", "can_clk"; assigned-clocks = <&cpg CPG_MOD 0x9e>; assigned-clock-rates = <80000000>; resets = <&cpg 0xa1>, <&cpg 0xa2>; reset-names = "rstp_n", "rstc_n"; power-domains = <&cpg>; status = "disabled"; channel0 { status = "disabled"; }; channel1 { status = "disabled"; }; channel2 { status = "disabled"; }; channel3 { status = "disabled"; }; channel4 { status = "disabled"; }; channel5 { status = "disabled"; }; }; rspi0: spi@12800000 { compatible = "renesas,r9a09g047-rspi", "renesas,r9a09g057-rspi"; reg = <0x0 0x12800000 0x0 0x400>; interrupts = , , , , ; interrupt-names = "idle", "error", "end", "rx", "tx"; clocks = <&cpg CPG_MOD 0x54>, <&cpg CPG_MOD 0x55>, <&cpg CPG_MOD 0x56>; clock-names = "pclk", "pclk_sfr", "tclk"; resets = <&cpg 0x7b>, <&cpg 0x7c>; reset-names = "presetn", "tresetn"; dmas = <&dmac0 0x448c>, <&dmac0 0x448d>, <&dmac1 0x448c>, <&dmac1 0x448d>, <&dmac2 0x448c>, <&dmac2 0x448d>, <&dmac3 0x448c>, <&dmac3 0x448d>, <&dmac4 0x448c>, <&dmac4 0x448d>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; rspi1: spi@12800400 { compatible = "renesas,r9a09g047-rspi", "renesas,r9a09g057-rspi"; reg = <0x0 0x12800400 0x0 0x400>; interrupts = , , , , ; interrupt-names = "idle", "error", "end", "rx", "tx"; clocks = <&cpg CPG_MOD 0x57>, <&cpg CPG_MOD 0x58>, <&cpg CPG_MOD 0x59>; clock-names = "pclk", "pclk_sfr", "tclk"; resets = <&cpg 0x7d>, <&cpg 0x7e>; reset-names = "presetn", "tresetn"; dmas = <&dmac0 0x448e>, <&dmac0 0x448f>, <&dmac1 0x448e>, <&dmac1 0x448f>, <&dmac2 0x448e>, <&dmac2 0x448f>, <&dmac3 0x448e>, <&dmac3 0x448f>, <&dmac4 0x448e>, <&dmac4 0x448f>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; rspi2: spi@12800800 { compatible = "renesas,r9a09g047-rspi", "renesas,r9a09g057-rspi"; reg = <0x0 0x12800800 0x0 0x400>; interrupts = , , , , ; interrupt-names = "idle", "error", "end", "rx", "tx"; clocks = <&cpg CPG_MOD 0x5a>, <&cpg CPG_MOD 0x5b>, <&cpg CPG_MOD 0x5c>; clock-names = "pclk", "pclk_sfr", "tclk"; resets = <&cpg 0x7f>, <&cpg 0x80>; reset-names = "presetn", "tresetn"; dmas = <&dmac0 0x4490>, <&dmac0 0x4491>, <&dmac1 0x4490>, <&dmac1 0x4491>, <&dmac2 0x4490>, <&dmac2 0x4491>, <&dmac3 0x4490>, <&dmac3 0x4491>, <&dmac4 0x4490>, <&dmac4 0x4491>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; rsci0: serial@12800c00 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12800c00 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x5d>, <&cpg CPG_MOD 0x5e>, <&cpg CPG_MOD 0x61>, <&cpg CPG_MOD 0x60>, <&cpg CPG_MOD 0x5f>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x81>, <&cpg 0x82>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci1: serial@12801000 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12801000 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x62>, <&cpg CPG_MOD 0x63>, <&cpg CPG_MOD 0x66>, <&cpg CPG_MOD 0x65>, <&cpg CPG_MOD 0x64>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x83>, <&cpg 0x84>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci2: serial@12801400 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12801400 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x67>, <&cpg CPG_MOD 0x68>, <&cpg CPG_MOD 0x6b>, <&cpg CPG_MOD 0x6a>, <&cpg CPG_MOD 0x69>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x85>, <&cpg 0x86>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci3: serial@12801800 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12801800 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x6c>, <&cpg CPG_MOD 0x6d>, <&cpg CPG_MOD 0x70>, <&cpg CPG_MOD 0x6f>, <&cpg CPG_MOD 0x6e>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x87>, <&cpg 0x88>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci4: serial@12801c00 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12801c00 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x71>, <&cpg CPG_MOD 0x72>, <&cpg CPG_MOD 0x75>, <&cpg CPG_MOD 0x74>, <&cpg CPG_MOD 0x73>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x89>, <&cpg 0x8a>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci5: serial@12802000 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12802000 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x76>, <&cpg CPG_MOD 0x77>, <&cpg CPG_MOD 0x7a>, <&cpg CPG_MOD 0x79>, <&cpg CPG_MOD 0x78>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x8b>, <&cpg 0x8c>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci6: serial@12802400 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12802400 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x7b>, <&cpg CPG_MOD 0x7c>, <&cpg CPG_MOD 0x7f>, <&cpg CPG_MOD 0x7e>, <&cpg CPG_MOD 0x7d>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x8d>, <&cpg 0x8e>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci7: serial@12802800 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12802800 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x80>, <&cpg CPG_MOD 0x81>, <&cpg CPG_MOD 0x84>, <&cpg CPG_MOD 0x83>, <&cpg CPG_MOD 0x82>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x8f>, <&cpg 0x90>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci8: serial@12802c00 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12802c00 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x85>, <&cpg CPG_MOD 0x86>, <&cpg CPG_MOD 0x89>, <&cpg CPG_MOD 0x88>, <&cpg CPG_MOD 0x87>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x91>, <&cpg 0x92>; reset-names = "presetn", "tresetn"; status = "disabled"; }; rsci9: serial@12803000 { compatible = "renesas,r9a09g047-rsci"; reg = <0 0x12803000 0 0x400>; interrupts = , , , , , ; interrupt-names = "eri", "rxi", "txi", "tei", "aed", "bfd"; clocks = <&cpg CPG_MOD 0x8a>, <&cpg CPG_MOD 0x8b>, <&cpg CPG_MOD 0x8e>, <&cpg CPG_MOD 0x8d>, <&cpg CPG_MOD 0x8c>; clock-names = "pclk", "tclk", "tclk_div4", "tclk_div16", "tclk_div64"; power-domains = <&cpg>; resets = <&cpg 0x93>, <&cpg 0x94>; reset-names = "presetn", "tresetn"; status = "disabled"; }; snd_rzg3e: sound@13c00000 { compatible = "renesas,r9a09g047-sound"; reg = <0 0x13c00000 0 0x20000>, /* SCU */ <0 0x13c20000 0 0x10000>, /* ADG */ <0 0x13c30000 0 0x1000>, /* SSIU */ <0 0x13c31000 0 0x1f000>, /* SSI */ <0 0x13c50000 0 0x10000>; /* Audio DMAC peri peri */ reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; clocks = <&cpg CPG_MOD 0xf5>, <&cpg CPG_MOD 0x181>, <&cpg CPG_MOD 0x182>, <&cpg CPG_MOD 0x183>, <&cpg CPG_MOD 0x184>, <&cpg CPG_MOD 0x185>, <&cpg CPG_MOD 0x186>, <&cpg CPG_MOD 0x187>, <&cpg CPG_MOD 0x188>, <&cpg CPG_MOD 0x189>, <&cpg CPG_MOD 0x18a>, <&cpg CPG_MOD 0x174>, <&cpg CPG_MOD 0x175>, <&cpg CPG_MOD 0x176>, <&cpg CPG_MOD 0x177>, <&cpg CPG_MOD 0x178>, <&cpg CPG_MOD 0x179>, <&cpg CPG_MOD 0x17a>, <&cpg CPG_MOD 0x17b>, <&cpg CPG_MOD 0x17c>, <&cpg CPG_MOD 0x17d>, <&cpg CPG_MOD 0x172>, <&cpg CPG_MOD 0x173>, <&cpg CPG_MOD 0x172>, <&cpg CPG_MOD 0x173>, <&cpg CPG_MOD 0x170>, <&cpg CPG_MOD 0x171>, <&cpg CPG_MOD 0xfb>, <&cpg CPG_MOD 0xfc>, <&cpg CPG_MOD 0xfd>, <&cpg CPG_MOD 0xfa>, <&cpg CPG_MOD 0x180>, <&cpg CPG_MOD 0xf6>, <&cpg CPG_MOD 0xf7>, <&cpg CPG_MOD 0x17e>, <&cpg CPG_MOD 0x160>, <&cpg CPG_MOD 0x161>, <&cpg CPG_MOD 0x162>, <&cpg CPG_MOD 0x163>, <&cpg CPG_MOD 0x164>, <&cpg CPG_MOD 0x165>, <&cpg CPG_MOD 0x166>, <&cpg CPG_MOD 0x167>, <&cpg CPG_MOD 0x168>, <&cpg CPG_MOD 0x169>, <&cpg CPG_MOD 0xf8>, <&cpg CPG_MOD 0xf9>; clock-names = "ssi-all", "ssi-0", "ssi-1", "ssi-2", "ssi-3", "ssi-4", "ssi-5", "ssi-6", "ssi-7", "ssi-8", "ssi-9", "src-0", "src-1", "src-2", "src-3", "src-4", "src-5", "src-6", "src-7", "src-8", "src-9", "mix-0", "mix-1", "ctu-0", "ctu-1", "dvc-0", "dvc-1", "audio-clka", "audio-clkb", "audio-clkc", "audio-clki", "ssif_supply", "scu", "scu_x2", "scu_supply", "adg-ssi-0", "adg-ssi-1", "adg-ssi-2", "adg-ssi-3", "adg-ssi-4", "adg-ssi-5", "adg-ssi-6", "adg-ssi-7", "adg-ssi-8", "adg-ssi-9", "audmapp", "adg"; power-domains = <&cpg>; resets = <&cpg 0xe1>, <&cpg 0xe2>, <&cpg 0xe3>, <&cpg 0xe4>, <&cpg 0xe5>, <&cpg 0xe6>, <&cpg 0xe7>, <&cpg 0xe8>, <&cpg 0xe9>, <&cpg 0xea>, <&cpg 0xeb>, <&cpg 0xec>, <&cpg 0xee>, <&cpg 0xed>; reset-names = "ssi-all", "ssi-0", "ssi-1", "ssi-2", "ssi-3", "ssi-4", "ssi-5", "ssi-6", "ssi-7", "ssi-8", "ssi-9", "scu", "adg", "audmapp"; status = "disabled"; ctu { ctu00: ctu-0 { }; ctu01: ctu-1 { }; ctu02: ctu-2 { }; ctu03: ctu-3 { }; ctu10: ctu-4 { }; ctu11: ctu-5 { }; ctu12: ctu-6 { }; ctu13: ctu-7 { }; }; dvc { dvc0: dvc-0 { dmas = <&dmac0 0x1db3>, <&dmac1 0x1db3>, <&dmac2 0x1db3>, <&dmac3 0x1db3>, <&dmac4 0x1db3>; dma-names = "tx", "tx", "tx", "tx", "tx"; }; dvc1: dvc-1 { dmas = <&dmac0 0x1db4>, <&dmac1 0x1db4>, <&dmac2 0x1db4>, <&dmac3 0x1db4>, <&dmac4 0x1db4>; dma-names = "tx", "tx", "tx", "tx", "tx"; }; }; mix { mix0: mix-0 { }; mix1: mix-1 { }; }; src { src0: src-0 { interrupts = ; dmas = <&dmac0 0x1d9f>, <&dmac0 0x1da9>, <&dmac1 0x1d9f>, <&dmac1 0x1da9>, <&dmac2 0x1d9f>, <&dmac2 0x1da9>, <&dmac3 0x1d9f>, <&dmac3 0x1da9>, <&dmac4 0x1d9f>, <&dmac4 0x1da9>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src1: src-1 { interrupts = ; dmas = <&dmac0 0x1da0>, <&dmac0 0x1daa>, <&dmac1 0x1da0>, <&dmac1 0x1daa>, <&dmac2 0x1da0>, <&dmac2 0x1daa>, <&dmac3 0x1da0>, <&dmac3 0x1daa>, <&dmac4 0x1da0>, <&dmac4 0x1daa>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src2: src-2 { interrupts = ; dmas = <&dmac0 0x1da1>, <&dmac0 0x1dab>, <&dmac1 0x1da1>, <&dmac1 0x1dab>, <&dmac2 0x1da1>, <&dmac2 0x1dab>, <&dmac3 0x1da1>, <&dmac3 0x1dab>, <&dmac4 0x1da1>, <&dmac4 0x1dab>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src3: src-3 { interrupts = ; dmas = <&dmac0 0x1da2>, <&dmac0 0x1dac>, <&dmac1 0x1da2>, <&dmac1 0x1dac>, <&dmac2 0x1da2>, <&dmac2 0x1dac>, <&dmac3 0x1da2>, <&dmac3 0x1dac>, <&dmac4 0x1da2>, <&dmac4 0x1dac>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src4: src-4 { interrupts = ; dmas = <&dmac0 0x1da3>, <&dmac0 0x1dad>, <&dmac1 0x1da3>, <&dmac1 0x1dad>, <&dmac2 0x1da3>, <&dmac2 0x1dad>, <&dmac3 0x1da3>, <&dmac3 0x1dad>, <&dmac4 0x1da3>, <&dmac4 0x1dad>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src5: src-5 { interrupts = ; dmas = <&dmac0 0x1da4>, <&dmac0 0x1dae>, <&dmac1 0x1da4>, <&dmac1 0x1dae>, <&dmac2 0x1da4>, <&dmac2 0x1dae>, <&dmac3 0x1da4>, <&dmac3 0x1dae>, <&dmac4 0x1da4>, <&dmac4 0x1dae>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src6: src-6 { interrupts = ; dmas = <&dmac0 0x1da5>, <&dmac0 0x1daf>, <&dmac1 0x1da5>, <&dmac1 0x1daf>, <&dmac2 0x1da5>, <&dmac2 0x1daf>, <&dmac3 0x1da5>, <&dmac3 0x1daf>, <&dmac4 0x1da5>, <&dmac4 0x1daf>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src7: src-7 { interrupts = ; dmas = <&dmac0 0x1da6>, <&dmac0 0x1db0>, <&dmac1 0x1da6>, <&dmac1 0x1db0>, <&dmac2 0x1da6>, <&dmac2 0x1db0>, <&dmac3 0x1da6>, <&dmac3 0x1db0>, <&dmac4 0x1da6>, <&dmac4 0x1db0>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src8: src-8 { interrupts = ; dmas = <&dmac0 0x1da7>, <&dmac0 0x1db1>, <&dmac1 0x1da7>, <&dmac1 0x1db1>, <&dmac2 0x1da7>, <&dmac2 0x1db1>, <&dmac3 0x1da7>, <&dmac3 0x1db1>, <&dmac4 0x1da7>, <&dmac4 0x1db1>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; src9: src-9 { interrupts = ; dmas = <&dmac0 0x1da8>, <&dmac0 0x1db2>, <&dmac1 0x1da8>, <&dmac1 0x1db2>, <&dmac2 0x1da8>, <&dmac2 0x1db2>, <&dmac3 0x1da8>, <&dmac3 0x1db2>, <&dmac4 0x1da8>, <&dmac4 0x1db2>; dma-names = "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx"; }; }; ssi { ssi0: ssi-0 { interrupts = ; }; ssi1: ssi-1 { interrupts = ; }; ssi2: ssi-2 { interrupts = ; }; ssi3: ssi-3 { interrupts = ; }; ssi4: ssi-4 { interrupts = ; }; ssi5: ssi-5 { interrupts = ; }; ssi6: ssi-6 { interrupts = ; }; ssi7: ssi-7 { interrupts = ; }; ssi8: ssi-8 { interrupts = ; }; ssi9: ssi-9 { interrupts = ; }; }; ssiu { ssiu00: ssiu-0 { dmas = <&dmac0 0x1d61>, <&dmac0 0x1d62>, <&dmac1 0x1d61>, <&dmac1 0x1d62>, <&dmac2 0x1d61>, <&dmac2 0x1d62>, <&dmac3 0x1d61>, <&dmac3 0x1d62>, <&dmac4 0x1d61>, <&dmac4 0x1d62>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu01: ssiu-1 { dmas = <&dmac0 0x1d63>, <&dmac0 0x1d64>, <&dmac1 0x1d63>, <&dmac1 0x1d64>, <&dmac2 0x1d63>, <&dmac2 0x1d64>, <&dmac3 0x1d63>, <&dmac3 0x1d64>, <&dmac4 0x1d63>, <&dmac4 0x1d64>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu02: ssiu-2 { dmas = <&dmac0 0x1d65>, <&dmac0 0x1d66>, <&dmac1 0x1d65>, <&dmac1 0x1d66>, <&dmac2 0x1d65>, <&dmac2 0x1d66>, <&dmac3 0x1d65>, <&dmac3 0x1d66>, <&dmac4 0x1d65>, <&dmac4 0x1d66>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu03: ssiu-3 { dmas = <&dmac0 0x1d67>, <&dmac0 0x1d68>, <&dmac1 0x1d67>, <&dmac1 0x1d68>, <&dmac2 0x1d67>, <&dmac2 0x1d68>, <&dmac3 0x1d67>, <&dmac3 0x1d68>, <&dmac4 0x1d67>, <&dmac4 0x1d68>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu10: ssiu-4 { dmas = <&dmac0 0x1d69>, <&dmac0 0x1d6a>, <&dmac1 0x1d69>, <&dmac1 0x1d6a>, <&dmac2 0x1d69>, <&dmac2 0x1d6a>, <&dmac3 0x1d69>, <&dmac3 0x1d6a>, <&dmac4 0x1d69>, <&dmac4 0x1d6a>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu11: ssiu-5 { dmas = <&dmac0 0x1d6b>, <&dmac0 0x1d6c>, <&dmac1 0x1d6b>, <&dmac1 0x1d6c>, <&dmac2 0x1d6b>, <&dmac2 0x1d6c>, <&dmac3 0x1d6b>, <&dmac3 0x1d6c>, <&dmac4 0x1d6b>, <&dmac4 0x1d6c>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu12: ssiu-6 { dmas = <&dmac0 0x1d6d>, <&dmac0 0x1d6e>, <&dmac1 0x1d6d>, <&dmac1 0x1d6e>, <&dmac2 0x1d6d>, <&dmac2 0x1d6e>, <&dmac3 0x1d6d>, <&dmac3 0x1d6e>, <&dmac4 0x1d6d>, <&dmac4 0x1d6e>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu13: ssiu-7 { dmas = <&dmac0 0x1d6f>, <&dmac0 0x1d70>, <&dmac1 0x1d6f>, <&dmac1 0x1d70>, <&dmac2 0x1d6f>, <&dmac2 0x1d70>, <&dmac3 0x1d6f>, <&dmac3 0x1d70>, <&dmac4 0x1d6f>, <&dmac4 0x1d70>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu20: ssiu-8 { dmas = <&dmac0 0x1d71>, <&dmac0 0x1d72>, <&dmac1 0x1d71>, <&dmac1 0x1d72>, <&dmac2 0x1d71>, <&dmac2 0x1d72>, <&dmac3 0x1d71>, <&dmac3 0x1d72>, <&dmac4 0x1d71>, <&dmac4 0x1d72>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu21: ssiu-9 { dmas = <&dmac0 0x1d73>, <&dmac0 0x1d74>, <&dmac1 0x1d73>, <&dmac1 0x1d74>, <&dmac2 0x1d73>, <&dmac2 0x1d74>, <&dmac3 0x1d73>, <&dmac3 0x1d74>, <&dmac4 0x1d73>, <&dmac4 0x1d74>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu22: ssiu-10 { dmas = <&dmac0 0x1d75>, <&dmac0 0x1d76>, <&dmac1 0x1d75>, <&dmac1 0x1d76>, <&dmac2 0x1d75>, <&dmac2 0x1d76>, <&dmac3 0x1d75>, <&dmac3 0x1d76>, <&dmac4 0x1d75>, <&dmac4 0x1d76>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu23: ssiu-11 { dmas = <&dmac0 0x1d77>, <&dmac0 0x1d78>, <&dmac1 0x1d77>, <&dmac1 0x1d78>, <&dmac2 0x1d77>, <&dmac2 0x1d78>, <&dmac3 0x1d77>, <&dmac3 0x1d78>, <&dmac4 0x1d77>, <&dmac4 0x1d78>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu30: ssiu-12 { dmas = <&dmac0 0x1d79>, <&dmac0 0x1d7a>, <&dmac1 0x1d79>, <&dmac1 0x1d7a>, <&dmac2 0x1d79>, <&dmac2 0x1d7a>, <&dmac3 0x1d79>, <&dmac3 0x1d7a>, <&dmac4 0x1d79>, <&dmac4 0x1d7a>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu31: ssiu-13 { dmas = <&dmac0 0x1d7b>, <&dmac0 0x1d7c>, <&dmac1 0x1d7b>, <&dmac1 0x1d7c>, <&dmac2 0x1d7b>, <&dmac2 0x1d7c>, <&dmac3 0x1d7b>, <&dmac3 0x1d7c>, <&dmac4 0x1d7b>, <&dmac4 0x1d7c>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu32: ssiu-14 { dmas = <&dmac0 0x1d7d>, <&dmac0 0x1d7e>, <&dmac1 0x1d7d>, <&dmac1 0x1d7e>, <&dmac2 0x1d7d>, <&dmac2 0x1d7e>, <&dmac3 0x1d7d>, <&dmac3 0x1d7e>, <&dmac4 0x1d7d>, <&dmac4 0x1d7e>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu33: ssiu-15 { dmas = <&dmac0 0x1d7f>, <&dmac0 0x1d80>, <&dmac1 0x1d7f>, <&dmac1 0x1d80>, <&dmac2 0x1d7f>, <&dmac2 0x1d80>, <&dmac3 0x1d7f>, <&dmac3 0x1d80>, <&dmac4 0x1d7f>, <&dmac4 0x1d80>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu40: ssiu-16 { dmas = <&dmac0 0x1d81>, <&dmac0 0x1d82>, <&dmac1 0x1d81>, <&dmac1 0x1d82>, <&dmac2 0x1d81>, <&dmac2 0x1d82>, <&dmac3 0x1d81>, <&dmac3 0x1d82>, <&dmac4 0x1d81>, <&dmac4 0x1d82>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu41: ssiu-17 { dmas = <&dmac0 0x1d83>, <&dmac0 0x1d84>, <&dmac1 0x1d83>, <&dmac1 0x1d84>, <&dmac2 0x1d83>, <&dmac2 0x1d84>, <&dmac3 0x1d83>, <&dmac3 0x1d84>, <&dmac4 0x1d83>, <&dmac4 0x1d84>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu42: ssiu-18 { dmas = <&dmac0 0x1d85>, <&dmac0 0x1d86>, <&dmac1 0x1d85>, <&dmac1 0x1d86>, <&dmac2 0x1d85>, <&dmac2 0x1d86>, <&dmac3 0x1d85>, <&dmac3 0x1d86>, <&dmac4 0x1d85>, <&dmac4 0x1d86>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu43: ssiu-19 { dmas = <&dmac0 0x1d87>, <&dmac0 0x1d88>, <&dmac1 0x1d87>, <&dmac1 0x1d88>, <&dmac2 0x1d87>, <&dmac2 0x1d88>, <&dmac3 0x1d87>, <&dmac3 0x1d88>, <&dmac4 0x1d87>, <&dmac4 0x1d88>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu50: ssiu-20 { dmas = <&dmac0 0x1d89>, <&dmac0 0x1d8a>, <&dmac1 0x1d89>, <&dmac1 0x1d8a>, <&dmac2 0x1d89>, <&dmac2 0x1d8a>, <&dmac3 0x1d89>, <&dmac3 0x1d8a>, <&dmac4 0x1d89>, <&dmac4 0x1d8a>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu60: ssiu-21 { dmas = <&dmac0 0x1d8b>, <&dmac0 0x1d8c>, <&dmac1 0x1d8b>, <&dmac1 0x1d8c>, <&dmac2 0x1d8b>, <&dmac2 0x1d8c>, <&dmac3 0x1d8b>, <&dmac3 0x1d8c>, <&dmac4 0x1d8b>, <&dmac4 0x1d8c>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu70: ssiu-22 { dmas = <&dmac0 0x1d8d>, <&dmac0 0x1d8e>, <&dmac1 0x1d8d>, <&dmac1 0x1d8e>, <&dmac2 0x1d8d>, <&dmac2 0x1d8e>, <&dmac3 0x1d8d>, <&dmac3 0x1d8e>, <&dmac4 0x1d8d>, <&dmac4 0x1d8e>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu80: ssiu-23 { dmas = <&dmac0 0x1d8f>, <&dmac0 0x1d90>, <&dmac1 0x1d8f>, <&dmac1 0x1d90>, <&dmac2 0x1d8f>, <&dmac2 0x1d90>, <&dmac3 0x1d8f>, <&dmac3 0x1d90>, <&dmac4 0x1d8f>, <&dmac4 0x1d90>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu90: ssiu-24 { dmas = <&dmac0 0x1d91>, <&dmac0 0x1d92>, <&dmac1 0x1d91>, <&dmac1 0x1d92>, <&dmac2 0x1d91>, <&dmac2 0x1d92>, <&dmac3 0x1d91>, <&dmac3 0x1d92>, <&dmac4 0x1d91>, <&dmac4 0x1d92>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu91: ssiu-25 { dmas = <&dmac0 0x1d93>, <&dmac0 0x1d94>, <&dmac1 0x1d93>, <&dmac1 0x1d94>, <&dmac2 0x1d93>, <&dmac2 0x1d94>, <&dmac3 0x1d93>, <&dmac3 0x1d94>, <&dmac4 0x1d93>, <&dmac4 0x1d94>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu92: ssiu-26 { dmas = <&dmac0 0x1d95>, <&dmac0 0x1d96>, <&dmac1 0x1d95>, <&dmac1 0x1d96>, <&dmac2 0x1d95>, <&dmac2 0x1d96>, <&dmac3 0x1d95>, <&dmac3 0x1d96>, <&dmac4 0x1d95>, <&dmac4 0x1d96>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; ssiu93: ssiu-27 { dmas = <&dmac0 0x1d97>, <&dmac0 0x1d98>, <&dmac1 0x1d97>, <&dmac1 0x1d98>, <&dmac2 0x1d97>, <&dmac2 0x1d98>, <&dmac3 0x1d97>, <&dmac3 0x1d98>, <&dmac4 0x1d97>, <&dmac4 0x1d98>; dma-names = "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx", "tx", "rx"; }; }; }; wdt1: watchdog@14400000 { compatible = "renesas,r9a09g047-wdt", "renesas,r9a09g057-wdt"; reg = <0 0x14400000 0 0x400>; clocks = <&cpg CPG_MOD 0x4d>, <&cpg CPG_MOD 0x4e>; clock-names = "pclk", "oscclk"; resets = <&cpg 0x76>; power-domains = <&cpg>; status = "disabled"; }; wdt2: watchdog@13000000 { compatible = "renesas,r9a09g047-wdt", "renesas,r9a09g057-wdt"; reg = <0 0x13000000 0 0x400>; clocks = <&cpg CPG_MOD 0x4f>, <&cpg CPG_MOD 0x50>; clock-names = "pclk", "oscclk"; resets = <&cpg 0x77>; power-domains = <&cpg>; status = "disabled"; }; wdt3: watchdog@13000400 { compatible = "renesas,r9a09g047-wdt", "renesas,r9a09g057-wdt"; reg = <0 0x13000400 0 0x400>; clocks = <&cpg CPG_MOD 0x51>, <&cpg CPG_MOD 0x52>; clock-names = "pclk", "oscclk"; resets = <&cpg 0x78>; power-domains = <&cpg>; status = "disabled"; }; pcie: pcie@13400000 { compatible = "renesas,r9a09g047-pcie"; reg = <0 0x13400000 0 0x10000>; ranges = <0x02000000 0 0x30000000 0 0x30000000 0 0x08000000>, <0x43000000 4 0x40000000 4 0x40000000 6 0x00000000>; dma-ranges = <0x43000000 0 0x40000000 0 0x40000000 2 0x00000000>; bus-range = <0x0 0xff>; interrupts = , , , , , , , , , , , , , , , , , , , , , , ; interrupt-names = "serr", "serr_cor", "serr_nonfatal", "serr_fatal", "axi_err", "inta", "intb", "intc", "intd", "msi", "link_bandwidth", "pm_pme", "dma", "pcie_evt", "msg", "all", "link_equalization_request", "turn_off_event", "pmu_poweroff", "d3_event_f0", "d3_event_f1", "cfg_pmcsr_writeclear_f0", "cfg_pmcsr_writeclear_f1"; #interrupt-cells = <1>; interrupt-controller; interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &pcie 0 0 0 0>, /* INTA */ <0 0 0 2 &pcie 0 0 0 1>, /* INTB */ <0 0 0 3 &pcie 0 0 0 2>, /* INTC */ <0 0 0 4 &pcie 0 0 0 3>; /* INTD */ clocks = <&cpg CPG_MOD 0xc4>, <&cpg CPG_MOD 0xc5>; clock-names = "aclk", "pmu"; resets = <&cpg 0xb2>; reset-names = "aresetn"; power-domains = <&cpg>; device_type = "pci"; #address-cells = <3>; #size-cells = <2>; renesas,sysc = <&sys>; status = "disabled"; pcie_port0: pcie@0,0 { reg = <0x0 0x0 0x0 0x0 0x0>; ranges; device_type = "pci"; vendor-id = <0x1912>; device-id = <0x0039>; #address-cells = <3>; #size-cells = <2>; }; }; tsu: thermal@14002000 { compatible = "renesas,r9a09g047-tsu"; reg = <0 0x14002000 0 0x1000>; interrupts = , ; interrupt-names = "adi", "adcmpi"; clocks = <&cpg CPG_MOD 0x10a>; resets = <&cpg 0xf8>; power-domains = <&cpg>; #thermal-sensor-cells = <0>; renesas,tsu-trim = <&sys 0x330>; }; i2c0: i2c@14400400 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x14400400 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x94>; resets = <&cpg 0x98>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; i2c1: i2c@14400800 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x14400800 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x95>; resets = <&cpg 0x99>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; i2c2: i2c@14400c00 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x14400c00 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x96>; resets = <&cpg 0x9a>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; i2c3: i2c@14401000 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x14401000 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x97>; resets = <&cpg 0x9b>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; i2c4: i2c@14401400 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x14401400 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x98>; resets = <&cpg 0x9c>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; i2c5: i2c@14401800 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x14401800 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x99>; resets = <&cpg 0x9d>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; i2c6: i2c@14401c00 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x14401c00 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x9a>; resets = <&cpg 0x9e>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; i2c7: i2c@14402000 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x14402000 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x9b>; resets = <&cpg 0x9f>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; i2c8: i2c@11c01000 { compatible = "renesas,riic-r9a09g047", "renesas,riic-r9a09g057"; reg = <0 0x11c01000 0 0x400>; interrupts = , , , , , , , ; interrupt-names = "tei", "ri", "ti", "spi", "sti", "naki", "ali", "tmoi"; clocks = <&cpg CPG_MOD 0x93>; resets = <&cpg 0xa0>; power-domains = <&cpg>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; gpu: gpu@14850000 { compatible = "renesas,r9a09g047-mali", "arm,mali-bifrost"; reg = <0x0 0x14850000 0x0 0x10000>; interrupts = , , , ; interrupt-names = "job", "mmu", "gpu", "event"; clocks = <&cpg CPG_MOD 0xf0>, <&cpg CPG_MOD 0xf1>, <&cpg CPG_MOD 0xf2>; clock-names = "gpu", "bus", "bus_ace"; power-domains = <&cpg>; resets = <&cpg 0xdd>, <&cpg 0xde>, <&cpg 0xdf>; reset-names = "rst", "axi_rst", "ace_rst"; operating-points-v2 = <&gpu_opp_table>; status = "disabled"; }; gic: interrupt-controller@14900000 { compatible = "arm,gic-v3"; reg = <0x0 0x14900000 0 0x20000>, <0x0 0x14940000 0 0x80000>; #interrupt-cells = <3>; #address-cells = <0>; interrupt-controller; interrupts = ; }; xhci: usb@15850000 { compatible = "renesas,r9a09g047-xhci"; reg = <0 0x15850000 0 0x10000>; interrupts = , , , , ; interrupt-names = "all", "smi", "hse", "pme", "xhc"; clocks = <&cpg CPG_MOD 0xaf>; power-domains = <&cpg>; resets = <&cpg 0xaa>; phys = <&usb3_phy>, <&usb3_phy>; phy-names = "usb2-phy", "usb3-phy"; status = "disabled"; }; usb3_phy: usb-phy@15870000 { compatible = "renesas,r9a09g047-usb3-phy"; reg = <0 0x15870000 0 0x10000>; clocks = <&cpg CPG_MOD 0xb0>, <&cpg CPG_CORE R9A09G047_USB3_0_CLKCORE>, <&cpg CPG_CORE R9A09G047_USB3_0_REF_ALT_CLK_P>; clock-names = "pclk", "core", "ref_alt_clk_p"; power-domains = <&cpg>; resets = <&cpg 0xaa>; #phy-cells = <0>; status = "disabled"; }; sdhi0: mmc@15c00000 { compatible = "renesas,sdhi-r9a09g047", "renesas,sdhi-r9a09g057"; reg = <0x0 0x15c00000 0 0x10000>; interrupts = , ; clocks = <&cpg CPG_MOD 0xa3>, <&cpg CPG_MOD 0xa5>, <&cpg CPG_MOD 0xa4>, <&cpg CPG_MOD 0xa6>; clock-names = "core", "clkh", "cd", "aclk"; max-frequency = <200000000>; resets = <&cpg 0xa7>; power-domains = <&cpg>; status = "disabled"; sdhi0_vqmmc: vqmmc-regulator { regulator-name = "SDHI0-VQMMC"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; status = "disabled"; }; }; sdhi1: mmc@15c10000 { compatible = "renesas,sdhi-r9a09g047", "renesas,sdhi-r9a09g057"; reg = <0x0 0x15c10000 0 0x10000>; interrupts = , ; clocks = <&cpg CPG_MOD 0xa7>, <&cpg CPG_MOD 0xa9>, <&cpg CPG_MOD 0xa8>, <&cpg CPG_MOD 0xaa>; clock-names = "core", "clkh", "cd", "aclk"; max-frequency = <200000000>; resets = <&cpg 0xa8>; power-domains = <&cpg>; status = "disabled"; sdhi1_vqmmc: vqmmc-regulator { regulator-name = "SDHI1-VQMMC"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; status = "disabled"; }; }; sdhi2: mmc@15c20000 { compatible = "renesas,sdhi-r9a09g047", "renesas,sdhi-r9a09g057"; reg = <0x0 0x15c20000 0 0x10000>; interrupts = , ; clocks = <&cpg CPG_MOD 0xab>, <&cpg CPG_MOD 0xad>, <&cpg CPG_MOD 0xac>, <&cpg CPG_MOD 0xae>; clock-names = "core", "clkh", "cd", "aclk"; max-frequency = <200000000>; resets = <&cpg 0xa9>; power-domains = <&cpg>; status = "disabled"; sdhi2_vqmmc: vqmmc-regulator { regulator-name = "SDHI2-VQMMC"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; status = "disabled"; }; }; eth0: ethernet@15c30000 { compatible = "renesas,r9a09g047-gbeth", "renesas,rzv2h-gbeth", "snps,dwmac-5.20"; reg = <0 0x15c30000 0 0x10000>; clocks = <&cpg CPG_MOD 0xbd>, <&cpg CPG_MOD 0xbc>, <&cpg CPG_CORE R9A09G047_GBETH_0_CLK_PTP_REF_I>, <&cpg CPG_MOD 0xb8>, <&cpg CPG_MOD 0xb9>, <&cpg CPG_MOD 0xba>, <&cpg CPG_MOD 0xbb>; clock-names = "stmmaceth", "pclk", "ptp_ref", "tx", "rx", "tx-180", "rx-180"; interrupts = , , , , , , , , , , ; interrupt-names = "macirq", "eth_wake_irq", "eth_lpi", "rx-queue-0", "rx-queue-1", "rx-queue-2", "rx-queue-3", "tx-queue-0", "tx-queue-1", "tx-queue-2", "tx-queue-3"; resets = <&cpg 0xb0>; power-domains = <&cpg>; snps,multicast-filter-bins = <256>; snps,perfect-filter-entries = <128>; rx-fifo-depth = <8192>; tx-fifo-depth = <8192>; snps,mixed-burst; snps,force_sf_dma_mode; snps,axi-config = <&stmmac_axi_setup>; snps,mtl-rx-config = <&mtl_rx_setup0>; snps,mtl-tx-config = <&mtl_tx_setup0>; snps,txpbl = <32>; snps,rxpbl = <32>; status = "disabled"; mdio0: mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; }; mtl_rx_setup0: rx-queues-config { snps,rx-queues-to-use = <4>; snps,rx-sched-sp; queue0 { snps,dcb-algorithm; snps,priority = <0x1>; snps,map-to-dma-channel = <0>; }; queue1 { snps,dcb-algorithm; snps,priority = <0x2>; snps,map-to-dma-channel = <1>; }; queue2 { snps,dcb-algorithm; snps,priority = <0x4>; snps,map-to-dma-channel = <2>; }; queue3 { snps,dcb-algorithm; snps,priority = <0x8>; snps,map-to-dma-channel = <3>; }; }; mtl_tx_setup0: tx-queues-config { snps,tx-queues-to-use = <4>; snps,tx-sched-wrr; queue0 { snps,weight = <0x10>; snps,dcb-algorithm; snps,priority = <0x1>; }; queue1 { snps,weight = <0x12>; snps,dcb-algorithm; snps,priority = <0x2>; }; queue2 { snps,weight = <0x14>; snps,dcb-algorithm; snps,priority = <0x4>; }; queue3 { snps,weight = <0x18>; snps,dcb-algorithm; snps,priority = <0x8>; }; }; }; eth1: ethernet@15c40000 { compatible = "renesas,r9a09g047-gbeth", "renesas,rzv2h-gbeth", "snps,dwmac-5.20"; reg = <0 0x15c40000 0 0x10000>; clocks = <&cpg CPG_MOD 0xc3>, <&cpg CPG_MOD 0xc2>, <&cpg CPG_CORE R9A09G047_GBETH_1_CLK_PTP_REF_I>, <&cpg CPG_MOD 0xbe>, <&cpg CPG_MOD 0xbf>, <&cpg CPG_MOD 0xc0>, <&cpg CPG_MOD 0xc1>; clock-names = "stmmaceth", "pclk", "ptp_ref", "tx", "rx", "tx-180", "rx-180"; interrupts = , , , , , , , , , , ; interrupt-names = "macirq", "eth_wake_irq", "eth_lpi", "rx-queue-0", "rx-queue-1", "rx-queue-2", "rx-queue-3", "tx-queue-0", "tx-queue-1", "tx-queue-2", "tx-queue-3"; resets = <&cpg 0xb1>; power-domains = <&cpg>; snps,multicast-filter-bins = <256>; snps,perfect-filter-entries = <128>; rx-fifo-depth = <8192>; tx-fifo-depth = <8192>; snps,mixed-burst; snps,force_sf_dma_mode; snps,axi-config = <&stmmac_axi_setup>; snps,mtl-rx-config = <&mtl_rx_setup1>; snps,mtl-tx-config = <&mtl_tx_setup1>; snps,txpbl = <32>; snps,rxpbl = <32>; status = "disabled"; mdio1: mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; }; mtl_rx_setup1: rx-queues-config { snps,rx-queues-to-use = <4>; snps,rx-sched-sp; queue0 { snps,dcb-algorithm; snps,priority = <0x1>; snps,map-to-dma-channel = <0>; }; queue1 { snps,dcb-algorithm; snps,priority = <0x2>; snps,map-to-dma-channel = <1>; }; queue2 { snps,dcb-algorithm; snps,priority = <0x4>; snps,map-to-dma-channel = <2>; }; queue3 { snps,dcb-algorithm; snps,priority = <0x8>; snps,map-to-dma-channel = <3>; }; }; mtl_tx_setup1: tx-queues-config { snps,tx-queues-to-use = <4>; snps,tx-sched-wrr; queue0 { snps,weight = <0x10>; snps,dcb-algorithm; snps,priority = <0x1>; }; queue1 { snps,weight = <0x12>; snps,dcb-algorithm; snps,priority = <0x2>; }; queue2 { snps,weight = <0x14>; snps,dcb-algorithm; snps,priority = <0x4>; }; queue3 { snps,weight = <0x18>; snps,dcb-algorithm; snps,priority = <0x8>; }; }; }; cru: video@16000000 { compatible = "renesas,r9a09g047-cru"; reg = <0 0x16000000 0 0x400>; clocks = <&cpg CPG_MOD 0xd3>, <&cpg CPG_MOD 0xd4>, <&cpg CPG_MOD 0xd2>; clock-names = "video", "apb", "axi"; interrupts = , , , , ; interrupt-names = "image_conv", "axi_mst_err", "vd_addr_wend", "sd_addr_wend", "vsd_addr_wend"; resets = <&cpg 0xc5>, <&cpg 0xc6>; reset-names = "presetn", "aresetn"; power-domains = <&cpg>; status = "disabled"; ports { #address-cells = <1>; #size-cells = <0>; port@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; crucsi2: endpoint@0 { reg = <0>; remote-endpoint = <&csi2cru>; }; }; }; }; csi2: csi2@16000400 { compatible = "renesas,r9a09g047-csi2", "renesas,r9a09g057-csi2"; reg = <0 0x16000400 0 0xc00>; interrupts = ; clocks = <&cpg CPG_MOD 0xd3>, <&cpg CPG_MOD 0xd4>; clock-names = "video", "apb"; resets = <&cpg 0xc5>, <&cpg 0xc7>; reset-names = "presetn", "cmn-rstb"; power-domains = <&cpg>; status = "disabled"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; }; port@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; csi2cru: endpoint@0 { reg = <0>; remote-endpoint = <&crucsi2>; }; }; }; }; fcpvd0: fcp@16470000 { compatible = "renesas,r9a09g047-fcpvd", "renesas,fcpv"; reg = <0 0x16470000 0 0x10000>; clocks = <&cpg CPG_MOD 0xed>, <&cpg CPG_MOD 0xee>, <&cpg CPG_MOD 0xef>; clock-names = "aclk", "pclk", "vclk"; resets = <&cpg 0xdc>; power-domains = <&cpg>; }; fcpvd1: fcp@164a0000 { compatible = "renesas,r9a09g047-fcpvd", "renesas,fcpv"; reg = <0 0x164a0000 0 0x10000>; clocks = <&cpg CPG_MOD 0x1a8>, <&cpg CPG_MOD 0x1a9>, <&cpg CPG_MOD 0x1aa>; clock-names = "aclk", "pclk", "vclk"; resets = <&cpg 0x11e>; power-domains = <&cpg>; }; vspd0: vsp@16480000 { compatible = "renesas,r9a09g047-vsp2", "renesas,r9a07g044-vsp2"; reg = <0 0x16480000 0 0x10000>; interrupts = ; clocks = <&cpg CPG_MOD 0xed>, <&cpg CPG_MOD 0xee>, <&cpg CPG_MOD 0xef>; clock-names = "aclk", "pclk", "vclk"; resets = <&cpg 0xdc>; power-domains = <&cpg>; renesas,fcp = <&fcpvd0>; }; vspd1: vsp@164b0000 { compatible = "renesas,r9a09g047-vsp2", "renesas,r9a07g044-vsp2"; reg = <0 0x164b0000 0 0x10000>; interrupts = ; clocks = <&cpg CPG_MOD 0x1a8>, <&cpg CPG_MOD 0x1a9>, <&cpg CPG_MOD 0x1aa>; clock-names = "aclk", "pclk", "vclk"; resets = <&cpg 0x11e>; power-domains = <&cpg>; renesas,fcp = <&fcpvd1>; }; }; stmmac_axi_setup: stmmac-axi-config { snps,lpi_en; snps,wr_osr_lmt = <0xf>; snps,rd_osr_lmt = <0xf>; snps,blen = <16 8 4 0 0 0 0>; }; thermal-zones { cpu-thermal { polling-delay = <1000>; polling-delay-passive = <250>; thermal-sensors = <&tsu>; cooling-maps { map0 { trip = <&target>; cooling-device = <&cpu0 0 3>, <&cpu1 0 3>, <&cpu2 0 3>, <&cpu3 0 3>; contribution = <1024>; }; }; trips { target: trip-point { temperature = <95000>; hysteresis = <1000>; type = "passive"; }; sensor_crit: sensor-crit { temperature = <120000>; hysteresis = <1000>; type = "critical"; }; }; }; }; timer { compatible = "arm,armv8-timer"; interrupts = , , , , ; interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt"; }; };