// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
 * ALINX AN5641 & Digilent PCam 5C - OV5640 camera module
 * Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>

&{/} {
	clk_ov5640_fixed: ov5640-xclk {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <12000000>;
	};
};

&main_i2c2 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	i2c-switch@71 {
		compatible = "nxp,pca9543";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x71>;

		/* CAM port */
		i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;

			ov5640: camera@3c {
				compatible = "ovti,ov5640";
				reg = <0x3c>;

				clocks = <&clk_ov5640_fixed>;
				clock-names = "xclk";
				powerdown-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;

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

&cdns_csi2rx0 {
	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		csi0_port0: port@0 {
			reg = <0>;
			status = "okay";

			csi2rx0_in_sensor: endpoint {
				remote-endpoint = <&csi2_cam0>;
				bus-type = <4>; /* CSI2 DPHY. */
				clock-lanes = <0>;
				data-lanes = <1 2>;
			};
		};
	};
};

&ti_csi2rx0 {
	status = "okay";
};

&dphy0 {
	status = "okay";
};
