ARM: dts: r8a7792: Add reset control properties
authorGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 11 Sep 2017 13:09:57 +0000 (15:09 +0200)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 19 Sep 2017 09:20:14 +0000 (11:20 +0200)
Add properties to describe the reset topology for on-SoC devices:
  - Add the "#reset-cells" property to the CPG/MSSR device node,
  - Add resets and reset-names properties to the various device nodes.

This allows to reset SoC devices using the Reset Controller API.

Note that resets usually match the corresponding module clocks.
Exceptions are:
  - The audio module has resets for the Serial Sound Interfaces only,
    but audio is not yet enabled in r8a7792.dtsi,
  - The display module has only a single reset for all DU channels, but
    adding reset properties for the display is postponed.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/boot/dts/r8a7792.dtsi

index a209787..c332f77 100644 (file)
@@ -95,6 +95,7 @@
                        clocks = <&cpg CPG_MOD 408>;
                        clock-names = "clk";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 408>;
                };
 
                irqc: interrupt-controller@e61c0000 {
                                     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 407>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 407>;
                };
 
                timer {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 912>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 912>;
                };
 
                gpio1: gpio@e6051000 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 911>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 911>;
                };
 
                gpio2: gpio@e6052000 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 910>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 910>;
                };
 
                gpio3: gpio@e6053000 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 909>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 909>;
                };
 
                gpio4: gpio@e6054000 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 908>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 908>;
                };
 
                gpio5: gpio@e6055000 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 907>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 907>;
                };
 
                gpio6: gpio@e6055100 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 905>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 905>;
                };
 
                gpio7: gpio@e6055200 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 904>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 904>;
                };
 
                gpio8: gpio@e6055300 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 921>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 921>;
                };
 
                gpio9: gpio@e6055400 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 919>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 919>;
                };
 
                gpio10: gpio@e6055500 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 914>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 914>;
                };
 
                gpio11: gpio@e6055600 {
                        interrupt-controller;
                        clocks = <&cpg CPG_MOD 913>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 913>;
                };
 
                dmac0: dma-controller@e6700000 {
                        clocks = <&cpg CPG_MOD 219>;
                        clock-names = "fck";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 219>;
                        #dma-cells = <1>;
                        dma-channels = <15>;
                };
                        clocks = <&cpg CPG_MOD 218>;
                        clock-names = "fck";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 218>;
                        #dma-cells = <1>;
                        dma-channels = <15>;
                };
                               <&dmac1 0x29>, <&dmac1 0x2a>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 721>;
                        status = "disabled";
                };
 
                               <&dmac1 0x2d>, <&dmac1 0x2e>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 720>;
                        status = "disabled";
                };
 
                               <&dmac1 0x2b>, <&dmac1 0x2c>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 719>;
                        status = "disabled";
                };
 
                               <&dmac1 0x2f>, <&dmac1 0x30>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 718>;
                        status = "disabled";
                };
 
                               <&dmac1 0x39>, <&dmac1 0x3a>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 717>;
                        status = "disabled";
                };
 
                               <&dmac1 0x4d>, <&dmac1 0x4e>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 716>;
                        status = "disabled";
                };
 
                        dma-names = "tx", "rx", "tx", "rx";
                        clocks = <&cpg CPG_MOD 314>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 314>;
                        status = "disabled";
                };
 
                        interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 106>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 106>;
                };
 
                avb: ethernet@e6800000 {
                        interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 812>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 812>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "disabled";
                        interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 931>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 931>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 930>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 930>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 929>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 929>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 928>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 928>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 927>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 927>;
                        i2c-scl-internal-delay-ns = <6>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 925>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 925>;
                        i2c-scl-internal-delay-ns = <110>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                               <&dmac1 0x17>, <&dmac1 0x18>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 917>;
                        num-cs = <1>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                               <&dmac1 0x51>, <&dmac1 0x52>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 000>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "disabled";
                               <&dmac1 0x55>, <&dmac1 0x56>;
                        dma-names = "tx", "rx", "tx", "rx";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 208>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "disabled";
                                 <&cpg CPG_CORE R8A7792_CLK_RCAN>, <&can_clk>;
                        clock-names = "clkp1", "clkp2", "can_clk";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 916>;
                        status = "disabled";
                };
 
                                 <&cpg CPG_CORE R8A7792_CLK_RCAN>, <&can_clk>;
                        clock-names = "clkp1", "clkp2", "can_clk";
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 915>;
                        status = "disabled";
                };
 
                        interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 811>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 811>;
                        status = "disabled";
                };
 
                        interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 810>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 810>;
                        status = "disabled";
                };
 
                        interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 809>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 809>;
                        status = "disabled";
                };
 
                        interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 808>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 808>;
                        status = "disabled";
                };
 
                        interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 805>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 805>;
                        status = "disabled";
                };
 
                        interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 804>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 804>;
                        status = "disabled";
                };
 
                        interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 131>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 131>;
                };
 
                vsp1@fe930000 {
                        interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 128>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 128>;
                };
 
                vsp1@fe938000 {
                        interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 127>;
                        power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       resets = <&cpg 127>;
                };
 
                cpg: clock-controller@e6150000 {