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 <[email protected]>
> 
> ---
> 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";
> 

Reply via email to