Re: [PATCH] arm64: dts: renesas: eagle: Add capture overlay for expansion board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux