From bc523efdf8fe4be85aa9b3b1642bc1f55527633a Mon Sep 17 00:00:00 2001 From: Philippe Schenker Date: Tue, 11 Oct 2022 13:44:18 +0200 Subject: verdin-imx8mp: convert mezzanine overlays Related-to: ELB-4838 Signed-off-by: Philippe Schenker --- overlays/Makefile | 9 +-- ...-imx8mp_mezzanine-lvds-dual-channel_overlay.dts | 74 ------------------ ...mx8mp_mezzanine-lvds-single-channel_overlay.dts | 69 ----------------- .../verdin-imx8mp_mezzanine-ov5640-2_overlay.dts | 89 --------------------- .../verdin-imx8mp_mezzanine-ov5640_overlay.dts | 90 ---------------------- ...in-imx8mp_mezzanine-touch-atmel-mxt_overlay.dts | 17 ---- ...imx8mp_mezzanine_ov5640-alt-jumpers_overlay.dts | 89 +++++++++++++++++++++ ...mp_mezzanine_ov5640-default-jumpers_overlay.dts | 90 ++++++++++++++++++++++ ...zzanine_panel-cap-touch-10inch-lvds_overlay.dts | 73 ++++++++++++++++++ ...anine_panel-lvds-dual-channel-1080p_overlay.dts | 74 ++++++++++++++++++ 10 files changed, 330 insertions(+), 344 deletions(-) delete mode 100644 overlays/verdin-imx8mp_mezzanine-lvds-dual-channel_overlay.dts delete mode 100644 overlays/verdin-imx8mp_mezzanine-lvds-single-channel_overlay.dts delete mode 100644 overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts delete mode 100644 overlays/verdin-imx8mp_mezzanine-ov5640_overlay.dts delete mode 100644 overlays/verdin-imx8mp_mezzanine-touch-atmel-mxt_overlay.dts create mode 100644 overlays/verdin-imx8mp_mezzanine_ov5640-alt-jumpers_overlay.dts create mode 100644 overlays/verdin-imx8mp_mezzanine_ov5640-default-jumpers_overlay.dts create mode 100644 overlays/verdin-imx8mp_mezzanine_panel-cap-touch-10inch-lvds_overlay.dts create mode 100644 overlays/verdin-imx8mp_mezzanine_panel-lvds-dual-channel-1080p_overlay.dts diff --git a/overlays/Makefile b/overlays/Makefile index 2c7f877..e3d877c 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -57,11 +57,10 @@ dtb-y += verdin-imx8mp_dsi-to-hdmi_overlay.dtbo dtb-y += verdin-imx8mp_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dtbo dtb-y += verdin-imx8mp_dsi-to-lvds_panel-lvds-dual-channel-1080p_overlay.dtbo dtb-y += verdin-imx8mp_hdmi_overlay.dtbo -dtb-y += verdin-imx8mp_mezzanine-lvds-dual-channel_overlay.dtbo -dtb-y += verdin-imx8mp_mezzanine-lvds-single-channel_overlay.dtbo -dtb-y += verdin-imx8mp_mezzanine-ov5640_overlay.dtbo -dtb-y += verdin-imx8mp_mezzanine-ov5640-2_overlay.dtbo -dtb-y += verdin-imx8mp_mezzanine-touch-atmel-mxt_overlay.dtbo +dtb-y += verdin-imx8mp_mezzanine_ov5640-alt-jumpers_overlay.dtbo +dtb-y += verdin-imx8mp_mezzanine_ov5640-default-jumpers_overlay.dtbo +dtb-y += verdin-imx8mp_mezzanine_panel-cap-touch-10inch-lvds_overlay.dtbo +dtb-y += verdin-imx8mp_mezzanine_panel-lvds-dual-channel-1080p_overlay.dtbo dtb-y += verdin-imx8mp_ov5640_overlay.dtbo dtb-y += verdin-imx8mp_spidev_overlay.dtbo diff --git a/overlays/verdin-imx8mp_mezzanine-lvds-dual-channel_overlay.dts b/overlays/verdin-imx8mp_mezzanine-lvds-dual-channel_overlay.dts deleted file mode 100644 index d8945b4..0000000 --- a/overlays/verdin-imx8mp_mezzanine-lvds-dual-channel_overlay.dts +++ /dev/null @@ -1,74 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Verdin iMX8M Plus Mezzanine with LG LP156WF1 dual-channel LVDS Panel - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,verdin-imx8mp"; -}; - -&backlight_mezzanine { - status = "okay"; -}; - -&gpu_2d { - status = "okay"; -}; - -&gpu_3d { - status = "okay"; -}; - -&lcdif2 { - status = "okay"; -}; - -&ldb { - fsl,dual-channel; - status = "okay"; -}; - -&lvds_channel0 { - fsl,data-mapping = "jeida"; -}; - -&ldb_phy { - status = "okay"; -}; - -&mix_gpu_ml { - status = "okay"; -}; - -&ml_vipsi { - status = "okay"; -}; - -&panel_lvds_mez { - data-mapping = "jeida-24"; - height-mm = <194>; - width-mm = <345>; - status = "okay"; - - panel-timing { - clock-frequency = <138500000>; - hactive = <1920>; - hback-porch = <40>; - hfront-porch = <24>; - hsync-len = <16>; - pixelclk-active = <0>; - vactive = <1080>; - vback-porch = <23>; - vfront-porch = <3>; - vsync-len = <5>; - }; -}; - -&pwm2 { - status = "okay"; -}; diff --git a/overlays/verdin-imx8mp_mezzanine-lvds-single-channel_overlay.dts b/overlays/verdin-imx8mp_mezzanine-lvds-single-channel_overlay.dts deleted file mode 100644 index 0e9d34d..0000000 --- a/overlays/verdin-imx8mp_mezzanine-lvds-single-channel_overlay.dts +++ /dev/null @@ -1,69 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Verdin iMX8M Plus Mezzanine single-channel LVDS - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,verdin-imx8mp"; -}; - -&backlight_mezzanine { - status = "okay"; -}; - -&gpu_2d { - status = "okay"; -}; - -&gpu_3d { - status = "okay"; -}; - -&lcdif2 { - status = "okay"; -}; - -&ldb { - status = "okay"; -}; - -&ldb_phy { - status = "okay"; -}; - -&mix_gpu_ml { - status = "okay"; -}; - -&ml_vipsi { - status = "okay"; -}; - -&panel_lvds_mez { - height-mm = <136>; - width-mm = <217>; - status = "okay"; - - panel-timing { - clock-frequency = <68900000 71100000 73400000>; - de-active = <1>; - hactive = <1280 1280 1280>; - hback-porch = <23 60 71>; - hfront-porch = <23 60 71>; - hsync-len = <15 40 47>; - pixelclk-active = <1>; /* positive edge */ - vactive = <800 800 800>; - vback-porch = <5 7 10>; - vfront-porch = <5 7 10>; - vsync-len = <6 9 12>; - }; -}; - -&pwm2 { - status = "okay"; -}; diff --git a/overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts b/overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts deleted file mode 100644 index d94dc2e..0000000 --- a/overlays/verdin-imx8mp_mezzanine-ov5640-2_overlay.dts +++ /dev/null @@ -1,89 +0,0 @@ -// 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 -#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"; - /* 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>; - }; - }; -}; diff --git a/overlays/verdin-imx8mp_mezzanine-ov5640_overlay.dts b/overlays/verdin-imx8mp_mezzanine-ov5640_overlay.dts deleted file mode 100644 index dc6eb18..0000000 --- a/overlays/verdin-imx8mp_mezzanine-ov5640_overlay.dts +++ /dev/null @@ -1,90 +0,0 @@ -// 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 GPIOs as the first camera interface CSI_1 -// and the same I2C bus as used for DSI display adapters! - -/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_gpio5>, <&pinctrl_gpio6>; - /* Verdin GPIO6 (JP6 2-3) */ - powerdown-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; - PVDD-supply = <®_3p3v>; - reg = <0x3c>; - /* Verdin GPIO5 (JP5 2-3) */ - reset-gpios = <&gpio1 7 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>; - }; - }; -}; diff --git a/overlays/verdin-imx8mp_mezzanine-touch-atmel-mxt_overlay.dts b/overlays/verdin-imx8mp_mezzanine-touch-atmel-mxt_overlay.dts deleted file mode 100644 index 4a4f6b4..0000000 --- a/overlays/verdin-imx8mp_mezzanine-touch-atmel-mxt_overlay.dts +++ /dev/null @@ -1,17 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT -/* - * Copyright 2020-2021 Toradex - */ - -// Atmel MXT touchscreen on the Verdin iMX8M Plus Mezzanine - -/dts-v1/; -/plugin/; - -/ { - compatible = "toradex,verdin-imx8mp"; -}; - -&atmel_mxt_ts_mezzanine { - status = "okay"; -}; diff --git a/overlays/verdin-imx8mp_mezzanine_ov5640-alt-jumpers_overlay.dts b/overlays/verdin-imx8mp_mezzanine_ov5640-alt-jumpers_overlay.dts new file mode 100644 index 0000000..d94dc2e --- /dev/null +++ b/overlays/verdin-imx8mp_mezzanine_ov5640-alt-jumpers_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 +#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"; + /* 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>; + }; + }; +}; diff --git a/overlays/verdin-imx8mp_mezzanine_ov5640-default-jumpers_overlay.dts b/overlays/verdin-imx8mp_mezzanine_ov5640-default-jumpers_overlay.dts new file mode 100644 index 0000000..dc6eb18 --- /dev/null +++ b/overlays/verdin-imx8mp_mezzanine_ov5640-default-jumpers_overlay.dts @@ -0,0 +1,90 @@ +// 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 GPIOs as the first camera interface CSI_1 +// and the same I2C bus as used for DSI display adapters! + +/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_gpio5>, <&pinctrl_gpio6>; + /* Verdin GPIO6 (JP6 2-3) */ + powerdown-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; + PVDD-supply = <®_3p3v>; + reg = <0x3c>; + /* Verdin GPIO5 (JP5 2-3) */ + reset-gpios = <&gpio1 7 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>; + }; + }; +}; diff --git a/overlays/verdin-imx8mp_mezzanine_panel-cap-touch-10inch-lvds_overlay.dts b/overlays/verdin-imx8mp_mezzanine_panel-cap-touch-10inch-lvds_overlay.dts new file mode 100644 index 0000000..4aca1ae --- /dev/null +++ b/overlays/verdin-imx8mp_mezzanine_panel-cap-touch-10inch-lvds_overlay.dts @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2021 Toradex + */ + +// Verdin iMX8M Plus Mezzanine single-channel LVDS + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,verdin-imx8mp"; +}; + +&atmel_mxt_ts_mezzanine { + status = "okay"; +}; + +&backlight_mezzanine { + status = "okay"; +}; + +&gpu_2d { + status = "okay"; +}; + +&gpu_3d { + status = "okay"; +}; + +&lcdif2 { + status = "okay"; +}; + +&ldb { + status = "okay"; +}; + +&ldb_phy { + status = "okay"; +}; + +&mix_gpu_ml { + status = "okay"; +}; + +&ml_vipsi { + status = "okay"; +}; + +&panel_lvds_mez { + height-mm = <136>; + width-mm = <217>; + status = "okay"; + + panel-timing { + clock-frequency = <68900000 71100000 73400000>; + de-active = <1>; + hactive = <1280 1280 1280>; + hback-porch = <23 60 71>; + hfront-porch = <23 60 71>; + hsync-len = <15 40 47>; + pixelclk-active = <1>; /* positive edge */ + vactive = <800 800 800>; + vback-porch = <5 7 10>; + vfront-porch = <5 7 10>; + vsync-len = <6 9 12>; + }; +}; + +&pwm2 { + status = "okay"; +}; diff --git a/overlays/verdin-imx8mp_mezzanine_panel-lvds-dual-channel-1080p_overlay.dts b/overlays/verdin-imx8mp_mezzanine_panel-lvds-dual-channel-1080p_overlay.dts new file mode 100644 index 0000000..d8945b4 --- /dev/null +++ b/overlays/verdin-imx8mp_mezzanine_panel-lvds-dual-channel-1080p_overlay.dts @@ -0,0 +1,74 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2020-2021 Toradex + */ + +// Verdin iMX8M Plus Mezzanine with LG LP156WF1 dual-channel LVDS Panel + +/dts-v1/; +/plugin/; + +/ { + compatible = "toradex,verdin-imx8mp"; +}; + +&backlight_mezzanine { + status = "okay"; +}; + +&gpu_2d { + status = "okay"; +}; + +&gpu_3d { + status = "okay"; +}; + +&lcdif2 { + status = "okay"; +}; + +&ldb { + fsl,dual-channel; + status = "okay"; +}; + +&lvds_channel0 { + fsl,data-mapping = "jeida"; +}; + +&ldb_phy { + status = "okay"; +}; + +&mix_gpu_ml { + status = "okay"; +}; + +&ml_vipsi { + status = "okay"; +}; + +&panel_lvds_mez { + data-mapping = "jeida-24"; + height-mm = <194>; + width-mm = <345>; + status = "okay"; + + panel-timing { + clock-frequency = <138500000>; + hactive = <1920>; + hback-porch = <40>; + hfront-porch = <24>; + hsync-len = <16>; + pixelclk-active = <0>; + vactive = <1080>; + vback-porch = <23>; + vfront-porch = <3>; + vsync-len = <5>; + }; +}; + +&pwm2 { + status = "okay"; +}; -- cgit v1.2.3