dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
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 = <&reg_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 = <&reg_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#


  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).