@@ -1,7 +1,13 @@
# SPDX-License-Identifier: GPL-2.0-only
+stm32mp257d-engicam-microgea-rmm-overlay-rk050hr345-ct106a-dtbs := \
+ stm32mp257d-engicam-microgea-rmm.dtb \
+ stm32mp257d-engicam-microgea-rmm-overlay-rk050hr345-ct106a.dtbo
+
dtb-$(CONFIG_ARCH_STM32) += \
stm32mp215f-dk.dtb \
stm32mp235f-dk.dtb \
stm32mp257d-engicam-microgea-rmm.dtb \
+ stm32mp257d-engicam-microgea-rmm-overlay-rk050hr345-ct106a.dtb \
+ stm32mp257d-engicam-microgea-rmm-overlay-rk050hr345-ct106a.dtbo \
stm32mp257f-dk.dtb \
stm32mp257f-ev1.dtb
new file mode 100644
@@ -0,0 +1,68 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2026 Amarula Solutions, Dario Binacchi <dario.binacchi@amarulasolutions.com>
+ * Copyright (C) 2026 Engicam srl
+ *
+ * Rocktech RK050HR345-CT106A 5" 480x854 RGB panel with EDT FT5306
+ * I2C touchscreen controller.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+&i2c1 {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&i2c1_pins_a>;
+ pinctrl-1 = <&i2c1_sleep_pins_a>;
+ i2c-scl-rising-time-ns = <185>;
+ i2c-scl-falling-time-ns = <20>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ touchscreen@38 {
+ compatible = "edt,edt-ft5306";
+ reg = <0x38>;
+ interrupt-parent = <&gpiob>;
+ interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
+ reset-gpios = <&gpiod 1 GPIO_ACTIVE_LOW>;
+ touchscreen-size-x = <480>;
+ touchscreen-size-y = <854>;
+ };
+};
+
+<dc {
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <<dc_pins_a>;
+ pinctrl-1 = <<dc_sleep_pins_a>;
+ status = "okay";
+
+ port {
+ ltdc_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+};
+
+&spi1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ display@0 {
+ compatible = "rocktech,rk050hr345-ct106a", "ilitek,ili9806e";
+ reg = <0>;
+ vdd-supply = <®_3v3>;
+ spi-max-frequency = <10000000>;
+ reset-gpios = <&gpiob 6 GPIO_ACTIVE_LOW>;
+ backlight = <&backlight>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <<dc_out>;
+ };
+ };
+ };
+};
@@ -116,25 +116,9 @@ &arm_wdt {
};
&i2c1 {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&i2c1_pins_a>;
- pinctrl-1 = <&i2c1_sleep_pins_a>;
- i2c-scl-rising-time-ns = <185>;
- i2c-scl-falling-time-ns = <20>;
- status = "okay";
- /* spare dmas for other usage */
+ /* dt overlays don't support /delete-property/ */
/delete-property/dmas;
/delete-property/dma-names;
-
- touchscreen@38 {
- compatible = "edt,edt-ft5306";
- reg = <0x38>;
- interrupt-parent = <&gpiob>;
- interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
- reset-gpios = <&gpiod 1 GPIO_ACTIVE_LOW>;
- touchscreen-size-x = <480>;
- touchscreen-size-y = <854>;
- };
};
&i2c2 {
@@ -179,19 +163,6 @@ sgtl5000_rx_endpoint: endpoint@1 {
};
};
-<dc {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <<dc_pins_a>;
- pinctrl-1 = <<dc_sleep_pins_a>;
- status = "okay";
-
- port {
- ltdc_out: endpoint {
- remote-endpoint = <&panel_in>;
- };
- };
-};
-
&m_can1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&m_can1_pins_a>;
@@ -259,21 +230,6 @@ &spi1 {
#size-cells = <0>;
cs-gpios = <&gpioh 8 GPIO_ACTIVE_LOW>, <&gpioh 3 GPIO_ACTIVE_HIGH>;
status = "okay";
-
- display: display@0 {
- compatible = "rocktech,rk050hr345-ct106a", "ilitek,ili9806e";
- reg = <0>;
- vdd-supply = <®_3v3>;
- spi-max-frequency = <10000000>;
- reset-gpios = <&gpiob 6 GPIO_ACTIVE_LOW>;
- backlight = <&backlight>;
-
- port {
- panel_in: endpoint {
- remote-endpoint = <<dc_out>;
- };
- };
- };
};
&timers2 {
The board is fitted with different displays depending on the product variant. Keep in the board dts only what is common to all variants and move the RK050HR345-CT106A RGB panel and its touchscreen to an overlay. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> --- Changes in v2: - Keep the full cs-gpios in the board dts, the overlay only adds the panel node. Suggested by Sashiko. arch/arm64/boot/dts/st/Makefile | 6 ++ ...icrogea-rmm-overlay-rk050hr345-ct106a.dtso | 68 +++++++++++++++++++ .../st/stm32mp257d-engicam-microgea-rmm.dts | 46 +------------ 3 files changed, 75 insertions(+), 45 deletions(-) create mode 100644 arch/arm64/boot/dts/st/stm32mp257d-engicam-microgea-rmm-overlay-rk050hr345-ct106a.dtso