diff options
Diffstat (limited to 'overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts')
-rw-r--r-- | overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts b/overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts new file mode 100644 index 0000000..d94dc2e --- /dev/null +++ b/overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2021 Toradex + */ + +// Verdin iMX8M Plus Mezzanine orderable at Toradex. +// CSI Camera Module 5MP OV5640 previously orderable at Toradex. + +// Note: Uses the same Verdin GPIO2 as used for the Atmel MXT Touchscreen +// and the same I2C bus as used for DSI display adapters! + +/dts-v1/; +/plugin/; + +#include <dt-bindings/clock/imx8mp-clock.h> +#include <dt-bindings/gpio/gpio.h> + +/ { + compatible = "toradex,verdin-imx8mp"; +}; + +&cameradev { + status = "okay"; +}; + +/* Verdin I2C_2_DSI (JP3 2-3, JP4 2-3) */ +&i2c2 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + ov5640_mipi@3c { + assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>; + assigned-clock-parents = <&clk IMX8MP_CLK_24M>; + assigned-clock-rates = <24000000>; + AVDD-supply = <®_3p3v>; + compatible = "ovti,ov5640"; + clock-names = "xclk"; + clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>; + csi_id = <1>; + DOVDD-supply = <®_3p3v>; + DVDD-supply = <®_3p3v>; + mclk = <24000000>; + mclk_source = <0>; + mipi_csi; + pinctrl-names = "default"; + /* Verdin GPIO2 (JP6 1-2) */ + powerdown-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; + PVDD-supply = <®_3p3v>; + reg = <0x3c>; + /* Verdin GPIO1 (JP5 1-2) */ + reset-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; + status = "okay"; + + port { + ov5640_mipi_1_ep: endpoint { + clock-lanes = <0>; + data-lanes = <1 2>; + remote-endpoint = <&mipi_csi1_ep>; + }; + }; + }; +}; + +&isi_1 { + status = "okay"; + + cap_device { + status = "okay"; + }; +}; + +&mipi_csi_1 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + port@1 { + reg = <1>; + + mipi_csi1_ep: endpoint { + csis-hs-settle = <13>; + csis-clk-settle = <2>; + csis-wclk; + data-lanes = <2>; + remote-endpoint = <&ov5640_mipi_1_ep>; + }; + }; +}; |