summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-11-26 17:40:30 +0200
committerOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-11-26 19:09:36 +0200
commit8d1da21238b7178539f3a3a4e63c1de54ea28cd6 (patch)
treef1a4a2740d97e6b45fb740a227032f47fbc791d8
parent93790d35b53bc780a09c5c74954cc6c3825eda00 (diff)
ARM: dts: apalis-imx6: take back ov5640 mipi csi stuff
According to decisions, move definitions of ov5640 stuff back to the main devicetree, leaving only turning on stuff in an overlay. Related-to: ELB-3240 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
-rw-r--r--arch/arm/boot/dts/imx6qdl-apalis.dtsi67
1 files changed, 65 insertions, 2 deletions
diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
index d81f49cbd6b4..4983fc3bdfd3 100644
--- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
@@ -65,6 +65,12 @@
status = "disabled";
};
+ clk_ov5640_osc: clk_ov5640_osc_int {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <22000000>;
+ };
+
lcd_display: disp0 {
compatible = "fsl,imx-parallel-display";
#address-cells = <1>;
@@ -129,6 +135,26 @@
regulator-always-on;
};
+ reg_ov5640_1v8_d_o_vdd: regulator-ov5640-1v8-d-o-vdd {
+ compatible = "regulator-fixed";
+ regulator-name = "DOVDD/DVDD_1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ /* 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-name = "AVDD/AFVDD_2.8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ /* 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";
@@ -529,6 +555,28 @@
status = "disabled";
};
+ ov5640_csi_cam: ov5640_mipi@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_apalis_gpio1 &pinctrl_apalis_gpio2 &pinctrl_cam_mclk>;
+ clocks = <&clks IMX6QDL_CLK_CKO2>;
+ clock-names = "xclk";
+ DOVDD-supply = <&reg_ov5640_1v8_d_o_vdd>;
+ AVDD-supply = <&reg_ov5640_2v8_a_vdd>;
+ DVDD-supply = <&reg_ov5640_1v8_d_o_vdd>;
+ powerdown-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
+ status = "disabled";
+
+ port {
+ ov5640_to_mipi_csi2: endpoint {
+ remote-endpoint = <&mipi_csi_from_ov5640>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
};
/*
@@ -710,6 +758,22 @@
remote-endpoint = <&vga_display_in>;
};
+&mipi_csi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+
+ port@0 {
+ reg = <0>;
+
+ mipi_csi_from_ov5640: endpoint {
+ remote-endpoint = <&ov5640_to_mipi_csi2>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+};
+
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
@@ -823,8 +887,7 @@
* Mux the Apalis GPIOs
*/
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_apalis_gpio1 &pinctrl_apalis_gpio2
- &pinctrl_apalis_gpio3 &pinctrl_apalis_gpio4
+ pinctrl-0 = <&pinctrl_apalis_gpio3 &pinctrl_apalis_gpio4
&pinctrl_apalis_gpio7 &pinctrl_apalis_gpio8
>;