Skip to contentSkip to conversation

arm64: dts: freescale: Add support for bytesatwork byteDEVKIT i.MX93

PATCH In review Frank Obergfell 3 participants 12 messages Nov 11 1 message not in the archive

Subsystems (6)
lore
Share & tools
lore
#0 lore raw

v2 cover arm64: dts: freescale: Add support for bytesatwork byteDEVKIT i.MX93

This series introduces support for the bytesatwork byteENGINE i.MX93 System on Module (SoM) and the carrier board byteDEVKIT.
It also adds display support for the integrated Youritech et050fw01-kt MIPI-DSI panel by extending the existing ILI9806E panel driver.

Changes in v2:
- Patch 1:
- Use specific panel part number (youritech,et050fw01-kt) instead of generic controller name.
- Elaborate commit message with vendor description, panel resolution and dimensions.
- Patch 2:
- Update compatible string and function names to match youritech,et050fw01-kt.
- Fix commit subject formatting and commit message.
- Patch 3:
- No changes.
- Patch 4:
- Drop standalone SoM compatible entry from fsl.yaml (only bootable board combinations allowed).
- Fix typo in commit message ("byteDEVKIT carrier board").
- Patch 5:
- Update panel compatible string to youritech,et050fw01-kt.
- Invert GT911 GPIO polarity to GPIO_ACTIVE_HIGH to fix address strapping and reset.
- Assign pinctrl_usb2 to reg_usb2_vbus and add vbus-supply to usbotg2.
- Add disable-over-current to usbotg1 and usbotg2.
- Move panel reset GPIO into dedicated pinctrl_panel_reset group on panel@0.
- Standardize Ethernet PHY node names to ethernet-phy@... and use tx-fifo-depth.
- Replace underscores in pinctrl node names with hyphens.
- Rename tca6418e node to generic gpio@34.
- Consolidate devkit devicetrees into single imx93-bytedevkit.dts.

Frank Obergfell (5):
dt-bindings: display: panel: ilitek,ili9806e: Add Youritech et050fw01-kt drm/panel: ilitek-ili9806e: Add support for Youritech et050fw01-kt panel
arm64: dts: freescale: imx93: Add MIPI DSI controller node
dt-bindings: arm: fsl: Add byteENGINE i.MX93 platforms
arm64: dts: freescale: Add support for bytesatwork i.MX93

 Documentation/devicetree/bindings/arm/fsl.yaml                |   7 +
 .../devicetree/bindings/display/panel/ilitek,ili9806e.yaml    |   1 +
 Documentation/devicetree/bindings/vendor-prefixes.yaml        |   4 +
 MAINTAINERS                                                   |   7 +
 arch/arm64/boot/dts/freescale/Makefile                        |   1 +
 arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts            | 449 ++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx93-byteengine.dtsi           | 199 ++++++++
 arch/arm64/boot/dts/freescale/imx93.dtsi                      |  34 ++
 drivers/gpu/drm/panel/panel-ilitek-ili9806e-core.c            |   4 +-
 drivers/gpu/drm/panel/panel-ilitek-ili9806e-dsi.c             | 158 ++++++
 10 files changed, 863 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts
 create mode 100644 arch/arm64/boot/dts/freescale/imx93-byteengine.dtsi
#1 lore raw

PATCH v2 1/5 dt-bindings: display: panel: ilitek,ili9806e: Add Youritech et050fw01-kt

Document the vendor prefix for Shenzhen Youritech Co., Ltd. and add the compatible string for the Youritech et050fw01-kt panel.

The Youritech et050fw01-kt is a 480x854 MIPI-DSI LCD panel with physical dimensions of 68 mm x 122 mm, driven by an Ilitek ILI9806E display controller.

---
 .../devicetree/bindings/display/panel/ilitek,ili9806e.yaml      | 1 +
 Documentation/devicetree/bindings/vendor-prefixes.yaml          | 2 ++
 2 files changed, 3 insertions(+)
Documentation/devicetree/bindings/display/panel/ilitek,ili9806e.yaml +1 -0
index 2080d9e0ffac..c2e442c20c0c 100644
@@ -19,6 +19,7 @@ properties:
           - densitron,dmt028vghmcmi-1d
           - ortustech,com35h3p70ulc
           - rocktech,rk050hr345-ct106a
+          - youritech,et050fw01-kt
       - const: ilitek,ili9806e
 
   reg:
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
index 5471a06f93f1..ac2f54adde73 100644
@@ -1979,6 +1979,8 @@ patternProperties:
     description: YSH & ATIL
   "^yones-toptech,.*":
     description: Yones Toptech Co., Ltd.
+  "^youritech,.*":
+    description: Shenzhen Youritech Co., Ltd.
   "^youyeetoo,.*":
     description: Hong Kong Cybodev Tech Limited (youyeetoo)
   "^ys,.*":
Signature · 1 line
2.47.3
Reviewed-by on v2 1/5
#2 lore raw

Re: [PATCH v2 1/5] dt-bindings: display: panel: ilitek,ili9806e: Add Youritech et050fw01-kt

Quoted 8 lines · Frank Obergfell

Document the vendor prefix for Shenzhen Youritech Co., Ltd. and add the compatible string for the Youritech et050fw01-kt panel.

The Youritech et050fw01-kt is a 480x854 MIPI-DSI LCD panel with physical dimensions of 68 mm x 122 mm, driven by an Ilitek ILI9806E display controller.

#3 lore raw

PATCH v2 2/5 drm/panel: ilitek-ili9806e: Add support for Youritech et050fw01-kt panel

In reply to Frank Obergfell

Add support for the Youritech et050fw01-kt 480x854 MIPI-DSI panel driven by an Ilitek ILI9806E controller.

The panel requires 2 MIPI-DSI data lanes, video burst mode, and supplies for vdd (3.3V) and vccio (1.8V).

---
 .../drm/panel/panel-ilitek-ili9806e-core.c    |   4 +-
 .../gpu/drm/panel/panel-ilitek-ili9806e-dsi.c | 158 ++++++++++++++++++
 2 files changed, 161 insertions(+), 1 deletion(-)
drivers/gpu/drm/panel/panel-ilitek-ili9806e-core.c +3 -1
index 81d48c402aec..5509af289393 100644
@@ -91,7 +91,9 @@ int ili9806e_probe(struct device *dev, void *transport,
 	if (of_device_is_compatible(dev->of_node,
 				    "densitron,dmt028vghmcmi-1d") ||
 	    of_device_is_compatible(dev->of_node,
-				    "ortustech,com35h3p70ulc")) {
+				    "ortustech,com35h3p70ulc") ||
+	    of_device_is_compatible(dev->of_node,
+				    "youritech,et050fw01-kt")) {
 		ctx->supplies[ctx->num_supplies++].supply = "vccio";
 		set_prepare_prev_first = true;
 	}
drivers/gpu/drm/panel/panel-ilitek-ili9806e-dsi.c +158 -0

167 lines not on this page · raw message

Signature · 1 line
2.47.3
#4 lore raw

PATCH v2 3/5 arm64: dts: freescale: imx93: Add MIPI DSI controller node

In reply to Frank Obergfell

Add dsi node to the i.MX93 for support with mipi dsi panels.

---
 arch/arm64/boot/dts/freescale/imx93.dtsi | 34 ++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
arch/arm64/boot/dts/freescale/imx93.dtsi +34 -0
index e926b6360a9d..1123e372eb79 100644
@@ -58,6 +58,39 @@ npu@4a900000 {
 						 <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>;
 			assigned-clock-rates = <800000000>, <133000000>;
 		};
+
+		dsi: dsi@4ae10000 {
+			compatible = "fsl,imx93-mipi-dsi";
+			reg = <0x4ae10000 0x10000>;
+			interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&clk IMX93_CLK_MIPI_DSI_GATE>,
+				 <&clk IMX93_CLK_MEDIA_DISP_PIX>,
+				 <&clk IMX93_CLK_MIPI_PHY_CFG>,
+				 <&clk IMX93_CLK_24M>;
+			clock-names = "pclk", "pix", "phy_cfg", "phy_ref";
+			fsl,media-blk-ctrl = <&media_blk_ctrl>;
+			power-domains = <&media_blk_ctrl 0>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@0 {
+					reg = <0>;
+
+					dsi_to_lcdif: endpoint {
+						remote-endpoint = <&lcdif_to_dsi>;
+					};
+				};
+
+				dsi_out_port: port@1 {
+					reg = <1>;
+				};
+			};
+		};
 	};
 
 	sram: sram@20480000 {
@@ -183,6 +216,7 @@ lcdif_to_ldb: endpoint@1 {
 
 		lcdif_to_dsi: endpoint@2 {
 			reg = <2>;
+			remote-endpoint = <&dsi_to_lcdif>;
 		};
 	};
 };
Signature · 1 line
2.47.3
#5 lore raw

PATCH v2 4/5 dt-bindings: arm: fsl: Add byteENGINE i.MX93 platforms

In reply to Frank Obergfell

Document the vendor prefix for bytesatwork AG and add the compatible strings for the byteENGINE i.MX93 System on Module (SoM) on the byteDEVKIT carrier board.

---
 Documentation/devicetree/bindings/arm/fsl.yaml         | 7 +++++++
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 2 files changed, 9 insertions(+)
Documentation/devicetree/bindings/arm/fsl.yaml +7 -0
index c8290a83205b..e4be6fdb5808 100644
@@ -1555,6 +1555,13 @@ properties:
               - fsl,imx93-wireless-frdm   # i.MX93 and IW610G WLCSP (Wi-Fi + BLE + 802.15.4) SiP FRDM Board
           - const: fsl,imx93
 
+      - description: i.MX93 boards with bytesatwork byteENGINE and byteDEVKIT
+        items:
+          - enum:
+              - bytesatwork,bytedevkit-imx93
+          - const: bytesatwork,byteengine-imx93
+          - const: fsl,imx93
+
       - description: i.MX93 boards with Toradex Lino Modules and Verdin Adapter
         items:
           - enum:
Documentation/devicetree/bindings/vendor-prefixes.yaml +2 -0
index ac2f54adde73..95f386db1d01 100644
@@ -285,6 +285,8 @@ patternProperties:
     description: B&R Industrial Automation GmbH
   "^bytedance,.*":
     description: ByteDance Ltd.
+  "^bytesatwork,.*":
+    description: bytesatwork AG
   "^calamp,.*":
     description: CalAmp Corp.
   "^calao,.*":
Signature · 1 line
2.47.3
#7 lore raw

PATCH v2 5/5 arm64: dts: freescale: Add support for bytesatwork i.MX93

In reply to Frank Obergfell

Add support for the bytesatwork i.MX93 byteENGINE OSM module placed on the byteDEVKIT.

---
 MAINTAINERS                                   |   7 +
 arch/arm64/boot/dts/freescale/Makefile        |   1 +
 .../boot/dts/freescale/imx93-bytedevkit.dts   | 449 ++++++++++++++++++
 .../boot/dts/freescale/imx93-byteengine.dtsi  | 199 ++++++++
 4 files changed, 656 insertions(+)
 create mode 100644 arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts
 create mode 100644 arch/arm64/boot/dts/freescale/imx93-byteengine.dtsi
MAINTAINERS +7 -0
index 93abbb315065..ba51f625ddad 100644
@@ -5877,6 +5877,13 @@ S:	Maintained
 F:	Documentation/devicetree/bindings/net/can/st,stm32-bxcan.yaml
 F:	drivers/net/can/bxcan.c
 
+BYTESATWORK MODULES AND BOARDS
+M:	Alexander Forsch <[email protected]>
+M:	Frank Obergfell <[email protected]>
+S:	Maintained
+F:	arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts
+F:	arch/arm64/boot/dts/freescale/imx93-byteengine.dtsi
+
 C-MEDIA CMI8788 DRIVER
 M:	Clemens Ladisch <[email protected]>
 L:	[email protected]
arch/arm64/boot/dts/freescale/Makefile +1 -0
index a80cccf34eb5..0a7eb69ef76e 100644
@@ -898,6 +898,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-frdm-pixpaper.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-14x14-evk.dtb
 imx93-14x14-evk-mqs-dtbs += imx93-14x14-evk.dtb imx9-mqs.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx93-14x14-evk-mqs.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx93-bytedevkit.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-kontron-bl-osm-s.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-lino-verdin-dahlia.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx93-lino-verdin-dev.dtb
arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts new file +449 -0

449 lines not on this page · raw message

arch/arm64/boot/dts/freescale/imx93-byteengine.dtsi new file +199 -0

199 lines not on this page · raw message

Signature · 1 line
2.47.3
#8 lore raw

Re: [PATCH v2 5/5] arm64: dts: freescale: Add support for bytesatwork i.MX93

Thank you for your contribution! Sashiko AI review found 1 potential issue to consider: - [Low] arm64: dts: freescale: imx93-bytedevkit: unused backlight-lvds left enabled --

Thank you for your contribution! Sashiko AI review found 1 potential issue to consider:
- [Low] arm64: dts: freescale: imx93-bytedevkit: unused backlight-lvds left enabled
--

commit c60831b496cfd3af119e905c5fcb49dc6905f857
Author: Frank Obergfell <[email protected]>

arm64: dts: freescale: Add support for bytesatwork i.MX93

This commit adds device tree files for the bytesatwork i.MX93 byteENGINE OSM module and the byteDEVKIT board.

Quoted 5 lines
arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts new file +0 -0
new file mode 100644
index 0000000000000..cb5d17c8444c3

[ ... ]

arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts line 76

Quoted 7 lines
arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts new file +7 -0
+	lcd_bl: backlight-lvds {
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_lvds_backlight>;
+		compatible = "gpio-backlight";
+		gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
+		default-on;
+	};

[Severity: Low]
Should backlight-lvds be disabled or removed while the LVDS display pipeline and touch controller on lpi2c1 are disabled? With default-on set and no panel referencing &lcd_bl, gpio_backlight_probe() registers an unused backlight device and drives GPIO2_IO26 high at boot even though only the MIPI DSI panel is active.

Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=5
#9 lore raw

Re: [PATCH v2 5/5] arm64: dts: freescale: Add support for bytesatwork i.MX93

In reply to Frank Obergfell

Hi Frank,

Some comments inline.

Quoted 3 lines · Frank Obergfell

Add support for the bytesatwork i.MX93 byteENGINE OSM module placed on the byteDEVKIT.

[...]

MAINTAINERS S: Maintained · line 5885

Quoted 6 lines
MAINTAINERS +6 -0
+BYTESATWORK MODULES AND BOARDS
+M:	Alexander Forsch <[email protected]>
+M:	Frank Obergfell <[email protected]>
+S:	Maintained
+F:	arch/arm64/boot/dts/freescale/imx93-bytedevkit.dts
+F:	arch/arm64/boot/dts/freescale/imx93-byteengine.dtsi

Care to add imx list here?

L:» [email protected]

[..]

arch/arm64/boot/dts/freescale/imx93-byteengine.dtsi line 28

Quoted 5 lines
arch/arm64/boot/dts/freescale/imx93-byteengine.dtsi new file +5 -0
+
+&mu1 {
+	status = "okay";
+};
+

Should we enable the nodes in imx93-bytedevkit.dts ? Nodes are rarely enabled in dtsi files.

Think if you add another revision of the board with just one MU unit.

Another idea would be to completely remove imx93-bytedevkit.dtsi and directly include imx93.dtsi in imx93-bytedevkit.dts

A message that is not in the archive (sent off-list or not yet received): [email protected]

#11 lore raw

Re: [PATCH v2 5/5] arm64: dts: freescale: Add support for bytesatwork i.MX93

Quoted 9 lines · Frank Obergfell

Hi Daniel,

Thanks for the review!

Quoted 2 lines

Care to add imx list here?
L: [email protected]

Will add this in v3.

Quoted 7 lines
Quoted 4 lines

Should we enable the nodes in imx93-bytedevkit.dts ? Nodes are rarely enabled in dtsi files.

Think if you add another revision of the board with just one MU unit.

Agreed. I will move &mu1 and &mu2 activation from imx93-byteengine.dtsi into imx93-bytedevkit.dts.

Keep in mind that not only mu1 and mu2 activation should be done in the .dts file. I used them just as an example. There lots of other instances in the same situation in the imx93-byteengine.dtsi file.

Also, please use reply-all when answering.

#12 lore raw

Re: [PATCH v2 5/5] arm64: dts: freescale: Add support for bytesatwork i.MX93

Hi Daniel,

Understood, thanks for pointing that out (and apologies for the missing CCs on my previous reply).

I will remove status = "okay" from all controller nodes in imx93-byteengine.dtsi (&mu1, &mu2, &wdog3, &usdhc1, &lpi2c2) and enable them explicitly in imx93-bytedevkit.dts instead.

This will be reflected in the upcoming v3 series.

Best regards,
Frank

Quoted 20 lines · Daniel Baluta
Quoted 6 lines · Frank Obergfell

Hi Daniel,

Thanks for the review!

Quoted 2 lines

Care to add imx list here?
L:[email protected]

Quoted 8 lines

Will add this in v3.

Quoted 4 lines

Should we enable the nodes in imx93-bytedevkit.dts ? Nodes are rarely enabled in dtsi files.

Think if you add another revision of the board with just one MU unit.

Agreed. I will move &mu1 and &mu2 activation from imx93-byteengine.dtsi into imx93-bytedevkit.dts.

Keep in mind that not only mu1 and mu2 activation should be done in the .dts file. I used them just as an example. There lots of other instances in the same situation in the imx93-byteengine.dtsi file.

Also, please use reply-all when answering.