diff mbox series

[2/2] arm64: dts: renesas: draak: Add overlay for CVBS input

Message ID 20230211165715.4024992-3-niklas.soderlund+renesas@ragnatech.se (mailing list archive)
State Superseded
Delegated to: Geert Uytterhoeven
Headers show
Series arm64: dts: renesas: draak: Make HDMI default video source | expand

Commit Message

Niklas Söderlund Feb. 11, 2023, 4:57 p.m. UTC
From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

The Draak board has an ADV7180 CVBS decoder and an ADV7612 HDMI decoder,
both connected to the same VIN input. DIP switches are used to select
one of the two devices, with the HDMI decoder being the default. Add an
overlay that selects the CVBS decoder.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
[Niklas: Inverted it from HDMI to CVBS]
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
 arch/arm64/boot/dts/renesas/Makefile          |  1 +
 .../boot/dts/renesas/draak-cvbs-input.dtso    | 33 +++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso

Comments

Laurent Pinchart Feb. 11, 2023, 9:37 p.m. UTC | #1
Hi Niklas,

Thank you for the patch.

On Sat, Feb 11, 2023 at 05:57:15PM +0100, Niklas Söderlund wrote:
> From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> 
> The Draak board has an ADV7180 CVBS decoder and an ADV7612 HDMI decoder,
> both connected to the same VIN input. DIP switches are used to select
> one of the two devices, with the HDMI decoder being the default. Add an
> overlay that selects the CVBS decoder.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> [Niklas: Inverted it from HDMI to CVBS]
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

> ---
>  arch/arm64/boot/dts/renesas/Makefile          |  1 +
>  .../boot/dts/renesas/draak-cvbs-input.dtso    | 33 +++++++++++++++++++
>  2 files changed, 34 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> 
> diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
> index 0699b51c1247..f5df37253184 100644
> --- a/arch/arm64/boot/dts/renesas/Makefile
> +++ b/arch/arm64/boot/dts/renesas/Makefile
> @@ -87,5 +87,6 @@ dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb
>  
>  dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
>  
> +dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-cvbs-input.dtbo
>  dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-ebisu-panel-aa104xd12.dtbo
>  dtb-$(CONFIG_ARCH_RCAR_GEN3) += salvator-panel-aa104xd12.dtbo
> diff --git a/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> new file mode 100644
> index 000000000000..b833c58c2029
> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> @@ -0,0 +1,33 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2023 Ideas on Board Oy
> + *
> + * Device tree overlay for the Draak board, to enable CVBS input. This requires
> + * setting DIP switches SW49, SW50, SW51 and SW52 to OFF, and SW53 and SW54 to
> + * ON.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +&adv7180_out {
> +	remote-endpoint = <&vin4_in>;
> +};
> +
> +&i2c0 {
> +	hdmi-decoder@4c {
> +		ports {
> +			port@2 {
> +				/delete-node/ endpoint;
> +			};
> +		};
> +	};
> +};
> +
> +&vin4_in {
> +	remote-endpoint = <&adv7180_out>;
> +};
> +
> +&vin4_pins {
> +	groups = "vin4_data8", "vin4_sync", "vin4_clk";
> +};
Geert Uytterhoeven Feb. 14, 2023, 9:46 a.m. UTC | #2
Hi Niklas, Laurent,

On Sat, Feb 11, 2023 at 5:58 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
>
> The Draak board has an ADV7180 CVBS decoder and an ADV7612 HDMI decoder,
> both connected to the same VIN input. DIP switches are used to select
> one of the two devices, with the HDMI decoder being the default. Add an
> overlay that selects the CVBS decoder.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> [Niklas: Inverted it from HDMI to CVBS]
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

Thanks for your patch!
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> @@ -0,0 +1,33 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2023 Ideas on Board Oy
> + *
> + * Device tree overlay for the Draak board, to enable CVBS input. This requires
> + * setting DIP switches SW49, SW50, SW51 and SW52 to OFF, and SW53 and SW54 to
> + * ON.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +&adv7180_out {
> +       remote-endpoint = <&vin4_in>;
> +};

[...]

> +&vin4_in {
> +       remote-endpoint = <&adv7180_out>;
> +};

Unfortunately dtc doesn't like references to nodes it cannot find the
names of:

    arch/arm64/boot/dts/renesas/draak-cvbs-input.dtbo: Warning
(graph_port): /fragment@0: graph port node name should be 'port'
    arch/arm64/boot/dts/renesas/draak-cvbs-input.dtbo: Warning
(graph_port): /fragment@2: graph port node name should be 'port'
    arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso:13.14-15.3:
Warning (graph_endpoint): /fragment@0/__overlay__: graph endpoint node
name should be 'endpoint'
    arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso:27.10-29.3:
Warning (graph_endpoint): /fragment@2/__overlay__: graph endpoint node
name should be 'endpoint'

Do you think it would be worthwhile to add more hierarchy (like in
arch/arm64/boot/dts/renesas/draak-ebisu-panel-aa104xd12.dtso), to get
rid of the dtc warnings?

Gr{oetje,eeting}s,

                        Geert
Laurent Pinchart Feb. 14, 2023, 9:52 a.m. UTC | #3
Hi Geert,

On Tue, Feb 14, 2023 at 10:46:48AM +0100, Geert Uytterhoeven wrote:
> On Sat, Feb 11, 2023 at 5:58 PM Niklas Söderlund wrote:
> > From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> >
> > The Draak board has an ADV7180 CVBS decoder and an ADV7612 HDMI decoder,
> > both connected to the same VIN input. DIP switches are used to select
> > one of the two devices, with the HDMI decoder being the default. Add an
> > overlay that selects the CVBS decoder.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> > [Niklas: Inverted it from HDMI to CVBS]
> > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> 
> Thanks for your patch!
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> 
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> > @@ -0,0 +1,33 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2023 Ideas on Board Oy
> > + *
> > + * Device tree overlay for the Draak board, to enable CVBS input. This requires
> > + * setting DIP switches SW49, SW50, SW51 and SW52 to OFF, and SW53 and SW54 to
> > + * ON.
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +&adv7180_out {
> > +       remote-endpoint = <&vin4_in>;
> > +};
> 
> [...]
> 
> > +&vin4_in {
> > +       remote-endpoint = <&adv7180_out>;
> > +};
> 
> Unfortunately dtc doesn't like references to nodes it cannot find the
> names of:
> 
>     arch/arm64/boot/dts/renesas/draak-cvbs-input.dtbo: Warning
> (graph_port): /fragment@0: graph port node name should be 'port'
>     arch/arm64/boot/dts/renesas/draak-cvbs-input.dtbo: Warning
> (graph_port): /fragment@2: graph port node name should be 'port'
>     arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso:13.14-15.3:
> Warning (graph_endpoint): /fragment@0/__overlay__: graph endpoint node
> name should be 'endpoint'
>     arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso:27.10-29.3:
> Warning (graph_endpoint): /fragment@2/__overlay__: graph endpoint node
> name should be 'endpoint'
> 
> Do you think it would be worthwhile to add more hierarchy (like in
> arch/arm64/boot/dts/renesas/draak-ebisu-panel-aa104xd12.dtso), to get
> rid of the dtc warnings?

We could, but I think this is an issue that will need to somehow be
fixed in dtc. There are lots of warnings when compiling overlays, they
can only be validated when applied to a base DT.
Geert Uytterhoeven June 8, 2023, 6:54 a.m. UTC | #4
Hi Niklas,

Resurrecting this thread...

On Sat, Feb 11, 2023 at 5:58 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
>
> The Draak board has an ADV7180 CVBS decoder and an ADV7612 HDMI decoder,
> both connected to the same VIN input. DIP switches are used to select
> one of the two devices, with the HDMI decoder being the default. Add an
> overlay that selects the CVBS decoder.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> [Niklas: Inverted it from HDMI to CVBS]
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> --- a/arch/arm64/boot/dts/renesas/Makefile
> +++ b/arch/arm64/boot/dts/renesas/Makefile
> @@ -87,5 +87,6 @@ dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb
>
>  dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
>
> +dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-cvbs-input.dtbo
>  dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-ebisu-panel-aa104xd12.dtbo
>  dtb-$(CONFIG_ARCH_RCAR_GEN3) += salvator-panel-aa104xd12.dtbo
> diff --git a/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> new file mode 100644
> index 000000000000..b833c58c2029
> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> @@ -0,0 +1,33 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2023 Ideas on Board Oy
> + *
> + * Device tree overlay for the Draak board, to enable CVBS input. This requires
> + * setting DIP switches SW49, SW50, SW51 and SW52 to OFF, and SW53 and SW54 to
> + * ON.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +&adv7180_out {
> +       remote-endpoint = <&vin4_in>;
> +};
> +
> +&i2c0 {
> +       hdmi-decoder@4c {
> +               ports {
> +                       port@2 {
> +                               /delete-node/ endpoint;

I'm afraid deleting a node doesn't work...
Does it work if you change its status to disabled instead?

> +                       };
> +               };
> +       };
> +};

Gr{oetje,eeting}s,

                        Geert
Niklas Söderlund June 8, 2023, 1:16 p.m. UTC | #5
Hi Geert,

On 2023-06-08 08:54:26 +0200, Geert Uytterhoeven wrote:
> Hi Niklas,
> 
> Resurrecting this thread...

I still have to resurrect work on this series, but it looks like I have 
to do so in next quarter. I will then try your suggestion of disabling 
the node, thanks for the suggestion.

> 
> On Sat, Feb 11, 2023 at 5:58 PM Niklas Söderlund
> <niklas.soderlund+renesas@ragnatech.se> wrote:
> > From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> >
> > The Draak board has an ADV7180 CVBS decoder and an ADV7612 HDMI decoder,
> > both connected to the same VIN input. DIP switches are used to select
> > one of the two devices, with the HDMI decoder being the default. Add an
> > overlay that selects the CVBS decoder.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> > [Niklas: Inverted it from HDMI to CVBS]
> > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> 
> > --- a/arch/arm64/boot/dts/renesas/Makefile
> > +++ b/arch/arm64/boot/dts/renesas/Makefile
> > @@ -87,5 +87,6 @@ dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb
> >
> >  dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
> >
> > +dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-cvbs-input.dtbo
> >  dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-ebisu-panel-aa104xd12.dtbo
> >  dtb-$(CONFIG_ARCH_RCAR_GEN3) += salvator-panel-aa104xd12.dtbo
> > diff --git a/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> > new file mode 100644
> > index 000000000000..b833c58c2029
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
> > @@ -0,0 +1,33 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2023 Ideas on Board Oy
> > + *
> > + * Device tree overlay for the Draak board, to enable CVBS input. This requires
> > + * setting DIP switches SW49, SW50, SW51 and SW52 to OFF, and SW53 and SW54 to
> > + * ON.
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +&adv7180_out {
> > +       remote-endpoint = <&vin4_in>;
> > +};
> > +
> > +&i2c0 {
> > +       hdmi-decoder@4c {
> > +               ports {
> > +                       port@2 {
> > +                               /delete-node/ endpoint;
> 
> I'm afraid deleting a node doesn't work...
> Does it work if you change its status to disabled instead?
> 
> > +                       };
> > +               };
> > +       };
> > +};
> 
> 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 series

Patch

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index 0699b51c1247..f5df37253184 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -87,5 +87,6 @@  dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc.dtb
 
 dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
 
+dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-cvbs-input.dtbo
 dtb-$(CONFIG_ARCH_RCAR_GEN3) += draak-ebisu-panel-aa104xd12.dtbo
 dtb-$(CONFIG_ARCH_RCAR_GEN3) += salvator-panel-aa104xd12.dtbo
diff --git a/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
new file mode 100644
index 000000000000..b833c58c2029
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/draak-cvbs-input.dtso
@@ -0,0 +1,33 @@ 
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2023 Ideas on Board Oy
+ *
+ * Device tree overlay for the Draak board, to enable CVBS input. This requires
+ * setting DIP switches SW49, SW50, SW51 and SW52 to OFF, and SW53 and SW54 to
+ * ON.
+ */
+
+/dts-v1/;
+/plugin/;
+
+&adv7180_out {
+	remote-endpoint = <&vin4_in>;
+};
+
+&i2c0 {
+	hdmi-decoder@4c {
+		ports {
+			port@2 {
+				/delete-node/ endpoint;
+			};
+		};
+	};
+};
+
+&vin4_in {
+	remote-endpoint = <&adv7180_out>;
+};
+
+&vin4_pins {
+	groups = "vin4_data8", "vin4_sync", "vin4_clk";
+};