From: Josua Mayer <josua@solid-run.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Jessica Zhang <jessica.zhang@oss.qualcomm.com>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>
Cc: Jon Nettleton <jon@solid-run.com>,
Mikhail Anikin <mikhail.anikin@solid-run.com>,
Yazan Shhady <yazan.shhady@solid-run.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
"imx@lists.linux.dev" <imx@lists.linux.dev>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 08/10] arm64: dts: add description for solidrun imx8mp hummingboard-iiot
Date: Thu, 30 Oct 2025 20:52:45 +0000 [thread overview]
Message-ID: <696ce396-12dd-4fda-b51f-0f275b8a64fc@solid-run.com> (raw)
In-Reply-To: <20251027-imx8mp-hb-iiot-v1-8-683f86357818@solid-run.com>
Am 27.10.25 um 18:48 schrieb Josua Mayer:
> Add description for the SolidRun i.MX8MP HummingBoard IIoT.
> The board is a new design around the i.MX8MP System on Module, not
> sharing much with previous HummingBoards.
>
> It comes with some common features:
> - 3x USB-3.0 Type A connector
> - 2x 1Gbps RJ45 Ethernet
> - USB Type-C Console Port
> - microSD connector
> - RTC with backup battery
> - RGB Status LED
> - 1x M.2 M-Key connector with PCI-E Gen. 3 x1
> - 1x M.2 B-Key connector with USB-2.0/3.0 + SIM card holder
> - 1x LVDS Display Connector
> - 1x DSI Display Connector
> - GPIO header
> - 2x RS232/RS485 ports (configurable)
> - 2x CAN
>
> In addition there is a board-to-board expansion connector to support
> custom daughter boards with access to SPI, a range of GPIOs and -
> notably - CAN and UART. Both 2x CAN and 2x UART can be muxed either
> to this b2b connector, or a termianl block connector on the base board.
>
> The routing choice for UART and CAN is expressed through gpio
> mux-controllers in DT and can be changed by applying dtb addons.
>
> Four dtb addons are provided:
>
> - dsi panel Winstar WJ70N3TYJHMNG0
> - lvds panel Winstar WF70A8SYJHLNGA
> - RS485 on UART port "A" (default rs232)
> - RS485 on UART port "B" (default rs232)
>
> Signed-off-by: Josua Mayer <josua@solid-run.com>
> ---
> arch/arm64/boot/dts/freescale/Makefile | 6 +
> ...hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0.dtso | 70 ++
> ...ummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtso | 105 +++
> .../imx8mp-hummingboard-iiot-rs485-a.dtso | 18 +
> .../imx8mp-hummingboard-iiot-rs485-b.dtso | 18 +
> .../dts/freescale/imx8mp-hummingboard-iiot.dts | 710 +++++++++++++++++++++
> 6 files changed, 927 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index 8bda6fb0ff9c1..d414d0efe5e74 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -207,6 +207,12 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-dhcom-pdk3.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-dhcom-picoitx.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-edm-g-wb.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb
> +dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-iiot.dtb
> +DTC_FLAGS_imx8mp-hummingboard-iiot := -@
> +dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0.dtbo
> +dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtbo
> +dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-iiot-rs485-a.dtbo
> +dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-iiot-rs485-b.dtbo
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-mate.dtb
> DTC_FLAGS_imx8mp-hummingboard-mate := -@
> dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-pro.dtb
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0.dtso b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0.dtso
> new file mode 100644
> index 0000000000000..b3cf66837c577
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0.dtso
> @@ -0,0 +1,70 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2025 Josua Mayer <josua@solid-run.com>
> + *
> + * Overlay for enabling HummingBoard IIoT MIPI-DSI connector
> + * with Winstar WJ70N3TYJHMNG0 panel.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +&{/} {
> + dsi_backlight: dsi-backlight {
> + compatible = "gpio-backlight";
> + gpios = <&tca6408_u48 3 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&i2c_dsi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + touchscreen@41 {
> + compatible = "ilitek,ili2130";
> + reg = <0x41>;
> + reset-gpios = <&tca6408_u48 6 GPIO_ACTIVE_LOW>;
> + interrupts-extended = <&tca6416_u21 13 IRQ_TYPE_LEVEL_LOW>;
> + };
> +};
> +
> +&lcdif1 {
> + status = "okay";
> +};
> +
> +&mipi_dsi {
> + samsung,esc-clock-frequency = <10000000>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "okay";
> +
> + panel@0 {
> + /* This is a Winstar panel, but the ronbo panel uses same controls. */
> + compatible = "ronbo,rb070d30";
> + reg = <0>;
> + vcc-lcd-supply = <®_dsi_panel>;
> + power-gpios = <&tca6408_u48 2 GPIO_ACTIVE_HIGH>;
> + /* reset is active-low but driver inverts it internally */
> + reset-gpios = <&tca6408_u48 1 GPIO_ACTIVE_HIGH>;
> + updn-gpios = <&tca6408_u48 5 GPIO_ACTIVE_HIGH>;
> + shlr-gpios = <&tca6408_u48 4 GPIO_ACTIVE_LOW>;
> + backlight = <&dsi_backlight>;
> +
> + port {
> + panel_from_dsim: endpoint {
> + data-lanes = <1 2 3 4>;
> + remote-endpoint = <&dsim_to_panel>;
> + };
> + };
> + };
> +
> + port@1 {
> + dsim_to_panel: endpoint {
> + remote-endpoint = <&panel_from_dsim>;
> + attach-bridge;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtso b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtso
> new file mode 100644
> index 0000000000000..90674f9871020
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtso
> @@ -0,0 +1,105 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2025 Josua Mayer <josua@solid-run.com>
> + *
> + * Overlay for enabling HummingBoard IIoT LVDS connector
> + * with Winstar WF70A8SYJHLNGA panel.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +&{/} {
> + lvds_backlight: lvds-backlight {
> + compatible = "gpio-backlight";
> + gpios = <&tca6408_u37 3 GPIO_ACTIVE_LOW>;
> + };
> +
> + panel-lvds {
> + compatible = "panel-lvds";
> + backlight = <&lvds_backlight>;
> + power-supply = <®_dsi_panel>;
> + enable-gpios = <&tca6408_u37 2 GPIO_ACTIVE_HIGH>;
> + reset-gpios = <&tca6408_u37 1 GPIO_ACTIVE_HIGH>;
> + data-mapping = "vesa-24";
> + width-mm = <154>;
> + height-mm = <86>;
> +
> + panel-timing {
> + /*
> + * Note: NXP BSP hard-codes 74MHz clock in ldb driver:
> + * drivers/gpu/drm/imx/imx8mp-ldb.c
> + * SolidRun BSP carries patch.
> + */
> + clock-frequency = <49500000>;
> + hactive = <1024>;
> + vactive = <600>;
> + hfront-porch = <40>;
> + hback-porch = <144>;
> + hsync-len = <104>;
> + hsync-active = <0>;
> + vfront-porch = <3>;
> + vback-porch = <11>;
> + vsync-len = <10>;
> + vsync-active = <1>;
> + de-active = <1>;
> + };
> +
> + port {
> + panel_from_lvds: endpoint {
> + remote-endpoint = <&lvds_ch0_out>;
> + };
> + };
> + };
> +};
> +
> +&i2c_lvds {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + touchscreen@41 {
> + compatible = "ilitek,ili2130";
> + reg = <0x41>;
> + reset-gpios = <&tca6408_u37 6 GPIO_ACTIVE_LOW>;
> + interrupts-extended = <&tca6416_u21 13 IRQ_TYPE_LEVEL_LOW>;
> + };
> +};
> +
> +&lcdif2 {
> + status = "okay";
> +};
> +
> +&lvds_bridge {
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "okay";
> +
> + port@1 {
> + lvds_ch0_out: endpoint {
> + remote-endpoint = <&panel_from_lvds>;
> + };
> + };
> + };
> +};
> +
> +&tca6408_u37 {
> + lvds-lr-hog {
> + gpio-hog;
> + gpios = <4 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "lvds-l/r";
> + };
> +
> + lvds-ud-hog {
> + gpio-hog;
> + gpios = <5 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "lvds-u/d";
> + };
> +};
Because I have not added any Makefile targets applying the dbo's to dtb,
make dtbs_check is not checking them ...
There are some failing checks that I will resolve:
/opt/workspace/linux/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-dsi-WJ70N3TYJHMNG0.dtb: panel@0: port:endpoint: Unevaluated properties are not allowed ('data-lanes' was unexpected)
from schema $id: http://devicetree.org/schemas/display/panel/ronbo,rb070d30.yaml#
/opt/workspace/linux/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtb: panel-lvds: compatible:0: 'panel-lvds' is not one of ['admatec,9904379', 'ampire,amp19201200b5tzqw-t03', 'auo,b101ew05', 'auo,g084sn05', 'chunghwa,claa070wp03xg', 'edt,etml0700z8dha', 'edt,etml0700z9ndha', 'hannstar,hsd101pww2', 'hydis,hv070wx2-1e0', 'jenson,bl-jt60050-01a', 'tbs,a711-panel']
from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
/opt/workspace/linux/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtb: panel-lvds: compatible: ['panel-lvds'] is too short
from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
/opt/workspace/linux/arch/arm64/boot/dts/freescale/imx8mp-hummingboard-iiot-panel-lvds-WF70A8SYJHLNGA.dtb: panel-lvds: Unevaluated properties are not allowed ('compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml#
next prev parent reply other threads:[~2025-10-30 20:53 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-27 17:48 [PATCH 00/10] arm64: dts: add description for solidrun imx8mp hummingboard-iiot Josua Mayer
2025-10-27 17:48 ` [PATCH 01/10] dt-bindings: arm: fsl: Add binding for various solidrun imx8 boards Josua Mayer
2025-10-28 9:00 ` Krzysztof Kozlowski
2025-10-28 11:42 ` Josua Mayer
2025-10-27 17:48 ` [PATCH 02/10] dt-bindings: display: panel: ronbo,rb070d30: add port property Josua Mayer
2025-10-28 9:03 ` Krzysztof Kozlowski
2025-10-28 12:01 ` Josua Mayer
2025-10-28 16:23 ` Krzysztof Kozlowski
2025-10-30 16:57 ` Josua Mayer
2025-10-27 17:48 ` [PATCH 03/10] Input: ilitek_ts_i2c: fix warning with gpio controllers that sleep Josua Mayer
2025-10-27 17:48 ` [PATCH 04/10] drm/panel: ronbo-rb070d30: " Josua Mayer
2025-10-27 17:48 ` [PATCH 05/10] arm64: dts: imx8mp-hummingboard-pulse/cubox-m: fix vmmc gpio polarity Josua Mayer
2025-10-27 17:48 ` [PATCH 06/10] arm64: dts: imx8mp-hummingboard-pulse: fix mini-hdmi dsi port reference Josua Mayer
2025-10-28 12:14 ` Josua Mayer
2025-10-27 17:48 ` [PATCH 07/10] arm64: dts: imx8mp-sr-som: build dtbs with symbols for overlay support Josua Mayer
2025-10-27 17:48 ` [PATCH 08/10] arm64: dts: add description for solidrun imx8mp hummingboard-iiot Josua Mayer
2025-10-28 12:24 ` Josua Mayer
2025-10-29 9:23 ` Alexander Dahl
2025-10-30 16:44 ` Josua Mayer
2025-11-04 10:24 ` Alexander Dahl
2025-10-30 20:52 ` Josua Mayer [this message]
2025-10-27 17:48 ` [PATCH 09/10] arm64: dts: add description for solidrun solidsense-n8 board Josua Mayer
2025-10-28 12:11 ` Josua Mayer
2025-10-27 17:48 ` [PATCH 10/10] arm64: dts: add description for solidrun i.mx8mm som and evb Josua Mayer
2025-10-30 16:47 ` Josua Mayer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=696ce396-12dd-4fda-b51f-0f275b8a64fc@solid-run.com \
--to=josua@solid-run.com \
--cc=airlied@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=jessica.zhang@oss.qualcomm.com \
--cc=jon@solid-run.com \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mikhail.anikin@solid-run.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=yazan.shhady@solid-run.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.