Add DT-overlay for the DM-M10R800-V3S display module when connected to the ROC-RK3576-PC board. It contains a bestar,bsd1218-a101kl68 display and a Goodix GT911 touchscreen in one enclosed case.
Signed-off-by: Heiko Stuebner <he...@sntech.de> --- arch/arm64/boot/dts/rockchip/Makefile | 5 + .../rk3576-roc-pc-dm-m10r800-v3s.dtso | 134 ++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3576-roc-pc-dm-m10r800-v3s.dtso diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 4bf84622db47..f320dd2b5f6f 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -145,6 +145,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-wolfvision-pf5-io-expander.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-evb1-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-roc-pc.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-roc-pc-dm-m10r800-v3s.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-rock-4d.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3582-radxa-e52c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-armsom-sige7.dtb @@ -225,6 +226,10 @@ rk3568-wolfvision-pf5-vz-2-uhd-dtbs := rk3568-wolfvision-pf5.dtb \ rk3568-wolfvision-pf5-display-vz.dtbo \ rk3568-wolfvision-pf5-io-expander.dtbo +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-roc-pc-dm-m10r800-v3s.dtb +rk3576-roc-pc-dm-m10r800-v3s-dtbs := rk3576-roc-pc.dtb \ + rk3576-roc-pc-dm-m10r800-v3s.dtbo + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-wifi.dtb rk3588-edgeble-neu6a-wifi-dtbs := rk3588-edgeble-neu6a-io.dtb \ rk3588-edgeble-neu6a-wifi.dtbo diff --git a/arch/arm64/boot/dts/rockchip/rk3576-roc-pc-dm-m10r800-v3s.dtso b/arch/arm64/boot/dts/rockchip/rk3576-roc-pc-dm-m10r800-v3s.dtso new file mode 100644 index 000000000000..2817cc585c3a --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3576-roc-pc-dm-m10r800-v3s.dtso @@ -0,0 +1,134 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2025 Heiko Stuebner <he...@sntech.de> + * + * DM-M10R800-V3S display module for ROC-RK3576-PC + * https://en.t-firefly.com/doc/download/303.html + * + * DT-overlay for the DM-M10R800-V3S display module when connected to a + * ROC-RK3576-PC board. It contains a bestar,bsd1218-a101kl68 display + * and a Goodix GT911 touchscreen in one enclosed case. + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/pinctrl/rockchip.h> +#include <dt-bindings/soc/rockchip,vop2.h> + +&{/} { + backlight: backlight { + compatible = "pwm-backlight"; + enable-gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&mipi_bl_en>; + pwms = <&pwm1_6ch_1 0 50000 1>; + }; + + vcc_tp: regulator-vcc-tp { + compatible = "regulator-fixed"; + regulator-name = "vcc-tp"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + vin-supply = <&vcc5v0_device_s0>; + }; +}; + +&dsi { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + panel@0 { + compatible = "bestar,bsd1218-a101kl68", "ilitek,ili9881c"; + reg = <0>; + backlight = <&backlight>; + power-supply = <&vcc3v3_lcd_s0>; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_reset_l>; + reset-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_LOW>; + + port { + mipi_panel_in: endpoint { + remote-endpoint = <&dsi_out_panel>; + }; + }; + }; +}; + +&dsi_in { + dsi_in_vp1: endpoint { + remote-endpoint = <&vp1_out_dsi>; + }; +}; + +&dsi_out { + dsi_out_panel: endpoint { + remote-endpoint = <&mipi_panel_in>; + }; +}; + +&i2c0 { + /* GT911 is limited to 400KHz */ + clock-frequency = <400000>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c0m1_xfer>; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + touchscreen@14 { + compatible = "goodix,gt911"; + reg = <0x14>; + interrupt-parent = <&gpio0>; + interrupts = <RK_PC6 IRQ_TYPE_LEVEL_LOW>; + irq-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&touch_int>, <&touch_reset>; + reset-gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; + AVDD28-supply = <&vcc_tp>; + VDDIO-supply = <&vcc3v3_lcd_s0>; + }; +}; + +&mipidcphy { + status = "okay"; +}; + +&pinctrl { + dsi { + lcd_reset_l: lcd-reset-l { + rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + mipi_bl_en: mipi-bl-en { + rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + touch { + touch_int: touch-int { + rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + touch_reset: touch-reset { + rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&pwm1_6ch_1 { + status = "okay"; +}; + +&vp1 { + #address-cells = <1>; + #size-cells = <0>; + + vp1_out_dsi: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { + reg = <ROCKCHIP_VOP2_EP_MIPI0>; + remote-endpoint = <&dsi_in_vp1>; + }; +}; -- 2.47.2