// 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. /dts-v1/; /plugin/; #include #include / { 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"; pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio2>; /* 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>; }; }; }; }; /* make sure Verdin GPIO1 and GPIO2 are NOT muxed by default to avoid any conflict */ &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio3>, <&pinctrl_gpio4>, <&pinctrl_gpio7>, <&pinctrl_gpio8>, <&pinctrl_gpio_hog1>, <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>, <&pinctrl_hdmi_hog>, <&pinctrl_pmic_tpm_ena>; }; &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>; }; }; };