[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPStFe7-1++d79LEnh0=ozkZrU7n8_FWx_cx8_YUc7UhOt48hw@mail.gmail.com>
Date: Wed, 28 Jan 2026 16:39:19 +0800
From: Wig Cheng <onlywig@...il.com>
To: Peng Fan <peng.fan@....nxp.com>
Cc: shawnguo@...nel.org, robh@...nel.org, krzk+dt@...nel.org,
conor+dt@...nel.org, s.hauer@...gutronix.de, kernel@...gutronix.de,
festevam@...il.com, devicetree@...r.kernel.org, imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
zaq14760@...il.com
Subject: Re: [PATCH v2 1/1] arm64: dts: freescale: add pixpaper display
overlay for i.MX93 FRDM
Peng Fan <peng.fan@....nxp.com> 於 2026年1月28日週三 下午2:28寫道:
>
> On Wed, Jan 28, 2026 at 01:05:49PM +0800, Wig Cheng wrote:
> >Enable Open-EP Community pixpaper-213-c support on NXP i.MX93.
> >
> >Signed-off-by: Wig Cheng <onlywig@...il.com>
> >---
> > arch/arm64/boot/dts/freescale/Makefile | 4 ++
> > .../freescale/imx93-11x11-frdm-pixpaper.dtso | 51 +++++++++++++++++++
> > 2 files changed, 55 insertions(+)
> > create mode 100644 arch/arm64/boot/dts/freescale/imx93-11x11-frdm-pixpaper.dtso
> >
> >diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> >index ce8f937c2315..c2727f8061e2 100644
> >--- a/arch/arm64/boot/dts/freescale/Makefile
> >+++ b/arch/arm64/boot/dts/freescale/Makefile
> >@@ -398,6 +398,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb-i3c.dtb
> >
> > dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-evk.dtb
> > dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-frdm.dtb
> >+
> >+imx93-11x11-frdm-pixpaper-dtbs += imx93-11x11-frdm.dtb imx93-11x11-frdm-pixpaper.dtbo
> >+dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-frdm-pixpaper.dtb
> >+
> > dtb-$(CONFIG_ARCH_MXC) += imx93-14x14-evk.dtb
> > dtb-$(CONFIG_ARCH_MXC) += imx93-kontron-bl-osm-s.dtb
> > dtb-$(CONFIG_ARCH_MXC) += imx93-phyboard-nash.dtb
> >diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-frdm-pixpaper.dtso b/arch/arm64/boot/dts/freescale/imx93-11x11-frdm-pixpaper.dtso
> >new file mode 100644
> >index 000000000000..1111503b08af
> >--- /dev/null
> >+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-frdm-pixpaper.dtso
> >@@ -0,0 +1,51 @@
> >+// SPDX-License-Identifier: GPL-2.0
> >+/*
> >+ * Device Tree Overlay for Mayqueen (Open-EP Community) pixpaper display
> >+ * support on NXP FRDM i.MX 93 Development Board
> >+ *
> >+ * Copyright (C) 2026 Wig Cheng <onlywig@...il.com>
> >+ */
> >+
> >+#include <dt-bindings/gpio/gpio.h>
> >+#include "imx93-pinfunc.h"
> >+
> >+/dts-v1/;
> >+/plugin/;
> >+
> >+&iomuxc {
> >+ pinctrl_lpspi3: lpspi3grp {
> >+ fsl,pins = <
> >+ MX93_PAD_GPIO_IO08__GPIO2_IO08 0x3fe /* SPI3 CE0 */
> >+ MX93_PAD_GPIO_IO09__LPSPI3_SIN 0x3fe /* SPI3 MISO */
> >+ MX93_PAD_GPIO_IO10__LPSPI3_SOUT 0x3fe /* SPI3 MOSI */
> >+ MX93_PAD_GPIO_IO11__LPSPI3_SCK 0x3fe /* SPI3 CLK */
> >+ >;
> >+ };
> >+
> >+ pinctrl_epd_ctrl: epdctrlgrp {
> >+ fsl,pins = <
> >+ MX93_PAD_GPIO_IO05__GPIO2_IO05 0x31e /* DC pin */
> >+ MX93_PAD_GPIO_IO06__GPIO2_IO06 0x31e /* RESET pin */
> >+ MX93_PAD_GPIO_IO26__GPIO2_IO26 0x31e /* BUSY pin */
> >+ >;
> >+ };
> >+};
> >+
> >+&lpspi3 {
> >+ #address-cells = <1>;
> >+ #size-cells = <0>;
>
> The above two properties are in imx93_91_common.dtsi lpspi3 node, no need to
> duplicate them.
>
> Regards
> Peng
>
> >+ pinctrl-names = "default";
> >+ pinctrl-0 = <&pinctrl_lpspi3>, <&pinctrl_epd_ctrl>;
> >+ cs-gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
> >+ fsl,spi-num-chipselects = <1>;
> >+ status = "okay";
> >+
> >+ display@0 {
> >+ compatible = "mayqueen,pixpaper";
> >+ reg = <0>;
> >+ spi-max-frequency = <5000000>;
> >+ reset-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
> >+ dc-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
> >+ busy-gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
> >+ };
> >+};
> >--
> >2.43.0
> >
Hi Peng,
Thank you for the review. I understand that #address-cells and #size-cells
are already defined in imx91_93_common.dtsi for the lpspi3 node.
However, these properties need to be present in the overlay file for proper
DTC compilation. When compiling a device tree overlay (.dtbo), the DTC
compiler cannot see the properties defined in the base DTB. Without these
properties in the overlay, the build generates warnings:
Warning (reg_format): /fragment@..._overlay__/display@0:reg: property has
invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): /fragment@..._overlay__/display@0:
Relying on default #address-cells value
This is a known limitation of overlay compilation, and other overlay files
in the kernel tree follow the same pattern. For example:
- arch/arm64/boot/dts/freescale/imx8mm-kontron-bl-lte.dtso (line 78-79)
- arch/arm64/boot/dts/freescale/imx93-9x9-qsb-i3c.dtso (line 22-23)
These properties in the overlay don't conflict with the base dtb, they are
merged correctly at runtime. The duplication is necessary only for clean
compilation of the overlay, thanks a lot!
Regards,
Wig
Powered by blists - more mailing lists