// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree Source for the HiHope RZ/G2[HMN] MIPI common parts
 *
 * Copyright (C) 2020 Renesas Electronics Corp.
 */

#define MIPI_OV5645_PARENT_I2C i2c2
#define MIPI_IMX219_PARENT_I2C i2c3
#include "aistarvision-mipi-adapter-2.1.dtsi"

&csi20 {
	status = "okay";

	ports {
		port@0 {
			csi20_in: endpoint {
				clock-lanes = <0>;
				data-lanes = <1 2>;
				remote-endpoint = <&ov5645_ep>;
			};
		};
	};
};

&csi40 {
	status = "okay";

	ports {
		port@0 {
			csi40_in: endpoint {
				clock-lanes = <0>;
				data-lanes = <1 2>;
				remote-endpoint = <&imx219_ep>;
			};
		};
	};
};

&i2c3 {
	pinctrl-0 = <&i2c3_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&imx219 {
	port {
		imx219_ep: endpoint {
			clock-lanes = <0>;
			data-lanes = <1 2>;
			link-frequencies = /bits/ 64 <456000000>;
			remote-endpoint = <&csi40_in>;
		};
	};
};

&ov5645 {
	enable-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;
	reset-gpios = <&gpio6 8 GPIO_ACTIVE_LOW>;

	port {
		ov5645_ep: endpoint {
			clock-lanes = <0>;
			data-lanes = <1 2>;
			remote-endpoint = <&csi20_in>;
		};
	};
};

&pfc {
	i2c3_pins: i2c3 {
		groups = "i2c3";
		function = "i2c3";
	};
};

&vin0 {
	status = "okay";
};

&vin1 {
	status = "okay";
};

&vin2 {
	status = "okay";
};

&vin3 {
	status = "okay";
};

&vin4 {
	status = "okay";
};

&vin5 {
	status = "okay";
};

&vin6 {
	status = "okay";
};

&vin7 {
	status = "okay";
};
