ARM: dts: imx6q-apalis: Add ov5640 mipi csi camera

The Apalis iMX6 modules allow connecting a mipi-csi video input.
Add support for our OV5640 camera module but have it disabled.
This allows to enable it in an overlay per the current system
configuration.

Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
Oleksandr Suvorov 2022-06-15 13:50:00 +02:00 committed by Shawn Guo
parent 30b847665e
commit b656eb41be

View File

@ -29,6 +29,12 @@
status = "disabled";
};
clk_ov5640_osc: clk-ov5640-osc {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>;
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
@ -110,6 +116,26 @@
regulator-always-on;
};
reg_ov5640_1v8_d_o_vdd: regulator-ov5640-1v8-d-o-vdd {
compatible = "regulator-fixed";
regulator-always-on;
regulator-max-microvolt = <1800000>;
regulator-min-microvolt = <1800000>;
regulator-name = "DOVDD/DVDD_1.8V";
/* Note: The CSI module uses on-board 3.3V_SW supply */
vin-supply = <&reg_module_3v3>;
};
reg_ov5640_2v8_a_vdd: regulator-ov5640-2v8-a-vdd {
compatible = "regulator-fixed";
regulator-always-on;
regulator-max-microvolt = <2800000>;
regulator-min-microvolt = <2800000>;
regulator-name = "AVDD/AFVDD_2.8V";
/* Note: The CSI module uses on-board 3.3V_SW supply */
vin-supply = <&reg_module_3v3>;
};
reg_usb_otg_vbus: regulator-usb-otg-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
@ -452,7 +478,6 @@
reset-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>; /* MXM3_13 */
status = "disabled";
};
};
/*
@ -631,6 +656,30 @@
scl-gpios = <&gpio3 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
sda-gpios = <&gpio3 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "disabled";
ov5640_csi_cam: ov5640_mipi@3c {
compatible = "ovti,ov5640";
AVDD-supply = <&reg_ov5640_2v8_a_vdd>;
DOVDD-supply = <&reg_ov5640_1v8_d_o_vdd>;
DVDD-supply = <&reg_ov5640_1v8_d_o_vdd>;
clock-names = "xclk";
clocks = <&clks IMX6QDL_CLK_CKO2>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_cam_mclk>;
/* These GPIOs are muxed with the iomuxc node */
powerdown-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
reg = <0x3c>;
reset-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
status = "disabled";
port {
ov5640_to_mipi_csi2: endpoint {
clock-lanes = <0>;
data-lanes = <1 2>;
remote-endpoint = <&mipi_csi_from_ov5640>;
};
};
};
};
&ipu1_di1_disp1 {
@ -661,6 +710,22 @@
};
};
&mipi_csi {
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
port@0 {
reg = <0>;
mipi_csi_from_ov5640: endpoint {
clock-lanes = <0>;
data-lanes = <1 2>;
remote-endpoint = <&ov5640_to_mipi_csi2>;
};
};
};
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;