linux/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso

// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
 * Technexion TEVI-OV5640-*-RPI - 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 = <24000000>;
	};
};

&main_gpio0 {
	p11-hog {
		/* P11 - CSI2_CAMERA_GPIO1 */
		gpio-hog;
		gpios = <11 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "CSI2_CAMERA_GPIO1";
	};
};

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

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

		clocks = <&clk_ov5640_fixed>;
		clock-names = "xclk";

		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>;
			};
		};
	};
};

&dphy0 {
	status = "okay";
};

&ti_csi2rx0 {
	status = "okay";
};