On Mon, Aug 06, 2018 at 10:55:00PM +0300, Sergei Shtylyov wrote: > Describe the CSI2 and VIN (and their interconnections) in the R8A77980 > device tree. > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> > > --- > This patch is against the 'renesas-devel-20180802v2-v4.18-rc7' branch of > Simon Horman's 'renesas.git' repo. > > The R8A77980 CSI2/VIN DT binding updates have been posted earlier today... > > arch/arm64/boot/dts/renesas/r8a77980.dtsi | 374 ++++++++++++++++++++++++++++++ > 1 file changed, 374 insertions(+) > > Index: renesas/arch/arm64/boot/dts/renesas/r8a77980.dtsi > =================================================================== > --- renesas.orig/arch/arm64/boot/dts/renesas/r8a77980.dtsi > +++ renesas/arch/arm64/boot/dts/renesas/r8a77980.dtsi > @@ -579,6 +579,302 @@ > status = "disabled"; > }; > > + vin0: video@e6ef0000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef0000 0 0x1000>; > + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 811>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 811>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + vin0csi40: endpoint@2 { > + reg = <2>; > + remote-endpoint= <&csi40vin0>; > + }; > + }; > + }; > + }; > + > + vin1: video@e6ef1000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef1000 0 0x1000>; > + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 810>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + status = "disabled"; > + resets = <&cpg 810>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + vin1csi40: endpoint@2 { > + reg = <2>; > + remote-endpoint= <&csi40vin1>; > + }; > + }; > + }; > + }; > + > + vin2: video@e6ef2000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef2000 0 0x1000>; > + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 809>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 809>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + vin2csi40: endpoint@2 { > + reg = <2>; > + remote-endpoint= <&csi40vin2>; > + }; > + }; > + }; > + }; > + > + vin3: video@e6ef3000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef3000 0 0x1000>; > + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 808>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 808>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + vin3csi40: endpoint@2 { > + reg = <2>; > + remote-endpoint= <&csi40vin3>; > + }; > + }; > + }; > + }; > + > + vin4: video@e6ef4000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef4000 0 0x1000>; > + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 807>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 807>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + vin4csi41: endpoint@2 { > + reg = <2>; > + remote-endpoint= <&csi41vin4>; > + }; > + }; > + }; > + }; > + > + vin5: video@e6ef5000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef5000 0 0x1000>; > + interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 806>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 806>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + vin5csi41: endpoint@2 { > + reg = <2>; > + remote-endpoint= <&csi41vin5>; > + }; > + }; > + }; > + }; > + > + vin6: video@e6ef6000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef6000 0 0x1000>; > + interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 805>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 805>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + vin6csi41: endpoint@2 { > + reg = <2>; > + remote-endpoint= <&csi41vin6>; > + }; > + }; > + }; > + }; > + > + vin7: video@e6ef7000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef7000 0 0x1000>; > + interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 804>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 804>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + vin7csi41: endpoint@2 { > + reg = <2>; > + remote-endpoint= <&csi41vin7>; > + }; > + }; > + }; > + }; > + > + vin8: video@e6ef8000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef8000 0 0x1000>; > + interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 628>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 628>; > + status = "disabled"; > + }; > + > + vin9: video@e6ef9000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6ef9000 0 0x1000>; > + interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 627>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 627>; > + status = "disabled"; > + }; > + > + vin10: video@e6efa000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6efa000 0 0x1000>; > + interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 625>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 625>; > + status = "disabled"; > + }; > + > + vin11: video@e6efb000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6efb000 0 0x1000>; > + interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 618>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 618>; > + status = "disabled"; > + }; > + > + vin12: video@e6efc000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6efc000 0 0x1000>; > + interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 612>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 612>; > + status = "disabled"; > + }; > + > + vin13: video@e6efd000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6efd000 0 0x1000>; > + interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 608>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 608>; > + status = "disabled"; > + }; > + > + vin14: video@e6efe000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6efe000 0 0x1000>; > + interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 605>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 605>; > + status = "disabled"; > + }; > + > + vin15: video@e6eff000 { > + compatible = "renesas,vin-r8a77980"; > + reg = <0 0xe6eff000 0 0x1000>; > + interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 604>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 604>; > + status = "disabled"; > + }; > + > dmac1: dma-controller@e7300000 { > compatible = "renesas,dmac-r8a77980", > "renesas,rcar-dmac"; > @@ -769,6 +1065,84 @@ > resets = <&cpg 603>; > }; > > + csi40: csi2@feaa0000 { > + compatible = "renesas,r8a77980-csi2"; > + reg = <0 0xfeaa0000 0 0x10000>; > + interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cpg CPG_MOD 716>; > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 716>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + csi40vin0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&vin0csi40>; > + }; > + csi40vin1: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&vin1csi40>; > + }; > + csi40vin2: endpoint@2 { > + reg = <2>; > + remote-endpoint = <&vin2csi40>; > + }; > + csi40vin3: endpoint@3 { > + reg = <3>; > + remote-endpoint = <&vin3csi40>; > + }; > + }; > + }; > + }; > + > + csi41: csi2@feab0000 { > + compatible = "renesas,r8a77980-csi2"; > + reg = <0 0xfeab0000 0 0x10000>; > + interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>; The use of GIC_SPI 246 for both csi40 and csi41 seems suspicious. Is this intentional? > + clocks = <&cpg CPG_MOD 716>; Should this clock be 715 rather than 716? > + power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; > + resets = <&cpg 716>; > + status = "disabled"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <1>; > + > + csi41vin4: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&vin4csi41>; > + }; > + csi41vin5: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&vin5csi41>; > + }; > + csi41vin6: endpoint@2 { > + reg = <2>; > + remote-endpoint = <&vin6csi41>; > + }; > + csi41vin7: endpoint@3 { > + reg = <3>; > + remote-endpoint = <&vin7csi41>; > + }; > + }; > + }; > + }; > + > du: display@feb00000 { > compatible = "renesas,du-r8a77980", > "renesas,du-r8a77970"; > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html