* [PATCH 0/4] arm64: dts: imx8mm-kontron: Add HDMI and LVDS display support
@ 2024-08-06 13:32 Frieder Schrempf
2024-08-06 13:33 ` [PATCH 3/4] arm64: dts: imx8mm-kontron: Add support for display bridges on BL i.MX8MM Frieder Schrempf
2024-08-06 13:33 ` [PATCH 4/4] arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS support Frieder Schrempf
0 siblings, 2 replies; 7+ messages in thread
From: Frieder Schrempf @ 2024-08-06 13:32 UTC (permalink / raw)
To: Conor Dooley, Daniel Vetter, David Airlie, devicetree, dri-devel,
imx, Krzysztof Kozlowski, Lad Prabhakar, Laurent Pinchart,
linux-arm-kernel, linux-kernel, Maarten Lankhorst, Maxime Ripard,
Neil Armstrong, Rob Herring, Sascha Hauer, Shawn Guo,
Thierry Reding, Thomas Zimmermann
Cc: Frieder Schrempf, Alexander Stein, Chris Morgan, Conor Dooley,
Fabio Estevam, Francesco Dolcini, Gregor Herburger,
Heiko Stuebner, Hugo Villeneuve, Jessica Zhang,
Joao Paulo Goncalves, Krzysztof Kozlowski, Linus Walleij,
Parthiban Nallathambi, Pengutronix Kernel Team,
Rafał Miłecki, Raphael Gallais-Pou
From: Frieder Schrempf <frieder.schrempf@kontron.de>
This add support for the display bridges (DSI->LVDS and DSI->HDMI)
on the BL i.MX8MM and the 7" LVDS panel in a separate overlay.
Only one of the interfaces (HDMI or LVDS) is supported at the same
time. Enabling the LVDS overlay will disable the HDMI interface.
* Patch 1 and 2: Add the necessary binding changes
* Patch 3: Extend the BL devicetree
* Patch 4: Add the LVDS panel overlay
Frieder Schrempf (4):
dt-bindings: vendor-prefixes: Add Jenson Display
dt-bindings: display: panel-lvds: Add compatible for Jenson
BL-JT60050-01A
arm64: dts: imx8mm-kontron: Add support for display bridges on BL
i.MX8MM
arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS
support
.../bindings/display/panel/panel-lvds.yaml | 2 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/freescale/Makefile | 4 +
.../boot/dts/freescale/imx8mm-kontron-bl.dts | 146 ++++++++++++
.../boot/dts/freescale/imx8mm-kontron-dl.dtso | 210 ++++++++++++++++++
5 files changed, 364 insertions(+)
create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
--
2.45.2
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 3/4] arm64: dts: imx8mm-kontron: Add support for display bridges on BL i.MX8MM
2024-08-06 13:32 [PATCH 0/4] arm64: dts: imx8mm-kontron: Add HDMI and LVDS display support Frieder Schrempf
@ 2024-08-06 13:33 ` Frieder Schrempf
2024-08-28 2:29 ` Shawn Guo
2024-08-06 13:33 ` [PATCH 4/4] arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS support Frieder Schrempf
1 sibling, 1 reply; 7+ messages in thread
From: Frieder Schrempf @ 2024-08-06 13:33 UTC (permalink / raw)
To: Conor Dooley, devicetree, imx, Krzysztof Kozlowski,
linux-arm-kernel, linux-kernel, Rob Herring, Sascha Hauer,
Shawn Guo
Cc: Frieder Schrempf, Fabio Estevam, Pengutronix Kernel Team
From: Frieder Schrempf <frieder.schrempf@kontron.de>
The Kontron Electronics BL i.MX8MM has oboard disply bridges for
DSI->HDMI and DSI->LVDS conversion. The DSI interface is muxed by
a GPIO-controlled switch to one of these two bridges.
By default the HDMI bridge is enabled. The LVDS bridge can be
selected by loading an additional (panel-specific) overlay.
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
.../boot/dts/freescale/imx8mm-kontron-bl.dts | 146 ++++++++++++++++++
1 file changed, 146 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
index aab8e24216501..2b344206dfd16 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
@@ -25,6 +25,17 @@ osc_can: clock-osc-can {
clock-output-names = "osc-can";
};
+ hdmi-out {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_in_conn: endpoint {
+ remote-endpoint = <&bridge_out_conn>;
+ };
+ };
+ };
+
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
@@ -132,6 +143,90 @@ ethphy: ethernet-phy@0 {
};
};
+&gpio4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio4>;
+
+ dsi_mux_sel_hdmi: dsi-mux-sel-hdmi-hog {
+ gpio-hog;
+ gpios = <14 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "dsi-mux-sel";
+ };
+
+ dsi_mux_sel_lvds: dsi-mux-sel-lvds-hog {
+ gpio-hog;
+ gpios = <14 GPIO_ACTIVE_HIGH>;
+ output-low;
+ line-name = "dsi-mux-sel";
+ status = "disabled";
+ };
+
+ dsi-mux-oe-hog {
+ gpio-hog;
+ gpios = <15 GPIO_ACTIVE_LOW>;
+ output-high;
+ line-name = "dsi-mux-oe";
+ };
+};
+
+&i2c3 {
+ clock-frequency = <400000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c3>;
+ status = "okay";
+
+ hdmi: hdmi@39 {
+ compatible = "adi,adv7535";
+ reg = <0x39>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_adv7535>;
+
+ interrupt-parent = <&gpio4>;
+ interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+
+ adi,dsi-lanes = <4>;
+
+ a2vdd-supply = <®_vdd_1v8>;
+ avdd-supply = <®_vdd_1v8>;
+ dvdd-supply = <®_vdd_1v8>;
+ pvdd-supply = <®_vdd_1v8>;
+ v1p2-supply = <®_vdd_1v8>;
+ v3p3-supply = <®_vdd_3v3>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ bridge_in_dsi_hdmi: endpoint {
+ remote-endpoint = <&dsi_out_bridge>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ bridge_out_conn: endpoint {
+ remote-endpoint = <&hdmi_in_conn>;
+ };
+ };
+ };
+ };
+
+ lvds: bridge@2c {
+ compatible = "ti,sn65dsi84";
+ reg = <0x2c>;
+ enable-gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sn65dsi84>;
+ status = "disabled";
+ };
+};
+
&i2c4 {
clock-frequency = <100000>;
pinctrl-names = "default";
@@ -144,6 +239,30 @@ rx8900: rtc@32 {
};
};
+&lcdif {
+ status = "okay";
+};
+
+&mipi_dsi {
+ samsung,esc-clock-frequency = <54000000>;
+ /*
+ * Let the driver calculate an appropriate clock rate based on the pixel
+ * clock instead of using the fixed value from imx8mm.dtsi.
+ */
+ /delete-property/ samsung,pll-clock-frequency;
+ status = "okay";
+
+ ports {
+ port@1 {
+ reg = <1>;
+
+ dsi_out_bridge: endpoint {
+ remote-endpoint = <&bridge_in_dsi_hdmi>;
+ };
+ };
+ };
+};
+
&pwm2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm2>;
@@ -207,6 +326,12 @@ &iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio>;
+ pinctrl_adv7535: adv7535grp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x19
+ >;
+ };
+
pinctrl_can: cangrp {
fsl,pins = <
MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x19
@@ -277,6 +402,20 @@ MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x19
>;
};
+ pinctrl_gpio4: gpio4grp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x19
+ MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x19
+ >;
+ };
+
+ pinctrl_i2c3: i2c3grp {
+ fsl,pins = <
+ MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x40000083
+ MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x40000083
+ >;
+ };
+
pinctrl_i2c4: i2c4grp {
fsl,pins = <
MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL 0x40000083
@@ -290,6 +429,13 @@ MX8MM_IOMUXC_SPDIF_RX_PWM2_OUT 0x19
>;
};
+ pinctrl_sn65dsi84: sn65dsi84grp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI2_TXD0_GPIO4_IO26 0x19
+ MX8MM_IOMUXC_SD2_WP_GPIO2_IO20 0x19
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX8MM_IOMUXC_SAI2_RXC_UART1_DCE_RX 0x0
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 3/4] arm64: dts: imx8mm-kontron: Add support for display bridges on BL i.MX8MM
2024-08-06 13:33 ` [PATCH 3/4] arm64: dts: imx8mm-kontron: Add support for display bridges on BL i.MX8MM Frieder Schrempf
@ 2024-08-28 2:29 ` Shawn Guo
0 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2024-08-28 2:29 UTC (permalink / raw)
To: Frieder Schrempf
Cc: Conor Dooley, devicetree, imx, Krzysztof Kozlowski,
linux-arm-kernel, linux-kernel, Rob Herring, Sascha Hauer,
Shawn Guo, Frieder Schrempf, Fabio Estevam,
Pengutronix Kernel Team
On Tue, Aug 06, 2024 at 03:33:01PM +0200, Frieder Schrempf wrote:
> From: Frieder Schrempf <frieder.schrempf@kontron.de>
>
> The Kontron Electronics BL i.MX8MM has oboard disply bridges for
> DSI->HDMI and DSI->LVDS conversion. The DSI interface is muxed by
> a GPIO-controlled switch to one of these two bridges.
>
> By default the HDMI bridge is enabled. The LVDS bridge can be
> selected by loading an additional (panel-specific) overlay.
>
> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
> ---
> .../boot/dts/freescale/imx8mm-kontron-bl.dts | 146 ++++++++++++++++++
> 1 file changed, 146 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
> index aab8e24216501..2b344206dfd16 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
> @@ -25,6 +25,17 @@ osc_can: clock-osc-can {
> clock-output-names = "osc-can";
> };
>
> + hdmi-out {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_in_conn: endpoint {
> + remote-endpoint = <&bridge_out_conn>;
> + };
> + };
> + };
> +
> leds {
> compatible = "gpio-leds";
> pinctrl-names = "default";
> @@ -132,6 +143,90 @@ ethphy: ethernet-phy@0 {
> };
> };
>
> +&gpio4 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_gpio4>;
> +
> + dsi_mux_sel_hdmi: dsi-mux-sel-hdmi-hog {
> + gpio-hog;
> + gpios = <14 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "dsi-mux-sel";
> + };
> +
> + dsi_mux_sel_lvds: dsi-mux-sel-lvds-hog {
> + gpio-hog;
> + gpios = <14 GPIO_ACTIVE_HIGH>;
> + output-low;
> + line-name = "dsi-mux-sel";
> + status = "disabled";
> + };
> +
> + dsi-mux-oe-hog {
> + gpio-hog;
> + gpios = <15 GPIO_ACTIVE_LOW>;
> + output-high;
> + line-name = "dsi-mux-oe";
> + };
> +};
> +
> +&i2c3 {
> + clock-frequency = <400000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c3>;
> + status = "okay";
> +
> + hdmi: hdmi@39 {
> + compatible = "adi,adv7535";
> + reg = <0x39>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_adv7535>;
> +
> + interrupt-parent = <&gpio4>;
> + interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
> +
> + adi,dsi-lanes = <4>;
> +
Can we drop these newlines in the middle of property list?
> + a2vdd-supply = <®_vdd_1v8>;
> + avdd-supply = <®_vdd_1v8>;
> + dvdd-supply = <®_vdd_1v8>;
> + pvdd-supply = <®_vdd_1v8>;
> + v1p2-supply = <®_vdd_1v8>;
> + v3p3-supply = <®_vdd_3v3>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + bridge_in_dsi_hdmi: endpoint {
> + remote-endpoint = <&dsi_out_bridge>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + bridge_out_conn: endpoint {
> + remote-endpoint = <&hdmi_in_conn>;
> + };
> + };
> + };
> + };
> +
> + lvds: bridge@2c {
Sort I2C devices in unit-address.
Shawn
> + compatible = "ti,sn65dsi84";
> + reg = <0x2c>;
> + enable-gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_sn65dsi84>;
> + status = "disabled";
> + };
> +};
> +
> &i2c4 {
> clock-frequency = <100000>;
> pinctrl-names = "default";
> @@ -144,6 +239,30 @@ rx8900: rtc@32 {
> };
> };
>
> +&lcdif {
> + status = "okay";
> +};
> +
> +&mipi_dsi {
> + samsung,esc-clock-frequency = <54000000>;
> + /*
> + * Let the driver calculate an appropriate clock rate based on the pixel
> + * clock instead of using the fixed value from imx8mm.dtsi.
> + */
> + /delete-property/ samsung,pll-clock-frequency;
> + status = "okay";
> +
> + ports {
> + port@1 {
> + reg = <1>;
> +
> + dsi_out_bridge: endpoint {
> + remote-endpoint = <&bridge_in_dsi_hdmi>;
> + };
> + };
> + };
> +};
> +
> &pwm2 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_pwm2>;
> @@ -207,6 +326,12 @@ &iomuxc {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_gpio>;
>
> + pinctrl_adv7535: adv7535grp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x19
> + >;
> + };
> +
> pinctrl_can: cangrp {
> fsl,pins = <
> MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x19
> @@ -277,6 +402,20 @@ MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x19
> >;
> };
>
> + pinctrl_gpio4: gpio4grp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x19
> + MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x19
> + >;
> + };
> +
> + pinctrl_i2c3: i2c3grp {
> + fsl,pins = <
> + MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x40000083
> + MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x40000083
> + >;
> + };
> +
> pinctrl_i2c4: i2c4grp {
> fsl,pins = <
> MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL 0x40000083
> @@ -290,6 +429,13 @@ MX8MM_IOMUXC_SPDIF_RX_PWM2_OUT 0x19
> >;
> };
>
> + pinctrl_sn65dsi84: sn65dsi84grp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI2_TXD0_GPIO4_IO26 0x19
> + MX8MM_IOMUXC_SD2_WP_GPIO2_IO20 0x19
> + >;
> + };
> +
> pinctrl_uart1: uart1grp {
> fsl,pins = <
> MX8MM_IOMUXC_SAI2_RXC_UART1_DCE_RX 0x0
> --
> 2.45.2
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/4] arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS support
2024-08-06 13:32 [PATCH 0/4] arm64: dts: imx8mm-kontron: Add HDMI and LVDS display support Frieder Schrempf
2024-08-06 13:33 ` [PATCH 3/4] arm64: dts: imx8mm-kontron: Add support for display bridges on BL i.MX8MM Frieder Schrempf
@ 2024-08-06 13:33 ` Frieder Schrempf
2024-08-28 2:56 ` Shawn Guo
1 sibling, 1 reply; 7+ messages in thread
From: Frieder Schrempf @ 2024-08-06 13:33 UTC (permalink / raw)
To: Conor Dooley, devicetree, imx, Krzysztof Kozlowski,
linux-arm-kernel, linux-kernel, Rob Herring, Sascha Hauer,
Shawn Guo
Cc: Frieder Schrempf, Alexander Stein, Fabio Estevam,
Francesco Dolcini, Gregor Herburger, Hugo Villeneuve,
Joao Paulo Goncalves, Mathieu Othacehe, Parthiban Nallathambi,
Pengutronix Kernel Team
From: Frieder Schrempf <frieder.schrempf@kontron.de>
The Kontron Electronics DL i.MX8MM consists of the BL i.MX8MM board
and a 7" LVDS panel. Provide an overlay that enables the panel.
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
---
Note: This currently throws the following warnings:
Warning (graph_port): /fragment@3: graph port node name should be 'port'
Warning (graph_endpoint): /fragment@3/__overlay__: graph endpoint node name should be 'endpoint'
Warning (graph_endpoint): /fragment@3/__overlay__: graph connection to node '/fragment@7/__overlay__/ports/port@0/endpoint' is not bidirectional
There is the following commit in DTC that relaxes these checks and
will eventually resolve these warnings:
84b056a89d ("checks: relax graph checks for overlays")
https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=84b056a89d3c5b6cf6c5eeeafd4c4b14d6333aa9
---
arch/arm64/boot/dts/freescale/Makefile | 4 +
.../boot/dts/freescale/imx8mm-kontron-dl.dtso | 210 ++++++++++++++++++
2 files changed, 214 insertions(+)
create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index f04c22b7de72e..d8af069139920 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -244,6 +244,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxla.dtb
dtb-$(CONFIG_ARCH_MXC) += imx93-var-som-symphony.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
+imx8mm-kontron-dl-dtbs := imx8mm-kontron-bl.dtb imx8mm-kontron-dl.dtbo
+
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-dl.dtb
+
imx8mm-venice-gw72xx-0x-imx219-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-imx219.dtbo
imx8mm-venice-gw72xx-0x-rpidsi-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rpidsi.dtbo
imx8mm-venice-gw72xx-0x-rs232-rts-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rs232-rts.dtbo
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso b/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
new file mode 100644
index 0000000000000..b2d593d700e2d
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
@@ -0,0 +1,210 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2023 Kontron Electronics GmbH
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "imx8mm-pinfunc.h"
+
+&{/} {
+ compatible = "kontron,imx8mm-bl", "kontron,imx8mm-sl", "fsl,imx8mm";
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm1 0 50000 0>;
+ brightness-levels = <0 100>;
+ num-interpolated-steps = <100>;
+ default-brightness-level = <100>;
+ };
+
+ panel {
+ compatible = "jenson,bl-jt60050-01a", "panel-lvds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_panel>;
+ backlight = <&backlight>;
+ data-mapping = "vesa-24";
+ enable-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
+ height-mm = <86>;
+ width-mm = <154>;
+
+ panel-timing {
+ clock-frequency = <51200000>;
+ hactive = <1024>;
+ vactive = <600>;
+ hsync-len = <1>;
+ hfront-porch = <160>;
+ hback-porch = <160>;
+ vsync-len = <1>;
+ vfront-porch = <12>;
+ vback-porch = <23>;
+ };
+
+ port {
+ panel_out_bridge: endpoint {
+ remote-endpoint = <&bridge_out_panel>;
+ };
+ };
+ };
+};
+
+&dsi_mux_sel_hdmi {
+ status = "disabled";
+};
+
+&dsi_mux_sel_lvds {
+ status = "okay";
+};
+
+&dsi_out_bridge {
+ remote-endpoint = <&bridge_in_dsi_lvds>;
+};
+
+&gpio3 {
+ panel-rst-hog {
+ gpio-hog;
+ gpios = <20 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "panel-reset";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_panel_rst>;
+ };
+
+ panel-stby-hog {
+ gpio-hog;
+ gpios = <21 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "panel-standby";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_panel_stby>;
+ };
+
+ panel-hinv-hog {
+ gpio-hog;
+ gpios = <24 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "panel-horizontal-invert";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_panel_hinv>;
+ };
+
+ panel-vinv-hog {
+ gpio-hog;
+ gpios = <25 GPIO_ACTIVE_HIGH>;
+ output-low;
+ line-name = "panel-vertical-invert";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_panel_vinv>;
+ };
+};
+
+&hdmi {
+ status = "disabled";
+};
+
+&i2c2 {
+ clock-frequency = <400000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c2>;
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gt911@5d {
+ compatible = "goodix,gt928";
+ reg = <0x5d>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_touch>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <22 8>;
+ reset-gpios = <&gpio3 23 0>;
+ irq-gpios = <&gpio3 22 0>;
+ };
+};
+
+&lvds {
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ bridge_in_dsi_lvds: endpoint {
+ remote-endpoint = <&dsi_out_bridge>;
+ data-lanes = <1 2>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ bridge_out_panel: endpoint {
+ remote-endpoint = <&panel_out_bridge>;
+ };
+ };
+ };
+};
+
+&pwm1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm1>;
+ status = "okay";
+};
+
+&iomuxc {
+ pinctrl_i2c2: i2c2grp {
+ fsl,pins = <
+ MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000083
+ MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x40000083
+ >;
+ };
+
+ pinctrl_panel: panelgrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI5_RXFS_GPIO3_IO19 0x19
+ >;
+ };
+
+ pinctrl_panel_hinv: panelhinvgrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI5_RXD3_GPIO3_IO24 0x19
+ >;
+ };
+
+ pinctrl_panel_rst: panelrstgrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x19
+ >;
+ };
+
+ pinctrl_panel_stby: panelstbygrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI5_RXD0_GPIO3_IO21 0x19
+ >;
+ };
+
+ pinctrl_panel_vinv: panelvinvgrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x19
+ >;
+ };
+
+ pinctrl_pwm1: pwm1grp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SPDIF_EXT_CLK_PWM1_OUT 0x6
+ >;
+ };
+
+ pinctrl_touch: touchgrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x19
+ MX8MM_IOMUXC_SAI5_RXD2_GPIO3_IO23 0x19
+ >;
+ };
+};
--
2.45.2
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 4/4] arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS support
2024-08-06 13:33 ` [PATCH 4/4] arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS support Frieder Schrempf
@ 2024-08-28 2:56 ` Shawn Guo
2024-08-28 7:27 ` Frieder Schrempf
0 siblings, 1 reply; 7+ messages in thread
From: Shawn Guo @ 2024-08-28 2:56 UTC (permalink / raw)
To: Frieder Schrempf
Cc: Conor Dooley, devicetree, imx, Krzysztof Kozlowski,
linux-arm-kernel, linux-kernel, Rob Herring, Sascha Hauer,
Shawn Guo, Frieder Schrempf, Alexander Stein, Fabio Estevam,
Francesco Dolcini, Gregor Herburger, Hugo Villeneuve,
Joao Paulo Goncalves, Mathieu Othacehe, Parthiban Nallathambi,
Pengutronix Kernel Team
On Tue, Aug 06, 2024 at 03:33:02PM +0200, Frieder Schrempf wrote:
> From: Frieder Schrempf <frieder.schrempf@kontron.de>
>
> The Kontron Electronics DL i.MX8MM consists of the BL i.MX8MM board
> and a 7" LVDS panel. Provide an overlay that enables the panel.
>
> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
> ---
> Note: This currently throws the following warnings:
>
> Warning (graph_port): /fragment@3: graph port node name should be 'port'
> Warning (graph_endpoint): /fragment@3/__overlay__: graph endpoint node name should be 'endpoint'
> Warning (graph_endpoint): /fragment@3/__overlay__: graph connection to node '/fragment@7/__overlay__/ports/port@0/endpoint' is not bidirectional
>
> There is the following commit in DTC that relaxes these checks and
> will eventually resolve these warnings:
>
> 84b056a89d ("checks: relax graph checks for overlays")
>
> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=84b056a89d3c5b6cf6c5eeeafd4c4b14d6333aa9
> ---
> arch/arm64/boot/dts/freescale/Makefile | 4 +
> .../boot/dts/freescale/imx8mm-kontron-dl.dtso | 210 ++++++++++++++++++
> 2 files changed, 214 insertions(+)
> create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
>
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index f04c22b7de72e..d8af069139920 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -244,6 +244,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxla.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx93-var-som-symphony.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
>
> +imx8mm-kontron-dl-dtbs := imx8mm-kontron-bl.dtb imx8mm-kontron-dl.dtbo
> +
> +dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-dl.dtb
> +
> imx8mm-venice-gw72xx-0x-imx219-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-imx219.dtbo
> imx8mm-venice-gw72xx-0x-rpidsi-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rpidsi.dtbo
> imx8mm-venice-gw72xx-0x-rs232-rts-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rs232-rts.dtbo
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso b/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
> new file mode 100644
> index 0000000000000..b2d593d700e2d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
> @@ -0,0 +1,210 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2023 Kontron Electronics GmbH
2024?
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include "imx8mm-pinfunc.h"
> +
> +&{/} {
> + compatible = "kontron,imx8mm-bl", "kontron,imx8mm-sl", "fsl,imx8mm";
Not sure we need compatible in overlay.
> +
> + backlight: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm1 0 50000 0>;
> + brightness-levels = <0 100>;
> + num-interpolated-steps = <100>;
> + default-brightness-level = <100>;
> + };
> +
> + panel {
> + compatible = "jenson,bl-jt60050-01a", "panel-lvds";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_panel>;
> + backlight = <&backlight>;
> + data-mapping = "vesa-24";
> + enable-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
> + height-mm = <86>;
> + width-mm = <154>;
> +
> + panel-timing {
> + clock-frequency = <51200000>;
> + hactive = <1024>;
> + vactive = <600>;
> + hsync-len = <1>;
> + hfront-porch = <160>;
> + hback-porch = <160>;
> + vsync-len = <1>;
> + vfront-porch = <12>;
> + vback-porch = <23>;
> + };
> +
> + port {
> + panel_out_bridge: endpoint {
> + remote-endpoint = <&bridge_out_panel>;
> + };
> + };
> + };
> +};
> +
> +&dsi_mux_sel_hdmi {
> + status = "disabled";
> +};
> +
> +&dsi_mux_sel_lvds {
> + status = "okay";
> +};
> +
> +&dsi_out_bridge {
> + remote-endpoint = <&bridge_in_dsi_lvds>;
> +};
> +
> +&gpio3 {
> + panel-rst-hog {
> + gpio-hog;
> + gpios = <20 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "panel-reset";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_panel_rst>;
Are you sure the pinctrl in the gpio-hog node works? Grouping these
pins as pinctrl_gpio3 in parent node (like you did in patch #3) might be
a good idea.
> + };
> +
> + panel-stby-hog {
> + gpio-hog;
> + gpios = <21 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "panel-standby";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_panel_stby>;
> + };
> +
> + panel-hinv-hog {
> + gpio-hog;
> + gpios = <24 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "panel-horizontal-invert";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_panel_hinv>;
> + };
> +
> + panel-vinv-hog {
> + gpio-hog;
> + gpios = <25 GPIO_ACTIVE_HIGH>;
> + output-low;
> + line-name = "panel-vertical-invert";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_panel_vinv>;
> + };
> +};
> +
> +&hdmi {
> + status = "disabled";
> +};
> +
> +&i2c2 {
> + clock-frequency = <400000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c2>;
> + status = "okay";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
Can we move these two into property list above which ends with 'status'?
> +
> + gt911@5d {
Can we use a generic name for the device node?
Shawn
> + compatible = "goodix,gt928";
> + reg = <0x5d>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_touch>;
> + interrupt-parent = <&gpio3>;
> + interrupts = <22 8>;
> + reset-gpios = <&gpio3 23 0>;
> + irq-gpios = <&gpio3 22 0>;
> + };
> +};
> +
> +&lvds {
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + bridge_in_dsi_lvds: endpoint {
> + remote-endpoint = <&dsi_out_bridge>;
> + data-lanes = <1 2>;
> + };
> + };
> +
> + port@2 {
> + reg = <2>;
> +
> + bridge_out_panel: endpoint {
> + remote-endpoint = <&panel_out_bridge>;
> + };
> + };
> + };
> +};
> +
> +&pwm1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_pwm1>;
> + status = "okay";
> +};
> +
> +&iomuxc {
> + pinctrl_i2c2: i2c2grp {
> + fsl,pins = <
> + MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000083
> + MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x40000083
> + >;
> + };
> +
> + pinctrl_panel: panelgrp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI5_RXFS_GPIO3_IO19 0x19
> + >;
> + };
> +
> + pinctrl_panel_hinv: panelhinvgrp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI5_RXD3_GPIO3_IO24 0x19
> + >;
> + };
> +
> + pinctrl_panel_rst: panelrstgrp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x19
> + >;
> + };
> +
> + pinctrl_panel_stby: panelstbygrp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI5_RXD0_GPIO3_IO21 0x19
> + >;
> + };
> +
> + pinctrl_panel_vinv: panelvinvgrp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x19
> + >;
> + };
> +
> + pinctrl_pwm1: pwm1grp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SPDIF_EXT_CLK_PWM1_OUT 0x6
> + >;
> + };
> +
> + pinctrl_touch: touchgrp {
> + fsl,pins = <
> + MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x19
> + MX8MM_IOMUXC_SAI5_RXD2_GPIO3_IO23 0x19
> + >;
> + };
> +};
> --
> 2.45.2
>
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 4/4] arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS support
2024-08-28 2:56 ` Shawn Guo
@ 2024-08-28 7:27 ` Frieder Schrempf
2024-08-28 7:36 ` Frieder Schrempf
0 siblings, 1 reply; 7+ messages in thread
From: Frieder Schrempf @ 2024-08-28 7:27 UTC (permalink / raw)
To: Shawn Guo, Frieder Schrempf
Cc: Conor Dooley, devicetree, imx, Krzysztof Kozlowski,
linux-arm-kernel, linux-kernel, Rob Herring, Sascha Hauer,
Shawn Guo, Alexander Stein, Fabio Estevam, Francesco Dolcini,
Gregor Herburger, Hugo Villeneuve, Joao Paulo Goncalves,
Mathieu Othacehe, Parthiban Nallathambi, Pengutronix Kernel Team
Hi Shawn,
On 28.08.24 4:56 AM, Shawn Guo wrote:
> On Tue, Aug 06, 2024 at 03:33:02PM +0200, Frieder Schrempf wrote:
>> From: Frieder Schrempf <frieder.schrempf@kontron.de>
>>
>> The Kontron Electronics DL i.MX8MM consists of the BL i.MX8MM board
>> and a 7" LVDS panel. Provide an overlay that enables the panel.
>>
>> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
>> ---
>> Note: This currently throws the following warnings:
>>
>> Warning (graph_port): /fragment@3: graph port node name should be 'port'
>> Warning (graph_endpoint): /fragment@3/__overlay__: graph endpoint node name should be 'endpoint'
>> Warning (graph_endpoint): /fragment@3/__overlay__: graph connection to node '/fragment@7/__overlay__/ports/port@0/endpoint' is not bidirectional
>>
>> There is the following commit in DTC that relaxes these checks and
>> will eventually resolve these warnings:
>>
>> 84b056a89d ("checks: relax graph checks for overlays")
>>
>> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=84b056a89d3c5b6cf6c5eeeafd4c4b14d6333aa9
>> ---
>> arch/arm64/boot/dts/freescale/Makefile | 4 +
>> .../boot/dts/freescale/imx8mm-kontron-dl.dtso | 210 ++++++++++++++++++
>> 2 files changed, 214 insertions(+)
>> create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
>>
>> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
>> index f04c22b7de72e..d8af069139920 100644
>> --- a/arch/arm64/boot/dts/freescale/Makefile
>> +++ b/arch/arm64/boot/dts/freescale/Makefile
>> @@ -244,6 +244,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxla.dtb
>> dtb-$(CONFIG_ARCH_MXC) += imx93-var-som-symphony.dtb
>> dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
>>
>> +imx8mm-kontron-dl-dtbs := imx8mm-kontron-bl.dtb imx8mm-kontron-dl.dtbo
>> +
>> +dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-dl.dtb
>> +
>> imx8mm-venice-gw72xx-0x-imx219-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-imx219.dtbo
>> imx8mm-venice-gw72xx-0x-rpidsi-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rpidsi.dtbo
>> imx8mm-venice-gw72xx-0x-rs232-rts-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rs232-rts.dtbo
>> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso b/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
>> new file mode 100644
>> index 0000000000000..b2d593d700e2d
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
>> @@ -0,0 +1,210 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Copyright (C) 2023 Kontron Electronics GmbH
>
> 2024?
>
>> + */
>> +
>> +/dts-v1/;
>> +/plugin/;
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include "imx8mm-pinfunc.h"
>> +
>> +&{/} {
>> + compatible = "kontron,imx8mm-bl", "kontron,imx8mm-sl", "fsl,imx8mm";
>
> Not sure we need compatible in overlay.
I've seen discussions around this elsewhere. We don't need it, but it
seems a nice way to express which base DT this overlay is intended to be
applied to.
Anyway, I can remove the compatible for now. Your other comments will be
fixed in v2 as well.
Thanks
Frieder
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH 4/4] arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS support
2024-08-28 7:27 ` Frieder Schrempf
@ 2024-08-28 7:36 ` Frieder Schrempf
0 siblings, 0 replies; 7+ messages in thread
From: Frieder Schrempf @ 2024-08-28 7:36 UTC (permalink / raw)
To: Shawn Guo, Frieder Schrempf
Cc: Conor Dooley, devicetree, imx, Krzysztof Kozlowski,
linux-arm-kernel, linux-kernel, Rob Herring, Sascha Hauer,
Shawn Guo, Alexander Stein, Fabio Estevam, Francesco Dolcini,
Gregor Herburger, Hugo Villeneuve, Joao Paulo Goncalves,
Mathieu Othacehe, Parthiban Nallathambi, Pengutronix Kernel Team
On 28.08.24 9:27 AM, Frieder Schrempf wrote:
> Hi Shawn,
>
> On 28.08.24 4:56 AM, Shawn Guo wrote:
>> On Tue, Aug 06, 2024 at 03:33:02PM +0200, Frieder Schrempf wrote:
>>> From: Frieder Schrempf <frieder.schrempf@kontron.de>
>>>
>>> The Kontron Electronics DL i.MX8MM consists of the BL i.MX8MM board
>>> and a 7" LVDS panel. Provide an overlay that enables the panel.
>>>
>>> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
>>> ---
>>> Note: This currently throws the following warnings:
>>>
>>> Warning (graph_port): /fragment@3: graph port node name should be 'port'
>>> Warning (graph_endpoint): /fragment@3/__overlay__: graph endpoint node name should be 'endpoint'
>>> Warning (graph_endpoint): /fragment@3/__overlay__: graph connection to node '/fragment@7/__overlay__/ports/port@0/endpoint' is not bidirectional
>>>
>>> There is the following commit in DTC that relaxes these checks and
>>> will eventually resolve these warnings:
>>>
>>> 84b056a89d ("checks: relax graph checks for overlays")
>>>
>>> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=84b056a89d3c5b6cf6c5eeeafd4c4b14d6333aa9
>>> ---
>>> arch/arm64/boot/dts/freescale/Makefile | 4 +
>>> .../boot/dts/freescale/imx8mm-kontron-dl.dtso | 210 ++++++++++++++++++
>>> 2 files changed, 214 insertions(+)
>>> create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
>>>
>>> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
>>> index f04c22b7de72e..d8af069139920 100644
>>> --- a/arch/arm64/boot/dts/freescale/Makefile
>>> +++ b/arch/arm64/boot/dts/freescale/Makefile
>>> @@ -244,6 +244,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx93-tqma9352-mba93xxla.dtb
>>> dtb-$(CONFIG_ARCH_MXC) += imx93-var-som-symphony.dtb
>>> dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
>>>
>>> +imx8mm-kontron-dl-dtbs := imx8mm-kontron-bl.dtb imx8mm-kontron-dl.dtbo
>>> +
>>> +dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-dl.dtb
>>> +
>>> imx8mm-venice-gw72xx-0x-imx219-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-imx219.dtbo
>>> imx8mm-venice-gw72xx-0x-rpidsi-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rpidsi.dtbo
>>> imx8mm-venice-gw72xx-0x-rs232-rts-dtbs := imx8mm-venice-gw72xx-0x.dtb imx8mm-venice-gw72xx-0x-rs232-rts.dtbo
>>> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso b/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
>>> new file mode 100644
>>> index 0000000000000..b2d593d700e2d
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtso
>>> @@ -0,0 +1,210 @@
>>> +// SPDX-License-Identifier: GPL-2.0
>>> +/*
>>> + * Copyright (C) 2023 Kontron Electronics GmbH
>>
>> 2024?
>>
>>> + */
>>> +
>>> +/dts-v1/;
>>> +/plugin/;
>>> +
>>> +#include <dt-bindings/gpio/gpio.h>
>>> +#include "imx8mm-pinfunc.h"
>>> +
>>> +&{/} {
>>> + compatible = "kontron,imx8mm-bl", "kontron,imx8mm-sl", "fsl,imx8mm";
>>
>> Not sure we need compatible in overlay.
>
> I've seen discussions around this elsewhere. We don't need it, but it
> seems a nice way to express which base DT this overlay is intended to be
> applied to.
>
> Anyway, I can remove the compatible for now. Your other comments will be
> fixed in v2 as well.
For whatever reasons, the build for the combined DT + overlay works only
if the compatible is in place. Therefore I will keep it.
DTC_FLAGS=-@ make ARCH=arm64 CHECK_DTBS=y
CROSS_COMPILE=aarch64-linux-gnu- -j16 freescale/imx8mm-kontron-dl.dtb
DTOVLCH arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtb
Failed to apply 'arch/arm64/boot/dts/freescale/imx8mm-kontron-dl.dtbo':
FDT_ERR_NOTFOUND
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-08-28 7:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-06 13:32 [PATCH 0/4] arm64: dts: imx8mm-kontron: Add HDMI and LVDS display support Frieder Schrempf
2024-08-06 13:33 ` [PATCH 3/4] arm64: dts: imx8mm-kontron: Add support for display bridges on BL i.MX8MM Frieder Schrempf
2024-08-28 2:29 ` Shawn Guo
2024-08-06 13:33 ` [PATCH 4/4] arm64: dts: imx8mm-kontron: Add DL (Display-Line) overlay with LVDS support Frieder Schrempf
2024-08-28 2:56 ` Shawn Guo
2024-08-28 7:27 ` Frieder Schrempf
2024-08-28 7:36 ` Frieder Schrempf
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).