// 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 {
			reg = <0>;
			csi20_in: endpoint {
				clock-lanes = <0>;
				data-lanes = <1 2>;
				remote-endpoint = <&ov5645_ep>;
			};
		};
	};
};

&csi40 {
	status = "okay";

	ports {
		port@0 {
			reg = <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";
};
