Hi Geert, A gentle ping on this patch. On 2024-01-23 15:53:54 +0100, Niklas Söderlund wrote: > The Eagle board supports an optional expansion board. The expansion > board adds support for HDMI OUT, HDMI capture from two different sources > and eMMC. > > This change only adds support for the two HDMI capture sources. > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > --- > arch/arm64/boot/dts/renesas/Makefile | 2 + > .../dts/renesas/r8a77970-eagle-expansion.dtso | 214 ++++++++++++++++++ > 2 files changed, 216 insertions(+) > create mode 100644 arch/arm64/boot/dts/renesas/r8a77970-eagle-expansion.dtso > > diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile > index 8ea68d582710..38fadc161709 100644 > --- a/arch/arm64/boot/dts/renesas/Makefile > +++ b/arch/arm64/boot/dts/renesas/Makefile > @@ -62,6 +62,8 @@ dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-ulcb.dtb > dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-ulcb-kf.dtb > > dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle.dtb > +r8a77970-eagle-expansion-dtbs := r8a77970-eagle.dtb r8a77970-eagle-expansion.dtbo > +dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle-expansion.dtb > dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-v3msk.dtb > > dtb-$(CONFIG_ARCH_R8A77980) += r8a77980-condor.dtb > diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle-expansion.dtso b/arch/arm64/boot/dts/renesas/r8a77970-eagle-expansion.dtso > new file mode 100644 > index 000000000000..bd32f263e740 > --- /dev/null > +++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle-expansion.dtso > @@ -0,0 +1,214 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Device Tree Source for the Eagle V3M expansion board. > + * > + * Copyright (C) 2024 Niklas Söderlund <niklas.soderlund@xxxxxxxxxxxx> > + */ > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/interrupt-controller/irq.h> > + > +/dts-v1/; > +/plugin/; > + > +/ { > + /* CN4 */ > + /* Eagle: SW18 set to OFF */ > + cvbs-in-cn4 { > + compatible = "composite-video-connector"; > + label = "CVBS IN CN4"; > + > + port { > + cvbs_con: endpoint { > + remote-endpoint = <&adv7482_ain7>; > + }; > + }; > + }; > + > + /* CN3 */ > + /* Eagle: SW18 set to OFF */ > + hdmi-in-cn3 { > + compatible = "hdmi-connector"; > + label = "HDMI IN CN3"; > + type = "a"; > + > + port { > + hdmi_in_con: endpoint { > + remote-endpoint = <&adv7482_hdmi>; > + }; > + }; > + }; > + > + /* CN2 */ > + /* Eagle: SW35 set 5, 6 and 8 to OFF */ > + hdmi-in-cn2 { > + compatible = "hdmi-connector"; > + label = "HDMI IN CN2"; > + type = "a"; > + > + port { > + hdmi_in_con2: endpoint { > + remote-endpoint = <&adv7612_in>; > + }; > + }; > + }; > +}; > + > +/* Disconnect MAX9286 GMSL i2c. */ > +&i2c3 { > + status = "disabled"; > +}; > + > +/* Connect expansion board i2c. */ > +&i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + io_expander_27: gpio@27 { > + compatible = "onnn,pca9654"; > + reg = <0x27>; > + gpio-controller; > + #gpio-cells = <2>; > + > + vin0_adv7612_en { > + gpio-hog; > + gpios = <0x3 0x0>; > + output-low; > + line-name = "VIN0_ADV7612_ENn"; > + }; > + }; > + > + dmi-decoder@4c { > + compatible = "adi,adv7612"; > + reg = <0x4c>, <0x50>, <0x52>, <0x54>, <0x56>, <0x58>; > + reg-names = "main", "afe", "rep", "edid", "hdmi", "cp"; > + interrupt-parent = <&gpio3>; > + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; > + default-input = <0>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + adv7612_in: endpoint { > + remote-endpoint = <&hdmi_in_con2>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + > + adv7612_out: endpoint { > + remote-endpoint = <&vin0_in>; > + }; > + }; > + }; > + }; > + > + adv7482_70: video-receiver@70 { > + compatible = "adi,adv7482"; > + reg = <0x70 0x71 0x72 0x73 0x74 0x75 > + 0x60 0x61 0x62 0x63 0x64 0x65>; > + reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater", > + "infoframe", "cbus", "cec", "sdp", "txa", "txb" ; > + interrupt-parent = <&gpio3>; > + interrupts = <03 IRQ_TYPE_LEVEL_LOW>, <04 IRQ_TYPE_LEVEL_LOW>; > + interrupt-names = "intrq1", "intrq2"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@7 { > + reg = <7>; > + > + adv7482_ain7: endpoint { > + remote-endpoint = <&cvbs_con>; > + }; > + }; > + > + port@8 { > + reg = <8>; > + > + adv7482_hdmi: endpoint { > + remote-endpoint = <&hdmi_in_con>; > + }; > + }; > + > + port@a { > + reg = <10>; > + > + adv7482_txa: endpoint { > + clock-lanes = <0>; > + data-lanes = <1 2 3 4>; > + remote-endpoint = <&csi40_in>; > + }; > + }; > + }; > + }; > + > +}; > + > +&csi40 { > + status = "okay"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + csi40_in: endpoint { > + clock-lanes = <0>; > + data-lanes = <1 2 3 4>; > + remote-endpoint = <&adv7482_txa>; > + }; > + }; > + }; > +}; > + > +&pfc { > + vin0_pins_parallel: vin0 { > + groups = "vin0_data12", "vin0_sync", "vin0_clk", "vin0_clkenb"; > + function = "vin0"; > + }; > +}; > + > +&vin0 { > + status = "okay"; > + > + pinctrl-0 = <&vin0_pins_parallel>; > + pinctrl-names = "default"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + vin0_in: endpoint { > + pclk-sample = <0>; > + hsync-active = <0>; > + vsync-active = <0>; > + remote-endpoint = <&adv7612_out>; > + }; > + }; > + }; > +}; > + > +&vin1 { > + status = "okay"; > +}; > + > +&vin2 { > + status = "okay"; > +}; > + > +&vin3 { > + status = "okay"; > +}; > -- > 2.43.0 > -- Kind Regards, Niklas Söderlund