// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
 * Copyright (c) 2023, Linaro Ltd.
 */

/dts-v1/;

#include "apq8016-sbc.dts"

/ {
	camera_vdddo_1v8: regulator-camera-vdddo {
		compatible = "regulator-fixed";
		regulator-name = "camera_vdddo";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
	};

	camera_vdda_2v8: regulator-camera-vdda {
		compatible = "regulator-fixed";
		regulator-name = "camera_vdda";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
		regulator-always-on;
	};

	camera_vddd_1v5: regulator-camera-vddd {
		compatible = "regulator-fixed";
		regulator-name = "camera_vddd";
		regulator-min-microvolt = <1500000>;
		regulator-max-microvolt = <1500000>;
		regulator-always-on;
	};
};

&camss {
	status = "okay";

	ports {
		port@0 {
			reg = <0>;
			csiphy0_ep: endpoint {
				data-lanes = <0 2>;
				remote-endpoint = <&ov5640_ep>;
			};
		};
	};
};

&cci {
	status = "okay";
};

&cci_i2c0 {
	camera@3b {
		compatible = "ovti,ov5640";
		reg = <0x3b>;

		powerdown-gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>;
		reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
		pinctrl-names = "default";
		pinctrl-0 = <&camera_rear_default>;

		clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
		clock-names = "xclk";
		assigned-clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
		assigned-clock-rates = <23880000>;

		DOVDD-supply = <&camera_vdddo_1v8>;
		AVDD-supply = <&camera_vdda_2v8>;
		DVDD-supply = <&camera_vddd_1v5>;

		port {
			ov5640_ep: endpoint {
				data-lanes = <1 2>;
				remote-endpoint = <&csiphy0_ep>;
			};
		};
	};
};
