From 4dc3ae79b1b0a63341d4c38beaad771d260043e8 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Fri, 11 Sep 2020 16:07:40 +0200 Subject: overlays: verdin-imx8mm_ov5640_overlay: support csi camera module Add a device tree overlay supporting the Toradex CSI camera module 5MP OV5640 on Verdin iMX8M Mini. Signed-off-by: Marcel Ziswiler --- overlays/Makefile | 1 + overlays/verdin-imx8mm_ov5640_overlay.dts | 81 +++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 overlays/verdin-imx8mm_ov5640_overlay.dts diff --git a/overlays/Makefile b/overlays/Makefile index b7904eb..5c6d4f5 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -43,6 +43,7 @@ dtb-y += display-edt7_overlay.dtbo dtb-y += display-lt161010_overlay.dtbo dtb-y += display-lt170410_overlay.dtbo dtb-y += verdin-imx8mm_lt8912_overlay.dtbo +dtb-y += verdin-imx8mm_ov5640_overlay.dtbo dtb-y += verdin-imx8mm_sn65dsi84_overlay.dtbo targets += $(dtb-y) diff --git a/overlays/verdin-imx8mm_ov5640_overlay.dts b/overlays/verdin-imx8mm_ov5640_overlay.dts new file mode 100644 index 0000000..5bb9fec --- /dev/null +++ b/overlays/verdin-imx8mm_ov5640_overlay.dts @@ -0,0 +1,81 @@ +// CSI Camera Module 5MP OV5640 orderable at Toradex. + +/dts-v1/; +/plugin/; + +#include +#include + +/ { + compatible = "toradex,verdin-imx8mm"; +}; + +&csi1_bridge { + fsl,mipi-mode; + status = "okay"; + + port { + csi1_ep: endpoint { + remote-endpoint = <&csi1_mipi_ep>; + }; + }; +}; + +/* Verdin I2C_4_CSI */ +&i2c3 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + ov5640_mipi@3c { + assigned-clocks = <&clk IMX8MM_CLK_CLKO1>; + assigned-clock-parents = <&clk IMX8MM_CLK_24M>; + assigned-clock-rates = <24000000>; + compatible = "ovti,ov5640_mipi"; + clock-names = "csi_mclk"; + clocks = <&clk IMX8MM_CLK_CLKO1>; + DOVDD-supply = <®_3p3v>; + AVDD-supply = <®_3p3v>; + DVDD-supply = <®_3p3v>; + PVDD-supply = <®_3p3v>; + csi_id = <0>; + mclk = <24000000>; + mclk_source = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio5>, <&pinctrl_gpio6>; + pwn-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; + reg = <0x3c>; + rst-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; + status = "okay"; + + port { + ov5640_mipi1_ep: endpoint { + remote-endpoint = <&mipi1_sensor_ep>; + }; + }; + }; +}; + +&mipi_csi_1 { + mipi-phy-supply = <®_mipi_phy>; + status = "okay"; + + port { + #address-cells = <1>; + #size-cells = <0>; + + mipi1_sensor_ep: endpoint@1 { + csis-hs-settle = <13>; + csis-clk-settle = <2>; + csis-wclk; + data-lanes = <2>; + reg = <1>; + remote-endpoint = <&ov5640_mipi1_ep>; + }; + + csi1_mipi_ep: endpoint@2 { + reg = <2>; + remote-endpoint = <&csi1_ep>; + }; + }; +}; -- cgit v1.2.3