diff mbox

[PATCHv6] arm64: dts: renesas: salvator-x: Add ADV7482 support

Message ID 1498576541-15384-1-git-send-email-kbingham@kernel.org (mailing list archive)
State Deferred
Headers show

Commit Message

Kieran Bingham June 27, 2017, 3:15 p.m. UTC
From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

The Salvator boards use an ADV7482 receiver for HDMI and CVBS inputs.

Provide ADV7482 node on the i2c4 bus, along with connectors for the
hdmi and cvbs inputs, and link to the csi20 and csi40 nodes as outputs.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

---

Submitting this directly to Niklas, as these changes depend on his VIN
DT patches, and has agreed to 'take' this patch on to that series.


v4:
 - dt: Rebase to dts/renesas/salvator-x.dtsi
 - dt: Use AIN0-7 rather than AIN1-8

v5:
 - dt: Move to salvator-common.dtsi

v6:
 - remove unnecessary address-cells and size-cells configuration
 - merge connectors into their respective nodes.
---
 arch/arm64/boot/dts/renesas/salvator-common.dtsi | 103 +++++++++++++++++++++++
 1 file changed, 103 insertions(+)

Comments

Geert Uytterhoeven July 5, 2017, 9:43 a.m. UTC | #1
On Tue, Jun 27, 2017 at 5:15 PM, Kieran Bingham <kbingham@kernel.org> wrote:
> From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>
> The Salvator boards use an ADV7482 receiver for HDMI and CVBS inputs.
>
> Provide ADV7482 node on the i2c4 bus, along with connectors for the
> hdmi and cvbs inputs, and link to the csi20 and csi40 nodes as outputs.
>
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> ---
>
> Submitting this directly to Niklas, as these changes depend on his VIN
> DT patches, and has agreed to 'take' this patch on to that series.

Yeah, haven't seen any patches yet adding "csi20" and "csi40" nodes ;-)

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Kieran Bingham July 5, 2017, 10:22 a.m. UTC | #2
On 05/07/17 10:43, Geert Uytterhoeven wrote:
> On Tue, Jun 27, 2017 at 5:15 PM, Kieran Bingham <kbingham@kernel.org> wrote:
>> From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>>
>> The Salvator boards use an ADV7482 receiver for HDMI and CVBS inputs.
>>
>> Provide ADV7482 node on the i2c4 bus, along with connectors for the
>> hdmi and cvbs inputs, and link to the csi20 and csi40 nodes as outputs.
>>
>> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>>
>> ---
>>
>> Submitting this directly to Niklas, as these changes depend on his VIN
>> DT patches, and has agreed to 'take' this patch on to that series.
> 
> Yeah, haven't seen any patches yet adding "csi20" and "csi40" nodes ;-)

I defer this comment to Niklas :-)

--
Kieran


> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
>
Niklas Söderlund July 5, 2017, 6:33 p.m. UTC | #3
On 2017-07-05 11:22:21 +0100, Kieran Bingham wrote:
> On 05/07/17 10:43, Geert Uytterhoeven wrote:
> > On Tue, Jun 27, 2017 at 5:15 PM, Kieran Bingham <kbingham@kernel.org> wrote:
> >> From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> >>
> >> The Salvator boards use an ADV7482 receiver for HDMI and CVBS inputs.
> >>
> >> Provide ADV7482 node on the i2c4 bus, along with connectors for the
> >> hdmi and cvbs inputs, and link to the csi20 and csi40 nodes as outputs.
> >>
> >> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >>
> >> ---
> >>
> >> Submitting this directly to Niklas, as these changes depend on his VIN
> >> DT patches, and has agreed to 'take' this patch on to that series.
> > 
> > Yeah, haven't seen any patches yet adding "csi20" and "csi40" nodes ;-)
> 
> I defer this comment to Niklas :-)

Yes :-)

My plan is to include this in my vin-dt branch which I also would like 
to include in my submission to renesas-drivers. But given the fact that 
I up until now have not included any DT changes for VIN in my 
renesas-drivers pull requests and that the DT file structure is recently 
changed I have yet to do so.

My plan was to wait for -rc1 and rebase the DT patches on top of that 
and then ask Geert and/or Simon to have a quick look at it so that I 
don't create problems for the next renesas-drivers release. But if you 
wish I can expedite this and rebase it on-top of the latest 
renesas-drivers release and pester someone to look at it so that it's 
ready for the next renesas-drivers release :-)

> 
> --
> Kieran
> 
> 
> > Gr{oetje,eeting}s,
> > 
> >                         Geert
> > 
> > --
> > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> > 
> > In personal conversations with technical people, I call myself a hacker. But
> > when I'm talking to journalists I just say "programmer" or something like that.
> >                                 -- Linus Torvalds
> >
Geert Uytterhoeven July 6, 2017, 8:04 a.m. UTC | #4
Hi Niklas,

On Wed, Jul 5, 2017 at 8:33 PM, Niklas Söderlund
<niklas.soderlund@ragnatech.se> wrote:
> On 2017-07-05 11:22:21 +0100, Kieran Bingham wrote:
>> On 05/07/17 10:43, Geert Uytterhoeven wrote:
>> > On Tue, Jun 27, 2017 at 5:15 PM, Kieran Bingham <kbingham@kernel.org> wrote:
>> >> From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>> >>
>> >> The Salvator boards use an ADV7482 receiver for HDMI and CVBS inputs.
>> >>
>> >> Provide ADV7482 node on the i2c4 bus, along with connectors for the
>> >> hdmi and cvbs inputs, and link to the csi20 and csi40 nodes as outputs.
>> >>
>> >> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> >> ---
>> >>
>> >> Submitting this directly to Niklas, as these changes depend on his VIN
>> >> DT patches, and has agreed to 'take' this patch on to that series.
>> >
>> > Yeah, haven't seen any patches yet adding "csi20" and "csi40" nodes ;-)
>>
>> I defer this comment to Niklas :-)
>
> Yes :-)
>
> My plan is to include this in my vin-dt branch which I also would like
> to include in my submission to renesas-drivers. But given the fact that
> I up until now have not included any DT changes for VIN in my
> renesas-drivers pull requests and that the DT file structure is recently
> changed I have yet to do so.
>
> My plan was to wait for -rc1 and rebase the DT patches on top of that
> and then ask Geert and/or Simon to have a quick look at it so that I
> don't create problems for the next renesas-drivers release. But if you
> wish I can expedite this and rebase it on-top of the latest
> renesas-drivers release and pester someone to look at it so that it's
> ready for the next renesas-drivers release :-)

I was referring to actual patches posted to this mailing list, not to DT
commits (hidden) in a git repo.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Niklas Söderlund July 6, 2017, 8:49 a.m. UTC | #5
Hi Geert,

On 2017-07-06 10:04:42 +0200, Geert Uytterhoeven wrote:
> Hi Niklas,
> 
> On Wed, Jul 5, 2017 at 8:33 PM, Niklas Söderlund
> <niklas.soderlund@ragnatech.se> wrote:
> > On 2017-07-05 11:22:21 +0100, Kieran Bingham wrote:
> >> On 05/07/17 10:43, Geert Uytterhoeven wrote:
> >> > On Tue, Jun 27, 2017 at 5:15 PM, Kieran Bingham <kbingham@kernel.org> wrote:
> >> >> From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> >> >>
> >> >> The Salvator boards use an ADV7482 receiver for HDMI and CVBS inputs.
> >> >>
> >> >> Provide ADV7482 node on the i2c4 bus, along with connectors for the
> >> >> hdmi and cvbs inputs, and link to the csi20 and csi40 nodes as outputs.
> >> >>
> >> >> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> >> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >> >> ---
> >> >>
> >> >> Submitting this directly to Niklas, as these changes depend on his VIN
> >> >> DT patches, and has agreed to 'take' this patch on to that series.
> >> >
> >> > Yeah, haven't seen any patches yet adding "csi20" and "csi40" nodes ;-)
> >>
> >> I defer this comment to Niklas :-)
> >
> > Yes :-)
> >
> > My plan is to include this in my vin-dt branch which I also would like
> > to include in my submission to renesas-drivers. But given the fact that
> > I up until now have not included any DT changes for VIN in my
> > renesas-drivers pull requests and that the DT file structure is recently
> > changed I have yet to do so.
> >
> > My plan was to wait for -rc1 and rebase the DT patches on top of that
> > and then ask Geert and/or Simon to have a quick look at it so that I
> > don't create problems for the next renesas-drivers release. But if you
> > wish I can expedite this and rebase it on-top of the latest
> > renesas-drivers release and pester someone to look at it so that it's
> > ready for the next renesas-drivers release :-)
> 
> I was referring to actual patches posted to this mailing list, not to DT
> commits (hidden) in a git repo.

Ahh I see.

Yes I have not posted the DT patches to ML since the bindings for the 
VIN Gen3 and CSI-2 drivers are not yet accepted upstream.

> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
index aef35e0b685a..4b7eb0c2ec6b 100644
--- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
@@ -65,6 +65,29 @@ 
 		enable-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
 	};
 
+	cvbs-in {
+		compatible = "composite-video-connector";
+		label = "CVBS IN";
+
+		port {
+			cvbs_con: endpoint {
+				remote-endpoint = <&adv7482_ain7>;
+			};
+		};
+	};
+
+	hdmi-in {
+		compatible = "hdmi-connector";
+		label = "HDMI IN";
+		type = "a";
+
+		port {
+			hdmi_in_con: endpoint {
+				remote-endpoint = <&adv7482_hdmi>;
+			};
+		};
+	};
+
 	reg_1p8v: regulator0 {
 		compatible = "regulator-fixed";
 		regulator-name = "fixed-1.8V";
@@ -257,6 +280,37 @@ 
 	};
 };
 
+&csi20 {
+	status = "okay";
+
+	ports {
+		port@0 {
+			reg = <0>;
+			csi20_in: endpoint {
+				clock-lanes = <0>;
+				data-lanes = <1>;
+				remote-endpoint = <&adv7482_txb>;
+			};
+		};
+	};
+};
+
+&csi40 {
+	status = "okay";
+
+	ports {
+		port@0 {
+			reg = <0>;
+
+			csi40_in: endpoint {
+				clock-lanes = <0>;
+				data-lanes = <1 2 3 4>;
+				remote-endpoint = <&adv7482_txa>;
+			};
+		};
+	};
+};
+
 &du {
 	pinctrl-0 = <&du_pins>;
 	pinctrl-names = "default";
@@ -343,6 +397,55 @@ 
 
 		shunt-resistor-micro-ohms = <5000>;
 	};
+
+	video-receiver@70 {
+		compatible = "adi,adv7482";
+		reg = <0x70>;
+
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		interrupt-parent = <&gpio6>;
+		interrupt-names = "intrq1", "intrq2";
+		interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
+			     <31 IRQ_TYPE_LEVEL_LOW>;
+
+		port@7 {
+			reg = <7>;
+
+			adv7482_ain7: endpoint {
+				remote-endpoint = <&cvbs_con>;
+			};
+		};
+
+		port@8 {
+			reg = <8>;
+
+			adv7482_hdmi: endpoint {
+				remote-endpoint = <&hdmi_in_con>;
+			};
+		};
+
+		port@10 {
+			reg = <10>;
+
+			adv7482_txa: endpoint {
+				clock-lanes = <0>;
+				data-lanes = <1 2 3 4>;
+				remote-endpoint = <&csi40_in>;
+			};
+		};
+
+		port@11 {
+			reg = <11>;
+
+			adv7482_txb: endpoint {
+				clock-lanes = <0>;
+				data-lanes = <1>;
+				remote-endpoint = <&csi20_in>;
+			};
+		};
+	};
 };
 
 &i2c_dvfs {