Properly support FriendlyElec HD702E
Subsystems (6)
v2 cover Properly support FriendlyElec HD702E
v1: https://lore.kernel.org/linux-rockchip/[email protected]/
Changelogs in the patches - fingers crossed this is good to go now, thanks all for the acks and reviews.
Cheers,
Robin.
Robin Murphy (4):
dt-bindings: display: panel: Move FriendlyElec HD702E to eDP drm/panel-edp: Move FriendlyELEC HD702E
arm64: dts: rockchip: Move RK3399 eDP pinctrl to boards
arm64: dts: rockchip: Add overlay for FriendlyElec HD702E
.../display/panel/panel-edp-legacy.yaml | 2 + .../bindings/display/panel/panel-simple.yaml | 2 - arch/arm64/boot/dts/rockchip/Makefile | 5 + arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 3 +- .../dts/rockchip/rk3399-gru-chromebook.dtsi | 2 + .../dts/rockchip/rk3399-nanopc-t4-hd702e.dtso | 96 +++++++++++++++++++ .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 2 - .../rockchip/rk3399-sapphire-excavator.dts | 2 + drivers/gpu/drm/panel/panel-edp.c | 26 +++++ drivers/gpu/drm/panel/panel-simple.c | 25 ----- 10 files changed, 134 insertions(+), 31 deletions(-) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso
Signature · 1 line
2.34.1
PATCH v2 1/4 dt-bindings: display: panel: Move FriendlyElec HD702E to eDP
The "E" alludes to the fact that FriendlyElec's HD702E is actually an eDP panel - move its compatible to the appropriate binding doc.
--- .../devicetree/bindings/display/panel/panel-edp-legacy.yaml | 2 ++ .../devicetree/bindings/display/panel/panel-simple.yaml | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/display/panel/panel-edp-legacy.yaml +2 -0
@@ -44,6 +44,8 @@ properties: - boe,nv133fhm-n62 # BOE NV140FHM-N49 14.0" FHD a-Si FT panel - boe,nv140fhmn49 + # FriendlyELEC HD702E 800x1280 LCD panel + - friendlyarm,hd702e # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel - innolux,n116bca-ea1 # Innolux Corporation 11.6" WXGA (1366x768) TFT LCD panel
Documentation/devicetree/bindings/display/panel/panel-simple.yaml +0 -2
@@ -144,8 +144,6 @@ properties: - foxlink,fl500wvr00-a0t # Frida FRD350H54004 3.5" QVGA TFT LCD panel - frida,frd350h54004 - # FriendlyELEC HD702E 800x1280 LCD panel - - friendlyarm,hd702e # GiantPlus GPG48273QS5 4.3" (480x272) WQVGA TFT LCD panel - giantplus,gpg48273qs5 # GiantPlus GPM940B0 3.0" QVGA TFT LCD panel
Signature · 1 line
2.34.1
Re: [PATCH v2 1/4] dt-bindings: display: panel: Move FriendlyElec HD702E to eDP
Hi,
Quoted 11 lines · Robin Murphy
The "E" alludes to the fact that FriendlyElec's HD702E is actually an eDP panel - move its compatible to the appropriate binding doc.
Cc <[email protected]>Signed-off-by Robin Murphy <[email protected]>--- .../devicetree/bindings/display/panel/panel-edp-legacy.yaml | 2 ++ .../devicetree/bindings/display/panel/panel-simple.yaml | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-)
Doug Anderson
reviewerRe: [PATCH v2 1/4] dt-bindings: display: panel: Move FriendlyElec HD702E to eDP
In reply to Robin MurphyHi,
Quoted 11 lines · Robin Murphy
The "E" alludes to the fact that FriendlyElec's HD702E is actually an eDP panel - move its compatible to the appropriate binding doc.
Cc <[email protected]>Signed-off-by Robin Murphy <[email protected]>--- .../devicetree/bindings/display/panel/panel-edp-legacy.yaml | 2 ++ .../devicetree/bindings/display/panel/panel-simple.yaml | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-)
Pushed patches to drm-misc-next:
[1/4] dt-bindings: display: panel: Move FriendlyElec HD702E to eDP
commit: e2242223b714ac9fd8233546ca74ce972024111f
PATCH v2 2/4 drm/panel-edp: Move FriendlyELEC HD702E
In reply to Robin MurphyFriendlyELEC's HD702E module is an eDP panel (in as much as it's some LVDS LCD behind a Chrontel CH7511B eDP bridge), so move its data over to the eDP driver, also resolving the warning about the missing bpc value in the process.
The unfortunate combination of HPD not being wired up and the RK3399 eDP controller's behaviour seems to result in the EDID not being readable over DP-AUX without probing the panel first, thus the hard-coded mode is still needed to get things going.
---
v2: Clarify issue with the generic binding
--- drivers/gpu/drm/panel/panel-edp.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 25 ------------------------- 2 files changed, 26 insertions(+), 25 deletions(-)
drivers/gpu/drm/panel/panel-edp.c +26 -0
@@ -1256,6 +1256,29 @@ static const struct panel_desc boe_nv140fhmn49 = { }, }; +static const struct drm_display_mode friendlyarm_hd702e_mode = { + .clock =67185 , + .hdisplay =800 , + .hsync_start =800 +20 , + .hsync_end =800 +20 +24 , + .htotal =800 +20 +24 +20 , + .vdisplay =1280 , + .vsync_start =1280 +4 , + .vsync_end =1280 +4 +8 , + .vtotal =1280 +4 +8 +4 , + .flags =DRM_MODE_FLAG_NVSYNC |DRM_MODE_FLAG_NHSYNC , +}; + +static const struct panel_desc friendlyarm_hd702e = { + .modes = &friendlyarm_hd702e_mode, + .num_modes =1 , + .bpc =8 , + .size = { + .width =94 , + .height =151 , + }, +}; +static const struct drm_display_mode innolux_n116bca_ea1_mode = { .clock =76420 , .hdisplay =1366 ,
@@ -1663,6 +1686,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "boe,nv140fhmn49", .data = &boe_nv140fhmn49, + }, { + .compatible = "friendlyarm,hd702e", + .data = &friendlyarm_hd702e, }, { .compatible = "innolux,n116bca-ea1", .data = &innolux_n116bca_ea1,
drivers/gpu/drm/panel/panel-simple.c +0 -25
@@ -2359,28 +2359,6 @@ static const struct panel_desc frida_frd350h54004 = { .connector_type = DRM_MODE_CONNECTOR_DPI, }; -static const struct drm_display_mode friendlyarm_hd702e_mode = { - .clock =67185 , - .hdisplay =800 , - .hsync_start =800 +20 , - .hsync_end =800 +20 +24 , - .htotal =800 +20 +24 +20 , - .vdisplay =1280 , - .vsync_start =1280 +4 , - .vsync_end =1280 +4 +8 , - .vtotal =1280 +4 +8 +4 , - .flags =DRM_MODE_FLAG_NVSYNC |DRM_MODE_FLAG_NHSYNC , -}; - -static const struct panel_desc friendlyarm_hd702e = { - .modes = &friendlyarm_hd702e_mode, - .num_modes =1 , - .size = { - .width =94 , - .height =151 , - }, -}; -static const struct drm_display_mode giantplus_gpg482739qs5_mode = { .clock =9000 , .hdisplay =480 ,
@@ -5235,9 +5213,6 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "frida,frd350h54004", .data = &frida_frd350h54004, - }, { - .compatible = "friendlyarm,hd702e", - .data = &friendlyarm_hd702e, }, { .compatible = "giantplus,gpg482739qs5", .data = &giantplus_gpg482739qs5
Signature · 1 line
2.34.1
Re: [PATCH v2 2/4] drm/panel-edp: Move FriendlyELEC HD702E
Hi,
Quoted 11 lines · Robin Murphy
FriendlyELEC's HD702E module is an eDP panel (in as much as it's some LVDS LCD behind a Chrontel CH7511B eDP bridge), so move its data over to the eDP driver, also resolving the warning about the missing bpc value in the process.
The unfortunate combination of HPD not being wired up and the RK3399 eDP controller's behaviour seems to result in the EDID not being readable over DP-AUX without probing the panel first, thus the hard-coded mode is still needed to get things going.
Quoted 8 lines
Reviewed-by Neil Armstrong <[email protected]>Signed-off-by Robin Murphy <[email protected]>---
v2: Clarify issue with the generic binding--- drivers/gpu/drm/panel/panel-edp.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 25 ------------------------- 2 files changed, 26 insertions(+), 25 deletions(-)
I'll plan to apply patches #1 and #2 in ~1 week to drm-misc-next if there are no other comments. If someone else wants to beat me to it, though, I'm also OK w/ that.
-Doug
Doug Anderson
reviewerRe: [PATCH v2 2/4] drm/panel-edp: Move FriendlyELEC HD702E
Hi,
Quoted 24 lines · Doug Anderson
Hi,
Quoted 11 lines · Robin Murphy
FriendlyELEC's HD702E module is an eDP panel (in as much as it's some LVDS LCD behind a Chrontel CH7511B eDP bridge), so move its data over to the eDP driver, also resolving the warning about the missing bpc value in the process.
The unfortunate combination of HPD not being wired up and the RK3399 eDP controller's behaviour seems to result in the EDID not being readable over DP-AUX without probing the panel first, thus the hard-coded mode is still needed to get things going.
Quoted 8 lines
Reviewed-by Neil Armstrong <[email protected]>Signed-off-by Robin Murphy <[email protected]>---
v2: Clarify issue with the generic binding--- drivers/gpu/drm/panel/panel-edp.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 25 ------------------------- 2 files changed, 26 insertions(+), 25 deletions(-)
Quoted 5 lines
Reviewed-by Douglas Anderson <[email protected]>I'll plan to apply patches #1 and #2 in ~1 week to drm-misc-next if there are no other comments. If someone else wants to beat me to it, though, I'm also OK w/ that.
Pushed patches to drm-misc-next:
[2/4] drm/panel-edp: Move FriendlyELEC HD702E
commit: 5c323ea948ff0f9e50418119cbbb3d94f2bd6a96
PATCH v2 3/4 arm64: dts: rockchip: Move RK3399 eDP pinctrl to boards
In reply to Robin MurphyThe EDP_HOTPLUG pin is optional, and muxed with other functions (notably HDMI CEC), so move its selection from the SoC DTSI to the boards which apparently want it, namely those which enable eDP without "force-hpd". By the same token we drop it from Pinebook Pro, which already uses "force-hpd", and according to the schematics does not have the pin wired at all.
---
v2: Add /omit-if-no-ref/ attribute [Dragan]
--- arch/arm64/boot/dts/rockchip/rk3399-base.dtsi | 3 +-- arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi | 2 ++ arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 2 -- arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts | 2 ++ 4 files changed, 5 insertions(+), 4 deletions(-)
arch/arm64/boot/dts/rockchip/rk3399-base.dtsi +1 -2
@@ -2145,8 +2145,6 @@ edp: dp@ff970000 { interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH 0>; clocks = <&cru PCLK_EDP>, <&cru PCLK_EDP_CTRL>, <&cru PCLK_VIO_GRF>; clock-names = "dp", "pclk", "grf"; - pinctrl-names = "default"; - pinctrl-0 = <&edp_hpd>; power-domains = <&power RK3399_PD_EDP>; resets = <&cru SRST_P_EDP_CTRL>; reset-names = "dp";
@@ -2384,6 +2382,7 @@ cif_clkouta: cif-clkouta { }; edp { + /omit-if-no-ref/ edp_hpd: edp-hpd { rockchip,pins = <4 RK_PC7 2 &pcfg_pull_none>;
arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi +2 -0
@@ -241,6 +241,8 @@ &dmc { }; &edp { + pinctrl-names = "default"; + pinctrl-0 = <&edp_hpd>; status = "okay"; /*
arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +0 -2
@@ -401,8 +401,6 @@ &cpu_l3 { &edp { force-hpd; - pinctrl-names = "default"; - pinctrl-0 = <&edp_hpd>; status = "okay"; };
arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts +2 -0
@@ -141,6 +141,8 @@ sdio_pwrseq: sdio-pwrseq { }; &edp { + pinctrl-names = "default"; + pinctrl-0 = <&edp_hpd>; status = "okay"; };
Signature · 1 line
2.34.1
PATCH v2 4/4 arm64: dts: rockchip: Add overlay for FriendlyElec HD702E
In reply to Robin MurphyAdd 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
---
v2:
- Add pinctrl, tweak some naming [Doug]
- Add main 3.3v regulator to tidy up power supplies
--- arch/arm64/boot/dts/rockchip/Makefile | 5 + .../dts/rockchip/rk3399-nanopc-t4-hd702e.dtso | 96 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso
arch/arm64/boot/dts/rockchip/Makefile +5 -0
@@ -62,6 +62,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
@@ -238,6 +239,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) += rk3399-puma-haikou-haikou-video-demo.dtb rk3399-puma-haikou-haikou-video-demo-dtbs := rk3399-puma-haikou.dtb \ rk3399-puma-haikou-video-demo.dtbo
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso new file +96 -0
96 lines not on this page · raw message
Signature · 1 line
2.34.1
Heiko Stuebner
maintainerRe: [PATCH v2 4/4] arm64: dts: rockchip: Add overlay for FriendlyElec HD702E
Am Freitag, 23. Januar 2026, 20:22:23 Mitteleuropäische Normalzeit schrieb Robin Murphy:
Quoted 6 lines
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 <[email protected]>
[...]
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso line 6
Quoted 12 lines
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso new file +6
-0@@ -0,0 +1,96 @@ +&edp { + force-hpd; + status = "okay"; + + aux-bus { + edp-panel {
The dtbs-check was unhappy, because the auxbus binding wishes for this node to be named "panel". I'll just change this when applying.
Heiko
Quoted 13 lines
arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4-hd702e.dtso new file +13
-0+ compatible = "friendlyarm,hd702e"; + backlight = <&backlight>; + no-hpd; + power-supply = <&vdd_3_3v>; + + port { + panel_in_edp: endpoint { + remote-endpoint = <&edp_out_panel>; + }; + }; + }; + }; +};
Re: (subset) [PATCH v2 0/4] Properly support FriendlyElec HD702E
In reply to Robin MurphyQuoted 9 lines · Robin Murphy
v1: https://lore.kernel.org/linux-rockchip/[email protected]/
Changelogs in the patches - fingers crossed this is good to go now, thanks all for the acks and reviews.
Cheers,
Robin.[...]
Applied, thanks!
[3/4] arm64: dts: rockchip: Move RK3399 eDP pinctrl to boards
commit: 638fa970ac669e5d0fb2c5cc0bea3d4443299ac6
[4/4] arm64: dts: rockchip: Add overlay for FriendlyElec HD702E
commit: 25afddad23b8e91fcff625756e51a805e288ab38Best regards,
Signature · 1 line
Heiko Stuebner <[email protected]>