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

Frank Li Frank.li at oss.nxp.com
Thu Oct 8 13:34:38 PDT 2026


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 at pengutronix.de>
> ---
>  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 at 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 at 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 at 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 at 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 at 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 at 1 {
> +			reg = <1>;
> +
>  			ldb_lvds_ch0: endpoint {
>  				remote-endpoint = <&in_lvds0>;
>  			};
>
> --
> 2.51.0
>
>



More information about the linux-arm-kernel mailing list