// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright 2023 Gateworks Corporation
 */

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

#include "imx8mp-pinfunc.h"

/dts-v1/;
/plugin/;

&{/} {
	reg_vana: regulator-2p8v {
		compatible = "regulator-fixed";
		regulator-name = "2P8V";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
	};

	reg_vddl: regulator-1p2v {
		compatible = "regulator-fixed";
		regulator-name = "1P2V";
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
	};

	reg_cam: regulator-cam {
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_reg_cam>;
		compatible = "regulator-fixed";
		regulator-name = "reg_cam";
		gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
	};

	cam24m: cam24m {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24000000>;
		clock-output-names = "cam24m";
	};
};

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

	imx219: sensor@10 {
		compatible = "sony,imx219";
		reg = <0x10>;
		clocks = <&cam24m>;
		VDIG-supply = <&reg_cam>;
		VANA-supply = <&reg_vana>;
		VDDL-supply = <&reg_vddl>;

		port {
			/* MIPI CSI-2 bus endpoint */
			imx219_to_mipi_csi2: endpoint {
				remote-endpoint = <&mipi_csi_0_in>;
				clock-lanes = <0>;
				data-lanes = <1 2>;
				link-frequencies = /bits/ 64 <456000000>;
			};
		};
	};
};

&isi_0 {
	status = "okay";
};

&mipi_csi_0 {
	status = "okay";

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

		port@0 {
			reg = <0>;

			mipi_csi_0_in: endpoint {
				remote-endpoint = <&imx219_to_mipi_csi2>;
				data-lanes = <1 2>;
			};
		};

		port@1 {
			reg = <1>;

			mipi_csi_0_out: endpoint {
				remote-endpoint = <&isi_in_0>;
			};
		};
	};
};

&iomuxc {
	pinctrl_reg_cam: regcamgrp {
		fsl,pins = <
			MX8MP_IOMUXC_GPIO1_IO04__GPIO1_IO04	0x41
		>;
	};
};
