Subject: bug#48050: closed (Re: bug#48050: Pinebook Pro LCD and Audio support)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 29 Apr 2021 23:57:02 +0000

Your bug report

#48050: Pinebook Pro LCD and Audio support

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
48050: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=48050
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#48050: Pinebook Pro LCD and Audio support
From: Vagrant Cascadian <[email-masked]>
To: [email-masked]
Cc: Leo Famulari <[email-masked]>
Date: Thu, 29 Apr 2021 16:55:57 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

On 2021-04-26, Vagrant Cascadian wrote:
> On 2021-04-26, Vagrant Cascadian wrote:
>> The attached patch enables support for LCD display and limited audio
>> support for pinebook-pro-rk3399.
>
> Updated patch which adds battery support too.

Fixed in [email-masked] and [email-masked], pushed to master.

d018a11ee065e0f6bafb33fcc1a130aa7900b5a3 gnu:
[email-masked]: Add eDP panel, audio and battery support
for Pinebook Pro.

e7fbf10066e3634ec2d284c07afb4fa625d18574 gnu: linux-libre-arm64-generic:
Add eDP panel, battery and audio support for Pinebook Pro.

live well,
  vagrant

Subject: Pinebook Pro LCD and Audio support
From: Vagrant Cascadian <[email-masked]>
To: [email-masked]
Cc: Leo Famulari <[email-masked]>
Date: Mon, 26 Apr 2021 16:43:49 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

The attached patch enables support for LCD display and limited audio
support for pinebook-pro-rk3399.

With this, the Pinebook Pro gets display output on the built-in LCD.

Console works, wayland works (tested with sway), presumably X.org would
work as well (untested).

Audio output on headphones kind of works.

Trackpad is still a little sketchy; might require enabling some more
modules.

This should basically obsolete the need for the wip-pinebook-pro branch;
I haven't noticed any significant functionality difference.

I believe the same patches and changes apply and work more-or-less
unchanged for linux-libre 5.10 lts series (I tested against Debian's
5.10.x kernel), and it might be worth having an LTS kernel with this
enabled. If that's considered desireable, I can update the patch to add
that too.

Since this will require rebuilding the linux-libre tarball, it is
probably best to wait to merge this until the next batch of linux-libre
updates (e.g. linux-libre 5.11.x and 5.10.x, no need to wait till 5.12).

If USB-C DisplayPort ever becomes supported and working on pinebook-pro,
this patch will need to be removed.

live well,
  vagrant

From 478b620eb4f52e76bde691262ebc793e4e3fd384 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <[email-masked]>
Date: Mon, 26 Apr 2021 09:27:50 -0700
Subject: [PATCH] gnu: linux-libre: Add LCD and sound support for Pinebook Pro.

* gnu/packages/linux.scm (linux-libre-5.11-source): Add Pinebook Pro
  lcd patch.
  (linux-libre-arm64-generic): Enable audio module for Pinebook Pro.
* gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add patch.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/linux.scm                        |  9 ++++-
 ...nux-libre-arm64-generic-pinebook-lcd.patch | 40 +++++++++++++++++++
 3 files changed, 48 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e8b6effb36..5a2ae6ef48 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1369,6 +1369,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/linkchecker-tests-require-network.patch	\
   %D%/packages/patches/linphone-desktop-without-sdk.patch           \
   %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
+  %D%/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch \
   %D%/packages/patches/linux-pam-no-setfsuid.patch		\
   %D%/packages/patches/lirc-localstatedir.patch			\
   %D%/packages/patches/lirc-reproducible-build.patch		\
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 080ffab527..1c6e1502b2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -481,7 +481,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 (define-public linux-libre-5.11-source
   (source-with-patches linux-libre-5.11-pristine-source
                        (list %boot-logo-patch
-                             %linux-libre-arm-export-__sync_icache_dcache-patch)))
+                             %linux-libre-arm-export-__sync_icache_dcache-patch
+                             ;; Pinebook Pro patch to fix LCD display
+                             (search-patch
+                              "linux-libre-arm64-generic-pinebook-lcd.patch"))))
 
 (define-public linux-libre-5.10-source
   (source-with-patches linux-libre-5.10-pristine-source
@@ -1044,7 +1047,9 @@ It has been modified to remove all non-free binary blobs.")
                         ("CONFIG_BATTERY_AXP20X" . m)
                         ("CONFIG_PINCTRL_AXP209" . m)
                         ("CONFIG_AXP20X_POWER" . m)
-                        ("CONFIG_AXP20X_ADC" . m))
+                        ("CONFIG_AXP20X_ADC" . m)
+                        ;; Pinebook PRO sound support
+                        ("CONFIG_SND_SOC_ES8316" . m))
                       %default-extra-linux-options)))
 
 (define-public linux-libre-arm64-generic-5.10
diff --git a/gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch b/gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch
new file mode 100644
index 0000000000..51ab544d5e
--- /dev/null
+++ b/gnu/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch
@@ -0,0 +1,40 @@
+From 3a75704e99a118f2d8a4d70f07781558bde85770 Mon Sep 17 00:00:00 2001
+From: Jian-Hong Pan <[email-masked]>
+Date: Thu, 24 Sep 2020 14:30:43 +0800
+Subject: [PATCH] arm64: dts: rockchip: disable USB type-c DisplayPort
+
+The cdn-dp sub driver probes the device failed on PINEBOOK Pro.
+
+kernel: cdn-dp fec00000.dp: [drm:cdn_dp_probe [rockchipdrm]] *ERROR* missing extcon or phy
+kernel: cdn-dp: probe of fec00000.dp failed with error -22
+
+Then, the device halts all of the DRM related device jobs. For example,
+the operations: vop_component_ops, vop_component_ops and
+rockchip_dp_component_ops cannot be bound to corresponding devices. So,
+Xorg cannot find the correct DRM device.
+
+The USB type-C DisplayPort does not work for now. So, disable the
+DisplayPort node until the type-C phy work has been done.
+
+Link: https://patchwork.kernel.org/patch/11794141/#23639877
+Signed-off-by: Jian-Hong Pan <[email-masked]>
+---
+ arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+index 219b7507a10f..45769764425d 100644
+--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
++++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+@@ -380,7 +380,7 @@
+ };
+ 
+ &cdn_dp {
+-	status = "okay";
++	status = "disabled";
+ };
+ 
+ &cpu_b0 {
+-- 
+2.30.2
+
-- 
2.30.2