| /* |
| * Device Tree Source for the r8a7740 SoC |
| * |
| * Copyright (C) 2012 Renesas Solutions Corp. |
| * |
| * This file is licensed under the terms of the GNU General Public License |
| * version 2. This program is licensed "as is" without any warranty of any |
| * kind, whether express or implied. |
| */ |
| |
| /include/ "skeleton.dtsi" |
| |
| #include <dt-bindings/clock/r8a7740-clock.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| / { |
| compatible = "renesas,r8a7740"; |
| interrupt-parent = <&gic>; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| cpu@0 { |
| compatible = "arm,cortex-a9"; |
| device_type = "cpu"; |
| reg = <0x0>; |
| clock-frequency = <800000000>; |
| }; |
| }; |
| |
| gic: interrupt-controller@c2800000 { |
| compatible = "arm,cortex-a9-gic"; |
| #interrupt-cells = <3>; |
| interrupt-controller; |
| reg = <0xc2800000 0x1000>, |
| <0xc2000000 0x1000>; |
| }; |
| |
| pmu { |
| compatible = "arm,cortex-a9-pmu"; |
| interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| cmt1: timer@e6138000 { |
| compatible = "renesas,cmt-48-r8a7740", "renesas,cmt-48"; |
| reg = <0xe6138000 0x170>; |
| interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp3_clks R8A7740_CLK_CMT1>; |
| clock-names = "fck"; |
| |
| renesas,channels-mask = <0x3f>; |
| |
| status = "disabled"; |
| }; |
| |
| /* irqpin0: IRQ0 - IRQ7 */ |
| irqpin0: irqpin@e6900000 { |
| compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin"; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| reg = <0xe6900000 4>, |
| <0xe6900010 4>, |
| <0xe6900020 1>, |
| <0xe6900040 1>, |
| <0xe6900060 1>; |
| interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| /* irqpin1: IRQ8 - IRQ15 */ |
| irqpin1: irqpin@e6900004 { |
| compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin"; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| reg = <0xe6900004 4>, |
| <0xe6900014 4>, |
| <0xe6900024 1>, |
| <0xe6900044 1>, |
| <0xe6900064 1>; |
| interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| /* irqpin2: IRQ16 - IRQ23 */ |
| irqpin2: irqpin@e6900008 { |
| compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin"; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| reg = <0xe6900008 4>, |
| <0xe6900018 4>, |
| <0xe6900028 1>, |
| <0xe6900048 1>, |
| <0xe6900068 1>; |
| interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| /* irqpin3: IRQ24 - IRQ31 */ |
| irqpin3: irqpin@e690000c { |
| compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin"; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| reg = <0xe690000c 4>, |
| <0xe690001c 4>, |
| <0xe690002c 1>, |
| <0xe690004c 1>, |
| <0xe690006c 1>; |
| interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH |
| 0 149 IRQ_TYPE_LEVEL_HIGH>; |
| }; |
| |
| ether: ethernet@e9a00000 { |
| compatible = "renesas,gether-r8a7740"; |
| reg = <0xe9a00000 0x800>, |
| <0xe9a01800 0x800>; |
| interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp3_clks R8A7740_CLK_GETHER>; |
| phy-mode = "mii"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| }; |
| |
| i2c0: i2c@fff20000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic"; |
| reg = <0xfff20000 0x425>; |
| interrupts = <0 201 IRQ_TYPE_LEVEL_HIGH |
| 0 202 IRQ_TYPE_LEVEL_HIGH |
| 0 203 IRQ_TYPE_LEVEL_HIGH |
| 0 204 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp1_clks R8A7740_CLK_IIC0>; |
| status = "disabled"; |
| }; |
| |
| i2c1: i2c@e6c20000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic"; |
| reg = <0xe6c20000 0x425>; |
| interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH |
| 0 71 IRQ_TYPE_LEVEL_HIGH |
| 0 72 IRQ_TYPE_LEVEL_HIGH |
| 0 73 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp3_clks R8A7740_CLK_IIC1>; |
| status = "disabled"; |
| }; |
| |
| scifa0: serial@e6c40000 { |
| compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
| reg = <0xe6c40000 0x100>; |
| interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| scifa1: serial@e6c50000 { |
| compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
| reg = <0xe6c50000 0x100>; |
| interrupts = <0 101 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFA1>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| scifa2: serial@e6c60000 { |
| compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
| reg = <0xe6c60000 0x100>; |
| interrupts = <0 102 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| scifa3: serial@e6c70000 { |
| compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
| reg = <0xe6c70000 0x100>; |
| interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFA3>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| scifa4: serial@e6c80000 { |
| compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
| reg = <0xe6c80000 0x100>; |
| interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFA4>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| scifa5: serial@e6cb0000 { |
| compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
| reg = <0xe6cb0000 0x100>; |
| interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFA5>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| scifa6: serial@e6cc0000 { |
| compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
| reg = <0xe6cc0000 0x100>; |
| interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFA6>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| scifa7: serial@e6cd0000 { |
| compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
| reg = <0xe6cd0000 0x100>; |
| interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFA7>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| scifb8: serial@e6c30000 { |
| compatible = "renesas,scifb-r8a7740", "renesas,scifb"; |
| reg = <0xe6c30000 0x100>; |
| interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp2_clks R8A7740_CLK_SCIFB>; |
| clock-names = "sci_ick"; |
| status = "disabled"; |
| }; |
| |
| pfc: pfc@e6050000 { |
| compatible = "renesas,pfc-r8a7740"; |
| reg = <0xe6050000 0x8000>, |
| <0xe605800c 0x20>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| interrupts-extended = |
| <&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>, |
| <&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>, |
| <&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>, |
| <&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>, |
| <&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>, |
| <&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>, |
| <&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>, |
| <&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>; |
| }; |
| |
| tpu: pwm@e6600000 { |
| compatible = "renesas,tpu-r8a7740", "renesas,tpu"; |
| reg = <0xe6600000 0x100>; |
| clocks = <&mstp3_clks R8A7740_CLK_TPU0>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| mmcif0: mmc@e6bd0000 { |
| compatible = "renesas,mmcif-r8a7740", "renesas,sh-mmcif"; |
| reg = <0xe6bd0000 0x100>; |
| interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH |
| 0 57 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp3_clks R8A7740_CLK_MMC>; |
| status = "disabled"; |
| }; |
| |
| sdhi0: sd@e6850000 { |
| compatible = "renesas,sdhi-r8a7740"; |
| reg = <0xe6850000 0x100>; |
| interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH |
| 0 118 IRQ_TYPE_LEVEL_HIGH |
| 0 119 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp3_clks R8A7740_CLK_SDHI0>; |
| cap-sd-highspeed; |
| cap-sdio-irq; |
| status = "disabled"; |
| }; |
| |
| sdhi1: sd@e6860000 { |
| compatible = "renesas,sdhi-r8a7740"; |
| reg = <0xe6860000 0x100>; |
| interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH |
| 0 122 IRQ_TYPE_LEVEL_HIGH |
| 0 123 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp3_clks R8A7740_CLK_SDHI1>; |
| cap-sd-highspeed; |
| cap-sdio-irq; |
| status = "disabled"; |
| }; |
| |
| sdhi2: sd@e6870000 { |
| compatible = "renesas,sdhi-r8a7740"; |
| reg = <0xe6870000 0x100>; |
| interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH |
| 0 126 IRQ_TYPE_LEVEL_HIGH |
| 0 127 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&mstp4_clks R8A7740_CLK_SDHI2>; |
| cap-sd-highspeed; |
| cap-sdio-irq; |
| status = "disabled"; |
| }; |
| |
| sh_fsi2: sound@fe1f0000 { |
| #sound-dai-cells = <1>; |
| compatible = "renesas,fsi2-r8a7740", "renesas,sh_fsi2"; |
| reg = <0xfe1f0000 0x400>; |
| interrupts = <0 9 0x4>; |
| clocks = <&mstp3_clks R8A7740_CLK_FSI>; |
| status = "disabled"; |
| }; |
| |
| clocks { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| /* External root clock */ |
| extalr_clk: extalr_clk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <32768>; |
| clock-output-names = "extalr"; |
| }; |
| extal1_clk: extal1_clk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <0>; |
| clock-output-names = "extal1"; |
| }; |
| extal2_clk: extal2_clk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <0>; |
| clock-output-names = "extal2"; |
| }; |
| dv_clk: dv_clk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <27000000>; |
| clock-output-names = "dv"; |
| }; |
| fsiack_clk: fsiack_clk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <0>; |
| clock-output-names = "fsiack"; |
| }; |
| fsibck_clk: fsibck_clk { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <0>; |
| clock-output-names = "fsibck"; |
| }; |
| |
| /* Special CPG clocks */ |
| cpg_clocks: cpg_clocks@e6150000 { |
| compatible = "renesas,r8a7740-cpg-clocks"; |
| reg = <0xe6150000 0x10000>; |
| clocks = <&extal1_clk>, <&extalr_clk>; |
| #clock-cells = <1>; |
| clock-output-names = "system", "pllc0", "pllc1", |
| "pllc2", "r", |
| "usb24s", |
| "i", "zg", "b", "m1", "hp", |
| "hpp", "usbp", "s", "zb", "m3", |
| "cp"; |
| }; |
| |
| /* Variable factor clocks (DIV6) */ |
| sub_clk: sub_clk@e6150080 { |
| compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock"; |
| reg = <0xe6150080 4>; |
| clocks = <&pllc1_div2_clk>; |
| #clock-cells = <0>; |
| clock-output-names = "sub"; |
| }; |
| |
| /* Fixed factor clocks */ |
| pllc1_div2_clk: pllc1_div2_clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&cpg_clocks R8A7740_CLK_PLLC1>; |
| #clock-cells = <0>; |
| clock-div = <2>; |
| clock-mult = <1>; |
| clock-output-names = "pllc1_div2"; |
| }; |
| extal1_div2_clk: extal1_div2_clk { |
| compatible = "fixed-factor-clock"; |
| clocks = <&extal1_clk>; |
| #clock-cells = <0>; |
| clock-div = <2>; |
| clock-mult = <1>; |
| clock-output-names = "extal1_div2"; |
| }; |
| |
| /* Gate clocks */ |
| subck_clks: subck_clks@e6150080 { |
| compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| reg = <0xe6150080 4>; |
| clocks = <&sub_clk>, <&sub_clk>; |
| #clock-cells = <1>; |
| renesas,clock-indices = < |
| R8A7740_CLK_SUBCK R8A7740_CLK_SUBCK2 |
| >; |
| clock-output-names = |
| "subck", "subck2"; |
| }; |
| mstp1_clks: mstp1_clks@e6150134 { |
| compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| reg = <0xe6150134 4>, <0xe6150038 4>; |
| clocks = <&cpg_clocks R8A7740_CLK_S>, |
| <&cpg_clocks R8A7740_CLK_S>, <&sub_clk>, |
| <&cpg_clocks R8A7740_CLK_B>, |
| <&cpg_clocks R8A7740_CLK_HPP>, <&sub_clk>, |
| <&cpg_clocks R8A7740_CLK_B>; |
| #clock-cells = <1>; |
| renesas,clock-indices = < |
| R8A7740_CLK_CEU21 R8A7740_CLK_CEU20 R8A7740_CLK_TMU0 |
| R8A7740_CLK_LCDC1 R8A7740_CLK_IIC0 R8A7740_CLK_TMU1 |
| R8A7740_CLK_LCDC0 |
| >; |
| clock-output-names = |
| "ceu21", "ceu20", "tmu0", "lcdc1", "iic0", |
| "tmu1", "lcdc0"; |
| }; |
| mstp2_clks: mstp2_clks@e6150138 { |
| compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| reg = <0xe6150138 4>, <0xe6150040 4>; |
| clocks = <&sub_clk>, <&sub_clk>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&sub_clk>, <&sub_clk>, <&sub_clk>, |
| <&sub_clk>, <&sub_clk>, <&sub_clk>, |
| <&sub_clk>; |
| #clock-cells = <1>; |
| renesas,clock-indices = < |
| R8A7740_CLK_SCIFA6 R8A7740_CLK_SCIFA7 |
| R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2 |
| R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC |
| R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB |
| R8A7740_CLK_SCIFA0 R8A7740_CLK_SCIFA1 |
| R8A7740_CLK_SCIFA2 R8A7740_CLK_SCIFA3 |
| R8A7740_CLK_SCIFA4 |
| >; |
| clock-output-names = |
| "scifa6", "scifa7", "dmac1", "dmac2", "dmac3", |
| "usbdmac", "scifa5", "scifb", "scifa0", "scifa1", |
| "scifa2", "scifa3", "scifa4"; |
| }; |
| mstp3_clks: mstp3_clks@e615013c { |
| compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| reg = <0xe615013c 4>, <0xe6150048 4>; |
| clocks = <&cpg_clocks R8A7740_CLK_R>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&sub_clk>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>; |
| #clock-cells = <1>; |
| renesas,clock-indices = < |
| R8A7740_CLK_CMT1 R8A7740_CLK_FSI R8A7740_CLK_IIC1 |
| R8A7740_CLK_USBF R8A7740_CLK_SDHI0 R8A7740_CLK_SDHI1 |
| R8A7740_CLK_MMC R8A7740_CLK_GETHER R8A7740_CLK_TPU0 |
| >; |
| clock-output-names = |
| "cmt1", "fsi", "iic1", "usbf", "sdhi0", "sdhi1", |
| "mmc", "gether", "tpu0"; |
| }; |
| mstp4_clks: mstp4_clks@e6150140 { |
| compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks"; |
| reg = <0xe6150140 4>, <0xe615004c 4>; |
| clocks = <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>, |
| <&cpg_clocks R8A7740_CLK_HP>; |
| #clock-cells = <1>; |
| renesas,clock-indices = < |
| R8A7740_CLK_USBH R8A7740_CLK_SDHI2 |
| R8A7740_CLK_USBFUNC R8A7740_CLK_USBPHY |
| >; |
| clock-output-names = |
| "usbhost", "sdhi2", "usbfunc", "usphy"; |
| }; |
| }; |
| }; |