Re: [PATCH v9 2/3] arm64: dts: imx8mp-skov-revc: convert to overlays

From: Frank Li

Date: Thu Oct 08 2026 - 16:34:54 EST


On Thu, Oct 08, 2026 at 11:16:00AM +0200, Steffen Trumtrar wrote:
> The i.MX8MP Skov RevC jutouch 10" and Tian 7" variants are pretty
> similar, apart from the Display and touch controller.
>
> Move the common bindings to imx8mp-skov-revc-touch.dts and convert both
> variants to use overlays applied on this base version.
>
> Add a compatible for revC-based Skov boards with a touch panel for the
> common dts.
>
> Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/arm/fsl.yaml | 1 +

Binding change need seperate patch. This is v9.
Does rebase cause problem?

Frank


> arch/arm64/boot/dts/freescale/Makefile | 5 ++
> .../imx8mp-skov-revc-jutouch-jt101tm023.dtso | 38 ++++++++++
> .../dts/freescale/imx8mp-skov-revc-tian-g07017.dts | 81 ----------------------
> .../freescale/imx8mp-skov-revc-tian-g07017.dtso | 40 +++++++++++
> ...h-jt101tm023.dts => imx8mp-skov-revc-touch.dts} | 26 +++----
> 6 files changed, 92 insertions(+), 99 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
> index 656f2596e1d53..5599e45ffdcec 100644
> --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> @@ -1155,6 +1155,7 @@ properties:
> - skov,imx8mp-skov-revc-bd500 # SKOV i.MX8MP climate control with LED frontplate
> - skov,imx8mp-skov-revc-jutouch-jt101tm023 # SKOV i.MX8MP climate control with 10" JuTouch panel
> - skov,imx8mp-skov-revc-tian-g07017 # SKOV i.MX8MP climate control with 7" panel
> + - skov,imx8mp-skov-revc-touch # SKOV i.MX8MP climate control revision C with touch panel
> - ultratronik,imx8mp-ultra-mach-sbc # Ultratronik SBC i.MX8MP based board
> - ysoft,imx8mp-iota2-lumpy # Y Soft i.MX8MP IOTA2 Lumpy Board
> - const: fsl,imx8mp
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index 49025ae465f22..d706290b8dd02 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -475,6 +475,11 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-lt6.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-mi1010ait-1cp1.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-bd500.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-hdmi.dtb
> +
> +imx8mp-skov-revc-jutouch-jt101tm023-dtbs += imx8mp-skov-revc-touch.dtb \
> + imx8mp-skov-revc-jutouch-jt101tm023.dtbo
> +imx8mp-skov-revc-tian-g07017-dtbs += imx8mp-skov-revc-touch.dtb \
> + imx8mp-skov-revc-tian-g07017.dtbo
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-jutouch-jt101tm023.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revc-tian-g07017.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-toradex-smarc-dev.dtb
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-jutouch-jt101tm023.dtso b/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-jutouch-jt101tm023.dtso
> new file mode 100644
> index 0000000000000..33ddd08a7adb5
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-jutouch-jt101tm023.dtso
> @@ -0,0 +1,38 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +&{/} {
> + model = "SKOV IMX8MP CPU revC - JuTouch JT101TM023";
> + compatible = "skov,imx8mp-skov-revc-jutouch-jt101tm023", "fsl,imx8mp";
> +};
> +
> +&{/panel} {
> + compatible = "jutouch,jt101tm023";
> +};
> +
> +&i2c2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + touchscreen@2a {
> + compatible = "eeti,exc81w32", "eeti,exc80h84";
> + reg = <0x2a>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_touchscreen>;
> + interrupts-extended = <&gpio4 28 IRQ_TYPE_LEVEL_LOW>;
> + reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
> + touchscreen-size-x = <1280>;
> + touchscreen-size-y = <800>;
> + vdd-supply = <&reg_vdd_3v3>;
> + };
> +};
> +
> +&lvds_bridge {
> + /* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 7 */
> + assigned-clock-rates = <0>, <506800000>;
> +};
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-tian-g07017.dts b/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-tian-g07017.dts
> deleted file mode 100644
> index 9a562c011f2c2..0000000000000
> --- a/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-tian-g07017.dts
> +++ /dev/null
> @@ -1,81 +0,0 @@
> -// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> -
> -/dts-v1/;
> -
> -#include "imx8mp-skov-reva.dtsi"
> -
> -/ {
> - model = "SKOV IMX8MP CPU revC - TIAN G07017";
> - compatible = "skov,imx8mp-skov-revc-tian-g07017", "fsl,imx8mp";
> -
> - panel {
> - compatible = "topland,tian-g07017-01";
> - backlight = <&backlight>;
> - power-supply = <&reg_tft_vcom>;
> -
> - port {
> - in_lvds0: endpoint {
> - remote-endpoint = <&ldb_lvds_ch0>;
> - };
> - };
> - };
> -};
> -
> -&backlight {
> - status = "okay";
> -};
> -
> -&i2c2 {
> - clock-frequency = <100000>;
> - status = "okay";
> -
> - touchscreen@38 {
> - compatible = "edt,edt-ft5506";
> - reg = <0x38>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_touchscreen>;
> - interrupts-extended = <&gpio4 28 IRQ_TYPE_EDGE_FALLING>;
> - reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
> - touchscreen-size-x = <1024>;
> - touchscreen-size-y = <600>;
> - vcc-supply = <&reg_vdd_3v3>;
> - iovcc-supply = <&reg_vdd_3v3>;
> - wakeup-source;
> - };
> -};
> -
> -&lcdif2 {
> - status = "okay";
> -};
> -
> -&lvds_bridge {
> - assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
> - <&clk IMX8MP_VIDEO_PLL1>;
> - assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
> - /* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 2 * 7 */
> - assigned-clock-rates = <0>, <358400000>;
> - status = "okay";
> -
> - ports {
> - port@1 {
> - ldb_lvds_ch0: endpoint {
> - remote-endpoint = <&in_lvds0>;
> - };
> - };
> - };
> -};
> -
> -&pwm4 {
> - status = "okay";
> -};
> -
> -&pwm1 {
> - status = "okay";
> -};
> -
> -&reg_tft_vcom {
> - regulator-min-microvolt = <3160000>;
> - regulator-max-microvolt = <3160000>;
> - voltage-table = <3160000 73>;
> - status = "okay";
> -};
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-tian-g07017.dtso b/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-tian-g07017.dtso
> new file mode 100644
> index 0000000000000..b9781a418e4d5
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-tian-g07017.dtso
> @@ -0,0 +1,40 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +&{/} {
> + model = "SKOV IMX8MP CPU revC - TIAN G07017";
> + compatible = "skov,imx8mp-skov-revc-tian-g07017", "fsl,imx8mp";
> +};
> +
> +&{/panel} {
> + compatible = "topland,tian-g07017-01";
> +};
> +
> +&i2c2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + touchscreen@38 {
> + compatible = "edt,edt-ft5506";
> + reg = <0x38>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_touchscreen>;
> + interrupts-extended = <&gpio4 28 IRQ_TYPE_EDGE_FALLING>;
> + reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
> + touchscreen-size-x = <1024>;
> + touchscreen-size-y = <600>;
> + vcc-supply = <&reg_vdd_3v3>;
> + iovcc-supply = <&reg_vdd_3v3>;
> + wakeup-source;
> + };
> +};
> +
> +&lvds_bridge {
> + /* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 2 * 7 */
> + assigned-clock-rates = <0>, <358400000>;
> +};
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-jutouch-jt101tm023.dts b/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-touch.dts
> similarity index 56%
> rename from arch/arm64/boot/dts/freescale/imx8mp-skov-revc-jutouch-jt101tm023.dts
> rename to arch/arm64/boot/dts/freescale/imx8mp-skov-revc-touch.dts
> index 3e320d6dea3a2..c830f3ca8cb45 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-jutouch-jt101tm023.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-skov-revc-touch.dts
> @@ -5,11 +5,10 @@
> #include "imx8mp-skov-reva.dtsi"
>
> / {
> - model = "SKOV IMX8MP CPU revC - JuTouch JT101TM023";
> - compatible = "skov,imx8mp-skov-revc-jutouch-jt101tm023", "fsl,imx8mp";
> + model = "SKOV IMX8MP CPU revC";
> + compatible = "skov,imx8mp-skov-revc-touch", "fsl,imx8mp";
>
> panel {
> - compatible = "jutouch,jt101tm023";
> backlight = <&backlight>;
> power-supply = <&reg_tft_vcom>;
>
> @@ -28,18 +27,6 @@ &backlight {
> &i2c2 {
> clock-frequency = <100000>;
> status = "okay";
> -
> - touchscreen@2a {
> - compatible = "eeti,exc81w32", "eeti,exc80h84";
> - reg = <0x2a>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_touchscreen>;
> - interrupts-extended = <&gpio4 28 IRQ_TYPE_LEVEL_LOW>;
> - reset-gpios = <&gpio4 29 GPIO_ACTIVE_LOW>;
> - touchscreen-size-x = <1280>;
> - touchscreen-size-y = <800>;
> - vdd-supply = <&reg_vdd_3v3>;
> - };
> };
>
> &lcdif2 {
> @@ -48,14 +35,17 @@ &lcdif2 {
>
> &lvds_bridge {
> assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
> - <&clk IMX8MP_VIDEO_PLL1>;
> + <&clk IMX8MP_VIDEO_PLL1>;
> assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
> - /* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 7 */
> - assigned-clock-rates = <0>, <506800000>;
> status = "okay";
>
> ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> port@1 {
> + reg = <1>;
> +
> ldb_lvds_ch0: endpoint {
> remote-endpoint = <&in_lvds0>;
> };
>
> --
> 2.51.0
>
>