]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: rockchip: Add overlay for FriendlyElec HD702E
authorRobin Murphy <robin.murphy@arm.com>
Fri, 23 Jan 2026 19:22:23 +0000 (19:22 +0000)
committerHeiko Stuebner <heiko@sntech.de>
Sun, 22 Feb 2026 22:28:50 +0000 (23:28 +0100)
Add an overlay to support FriendlyElec's HD702E 7" eDP LCD touchscreen
module for the NanoPC-T4 board:

https://www.friendlyelec.com/index.php?route=product/product&path=81&product_id=230

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://patch.msgid.link/2bbc2e62ae9b54ac7594355001ce2b15885d3493.1769191673.git.robin.murphy@arm.com
[changed edp-panel auxbus node to panel to conform to the binding]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/Makefile
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso [new file with mode: 0644]

index 89c168a651b625e59322d48b64c183e29d73d45e..a9fc5135f1b81ac59becc95bb36882b1151abba7 100644 (file)
@@ -63,6 +63,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-khadas-edge-v.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-kobol-helios64.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-leez-p710.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4-hd702e.dtbo
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4b.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
@@ -249,6 +250,10 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou-haikou-video-demo.dtb
 px30-ringneck-haikou-haikou-video-demo-dtbs := px30-ringneck-haikou.dtb \
        px30-ringneck-haikou-video-demo.dtbo
 
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4-hd702e.dtb
+rk3399-nanopc-t4-hd702e-dtbs := rk3399-nanopc-t4.dtb \
+       rk3399-nanopc-t4-hd702e.dtbo
+
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-lion-haikou-haikou-video-demo.dtb
 rk3368-lion-haikou-haikou-video-demo-dtbs := rk3368-lion-haikou.dtb \
        rk3368-lion-haikou-video-demo.dtbo
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso b/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso
new file mode 100644 (file)
index 0000000..766925b
--- /dev/null
@@ -0,0 +1,96 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * FriendlyElec HD702E LCD on NanoPC-T4 board
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+
+&{/} {
+       vdd_3_3v: regulator-vdd_3_3v {
+               compatible = "regulator-fixed";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-name = "vdd_3.3v";
+               vin-supply = <&vcc12v0_sys>;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm0 0 25000 0>;
+               enable-gpios = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>;
+               brightness-levels = <0 255>;
+               default-brightness-level = <200>;
+               num-interpolated-steps = <255>;
+               pinctrl-0 = <&bl_en>;
+               pinctrl-names = "default";
+       };
+};
+
+&edp {
+       force-hpd;
+       status = "okay";
+
+       aux-bus {
+               panel {
+                       compatible = "friendlyarm,hd702e";
+                       backlight = <&backlight>;
+                       no-hpd;
+                       power-supply = <&vdd_3_3v>;
+
+                       port {
+                               panel_in_edp: endpoint {
+                                       remote-endpoint = <&edp_out_panel>;
+                               };
+                       };
+               };
+       };
+};
+
+&edp_out {
+       edp_out_panel: endpoint {
+               remote-endpoint = <&panel_in_edp>;
+       };
+};
+
+&i2c4 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       touchscreen@5d {
+               compatible = "goodix,gt9271";
+               reg = <0x5d>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <RK_PC4 IRQ_TYPE_EDGE_FALLING>;
+               irq-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
+               reset-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&touch_int &touch_rst>;
+               pinctrl-names = "default";
+               AVDD28-supply = <&vdd_3_3v>;
+               VDDIO-supply = <&vdd_3_3v>;
+       };
+};
+
+&pinctrl {
+       backlight {
+               bl_en: bl-en {
+                       rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       touchscreen {
+               touch_int: touch-int {
+                       rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               touch_rst: touch-rst {
+                       rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+};