linux-libre patch to support pinebook pro

  • Done
  • quality assurance status badge
Details
2 participants
  • Jan Nieuwenhuizen
  • Vagrant Cascadian
Owner
unassigned
Submitted by
Vagrant Cascadian
Severity
normal

Debbugs page

Vagrant Cascadian wrote 5 years ago
(address . guix-patches@gnu.org)
87a74516fx.fsf@yucca
I've got a backported linux patch to support pinebook pro with
linux-libre 5.4.x. It's very limited support... no LCD, no battery
status, no RTC, etc. but it works!

The one reason I haven't pushed the patch is it would cause useless
rebuilds of linux-libre for x86_64, i686 and armhf; I've been trying to
make that conditional for aarch64 and not been very successful at it; if
someone could help with that, or give me the go-ahead to merge as is
... that'd be great!

live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCXnrKIwAKCRDcUY/If5cW
qhW4AQDn4sf78ieHrs97DIYcHimuXJ3NKwsTeb1n2iManEylyQEA0x1E0cfrXbDV
VN+0w9x/LfREHKbMlKiPexiOuW0ThgU=
=0zc4
-----END PGP SIGNATURE-----

Vagrant Cascadian wrote 5 years ago
(address . guix-patches@gnu.org)
877dz914mm.fsf@yucca
On 2020-03-24, Vagrant Cascadian wrote:
Toggle quote (6 lines)
> The one reason I haven't pushed the patch is it would cause useless
> rebuilds of linux-libre for x86_64, i686 and armhf; I've been trying to
> make that conditional for aarch64 and not been very successful at it; if
> someone could help with that, or give me the go-ahead to merge as is
> ... that'd be great!

FWIW, this is one of the permutations I've tried so far:

--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -432,12 +432,16 @@ corresponding UPSTREAM-SOURCE (an origin), using
the given DEBLOB-SCRIPTS."

(define-public linux-libre-5.4-source
(source-with-patches linux-libre-5.4-pristine-source
- (list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch
- ;; Pinebook Pro patch from linux-next,
- ;; can be dropped for linux-libre 5.7
- (search-patch
- "linux-libre-Add-initial-support-for-Pinebook-.patch"))))
+ (cons* %boot-logo-patch
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ (if (let ((system (or
(%current-target-system)
+ (%current-system))))
+ (string-prefix? "aarch64" system))
+ ;; Pinebook Pro patch from linux-next,
+ ;; can be dropped for linux-libre 5.7
+ '((search-patch
+ "linux-libre-Add-initial-support-for-Pinebook-.patch"))
+ '()))))

(define-public linux-libre-4.19-source
(source-with-patches linux-libre-4.19-pristine-source


But with this, I get the source without the patch applied in all
cases...

live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCXnrTUQAKCRDcUY/If5cW
qni3AP9M1qdWcwQM3+Ls3kirdh1D6wSIZGVTkJJFx1clpMTRQAEAvj0IDvaMO2Wx
zAb3WonA2Ph1cxybNqp8GIl9ZTYFOw8=
=Qhfx
-----END PGP SIGNATURE-----

Vagrant Cascadian wrote 5 years ago
(address . 40218-done@debbugs.gnu.org)
87o8sjkh2r.fsf@yucca
On 2020-03-24, Vagrant Cascadian wrote:
Toggle quote (10 lines)
> I've got a backported linux patch to support pinebook pro with
> linux-libre 5.4.x. It's very limited support... no LCD, no battery
> status, no RTC, etc. but it works!
>
> The one reason I haven't pushed the patch is it would cause useless
> rebuilds of linux-libre for x86_64, i686 and armhf; I've been trying to
> make that conditional for aarch64 and not been very successful at it; if
> someone could help with that, or give me the go-ahead to merge as is
> ... that'd be great!

Since 5.4.28 was just pushed and not yet built, I went ahead and pushed
this patch without figuring out how to do the conditional.


live well,
vagrant

Toggle quote (646 lines)
>
> live well,
> vagrant
> From 8a5e3cf012634bda0df4e7562494d3bab43004a2 Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <vagrant@debian.org>
> Date: Sat, 14 Mar 2020 23:20:12 -0700
> Subject: [PATCH] gnu: linux-libre-5.4-source: Add patch to support pinebook
> pro.
>
> * gnu/packages/patches/linux-libre-Add-initial-support-for-Pinebook-.patch:
> New file.
> * gnu/local.mk (dist_patch_DATA): Update accordingly.
> * gnu/packages/linux (linux-libre-5.4-source): Add patch.
> ---
> gnu/local.mk | 1 +
> gnu/packages/linux.scm | 6 +-
> ...re-Add-initial-support-for-Pinebook-.patch | 1135 +++++++++++++++++
> 3 files changed, 1141 insertions(+), 1 deletion(-)
> create mode 100644 gnu/packages/patches/linux-libre-Add-initial-support-for-Pinebook-.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 7cce60b7c0..345d72090e 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1158,6 +1158,7 @@ dist_patch_DATA = \
> %D%/packages/patches/lierolibre-remove-arch-warning.patch \
> %D%/packages/patches/lierolibre-try-building-other-arch.patch \
> %D%/packages/patches/linkchecker-tests-require-network.patch \
> + %D%/packages/patches/linux-libre-Add-initial-support-for-Pinebook-.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 f2dcc325ff..dfddf366eb 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -433,7 +433,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
> (define-public linux-libre-5.4-source
> (source-with-patches linux-libre-5.4-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 from linux-next,
> + ;; can be dropped for linux-libre 5.7
> + (search-patch
> + "linux-libre-Add-initial-support-for-Pinebook-.patch"))))
>
> (define-public linux-libre-4.19-source
> (source-with-patches linux-libre-4.19-pristine-source
> diff --git a/gnu/packages/patches/linux-libre-Add-initial-support-for-Pinebook-.patch b/gnu/packages/patches/linux-libre-Add-initial-support-for-Pinebook-.patch
> new file mode 100644
> index 0000000000..659e10cba6
> --- /dev/null
> +++ b/gnu/packages/patches/linux-libre-Add-initial-support-for-Pinebook-.patch
> @@ -0,0 +1,1135 @@
> +From d87a8072e8129a579246d8d31a591ca2aec05275 Mon Sep 17 00:00:00 2001
> +From: Tobias Schramm <t.schramm@manjaro.org>
> +Date: Wed, 4 Mar 2020 22:30:23 +0100
> +Subject: [PATCH] arm64: dts: rockchip: Add initial support for Pinebook Pro
> +
> +This commit adds initial dt support for the rk3399 based Pinebook Pro.
> +
> +Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
> +Link: https://lore.kernel.org/r/20200304213023.689983-3-t.schramm@manjaro.org
> +Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> +
> +Taken from next-20200313 commit 5a65505a6988443b211d3bf3f5bb5b79907c33b9
> +---
> + arch/arm64/boot/dts/rockchip/Makefile | 1 +
> + .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 1096 +++++++++++++++++
> + 2 files changed, 1097 insertions(+)
> + create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
> +
> +diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
> +index 1f18a9392d15..7de9b61d6415 100644
> +--- a/arch/arm64/boot/dts/rockchip/Makefile
> ++++ b/arch/arm64/boot/dts/rockchip/Makefile
> +@@ -25,6 +25,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
> + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
> + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
> + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
> ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
> + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
> + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
> + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4.dtb
> +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
> +new file mode 100644
> +index 000000000000..5ea281b55fe2
> +--- /dev/null
> ++++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
> +@@ -0,0 +1,1096 @@
> ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> ++/*
> ++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
> ++ * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
> ++ * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org>
> ++ */
> ++
> ++/dts-v1/;
> ++#include <dt-bindings/input/gpio-keys.h>
> ++#include <dt-bindings/input/linux-event-codes.h>
> ++#include <dt-bindings/pwm/pwm.h>
> ++#include <dt-bindings/usb/pd.h>
> ++#include <dt-bindings/leds/common.h>
> ++#include "rk3399.dtsi"
> ++#include "rk3399-opp.dtsi"
> ++
> ++/ {
> ++ model = "Pine64 Pinebook Pro";
> ++ compatible = "pine64,pinebook-pro", "rockchip,rk3399";
> ++
> ++ chosen {
> ++ stdout-path = "serial2:1500000n8";
> ++ };
> ++
> ++ backlight: edp-backlight {
> ++ compatible = "pwm-backlight";
> ++ power-supply = <&vcc_12v>;
> ++ pwms = <&pwm0 0 740740 0>;
> ++ };
> ++
> ++ edp_panel: edp-panel {
> ++ compatible = "boe,nv140fhmn49";
> ++ backlight = <&backlight>;
> ++ enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&panel_en_gpio>;
> ++ power-supply = <&vcc3v3_panel>;
> ++
> ++ ports {
> ++ #address-cells = <1>;
> ++ #size-cells = <0>;
> ++
> ++ port@0 {
> ++ reg = <0>;
> ++ #address-cells = <1>;
> ++ #size-cells = <0>;
> ++
> ++ panel_in_edp: endpoint@0 {
> ++ reg = <0>;
> ++ remote-endpoint = <&edp_out_panel>;
> ++ };
> ++ };
> ++ };
> ++ };
> ++
> ++ /*
> ++ * Use separate nodes for gpio-keys to allow for selective deactivation
> ++ * of wakeup sources via sysfs without disabling the whole key
> ++ */
> ++ gpio-key-lid {
> ++ compatible = "gpio-keys";
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&lidbtn_gpio>;
> ++
> ++ lid {
> ++ debounce-interval = <20>;
> ++ gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
> ++ label = "Lid";
> ++ linux,code = <SW_LID>;
> ++ linux,input-type = <EV_SW>;
> ++ wakeup-event-action = <EV_ACT_DEASSERTED>;
> ++ wakeup-source;
> ++ };
> ++ };
> ++
> ++ gpio-key-power {
> ++ compatible = "gpio-keys";
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&pwrbtn_gpio>;
> ++
> ++ power {
> ++ debounce-interval = <20>;
> ++ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
> ++ label = "Power";
> ++ linux,code = <KEY_POWER>;
> ++ wakeup-source;
> ++ };
> ++ };
> ++
> ++ leds {
> ++ compatible = "gpio-leds";
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&pwrled_gpio &slpled_gpio>;
> ++
> ++ green-led {
> ++ color = <LED_COLOR_ID_GREEN>;
> ++ default-state = "on";
> ++ function = LED_FUNCTION_POWER;
> ++ gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
> ++ label = "green:power";
> ++ };
> ++
> ++ red-led {
> ++ color = <LED_COLOR_ID_RED>;
> ++ default-state = "off";
> ++ function = LED_FUNCTION_STANDBY;
> ++ gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
> ++ label = "red:standby";
> ++ panic-indicator;
> ++ retain-state-suspended;
> ++ };
> ++ };
> ++
> ++ /* Power sequence for SDIO WiFi module */
> ++ sdio_pwrseq: sdio-pwrseq {
> ++ compatible = "mmc-pwrseq-simple";
> ++ clocks = <&rk808 1>;
> ++ clock-names = "ext_clock";
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&wifi_enable_h_gpio>;
> ++ post-power-on-delay-ms = <100>;
> ++ power-off-delay-us = <500000>;
> ++
> ++ /* WL_REG_ON on module */
> ++ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
> ++ };
> ++
> ++ /* Audio components */
> ++ es8316-sound {
> ++ compatible = "simple-audio-card";
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&hp_det_gpio>;
> ++ simple-audio-card,name = "rockchip,es8316-codec";
> ++ simple-audio-card,format = "i2s";
> ++ simple-audio-card,mclk-fs = <256>;
> ++
> ++ simple-audio-card,widgets =
> ++ "Microphone", "Mic Jack",
> ++ "Headphone", "Headphones",
> ++ "Speaker", "Speaker";
> ++ simple-audio-card,routing =
> ++ "MIC1", "Mic Jack",
> ++ "Headphones", "HPOL",
> ++ "Headphones", "HPOR",
> ++ "Speaker Amplifier INL", "HPOL",
> ++ "Speaker Amplifier INR", "HPOR",
> ++ "Speaker", "Speaker Amplifier OUTL",
> ++ "Speaker", "Speaker Amplifier OUTR";
> ++
> ++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
> ++ simple-audio-card,aux-devs = <&speaker_amp>;
> ++ simple-audio-card,pin-switches = "Speaker";
> ++
> ++ simple-audio-card,cpu {
> ++ sound-dai = <&i2s1>;
> ++ };
> ++
> ++ simple-audio-card,codec {
> ++ sound-dai = <&es8316>;
> ++ };
> ++ };
> ++
> ++ speaker_amp: speaker-amplifier {
> ++ compatible = "simple-audio-amplifier";
> ++ enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
> ++ sound-name-prefix = "Speaker Amplifier";
> ++ VCC-supply = <&pa_5v>;
> ++ };
> ++
> ++ /* Power tree */
> ++ /* Root power source */
> ++ vcc_sysin: vcc-sysin {
> ++ compatible = "regulator-fixed";
> ++ regulator-name = "vcc_sysin";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ };
> ++
> ++ /* Regulators supplied by vcc_sysin */
> ++ /* LCD backlight supply */
> ++ vcc_12v: vcc-12v {
> ++ compatible = "regulator-fixed";
> ++ regulator-name = "vcc_12v";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <12000000>;
> ++ regulator-max-microvolt = <12000000>;
> ++ vin-supply = <&vcc_sysin>;
> ++
> ++ regulator-state-mem {
> ++ regulator-off-in-suspend;
> ++ };
> ++ };
> ++
> ++ /* Main 3.3 V supply */
> ++ vcc3v3_sys: wifi_bat: vcc3v3-sys {
> ++ compatible = "regulator-fixed";
> ++ regulator-name = "vcc3v3_sys";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <3300000>;
> ++ regulator-max-microvolt = <3300000>;
> ++ vin-supply = <&vcc_sysin>;
> ++
> ++ regulator-state-mem {
> ++ regulator-on-in-suspend;
> ++ };
> ++ };
> ++
> ++ /* 5 V USB power supply */
> ++ vcc5v0_usb: pa_5v: vcc5v0-usb-regulator {
> ++ compatible = "regulator-fixed";
> ++ enable-active-high;
> ++ gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&pwr_5v_gpio>;
> ++ regulator-name = "vcc5v0_usb";
> ++ regulator-always-on;
> ++ regulator-min-microvolt = <5000000>;
> ++ regulator-max-microvolt = <5000000>;
> ++ vin-supply = <&vcc_sysin>;
> ++
> ++ regulator-state-mem {
> ++ regulator-off-in-suspend;
> ++ };
> ++ };
> ++
> ++ /* RK3399 logic supply */
> ++ vdd_log: vdd-log {
> ++ compatible = "pwm-regulator";
> ++ pwms = <&pwm2 0 25000 1>;
> ++ regulator-name = "vdd_log";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <800000>;
> ++ regulator-max-microvolt = <1400000>;
> ++ vin-supply = <&vcc_sysin>;
> ++
> ++ regulator-state-mem {
> ++ regulator-on-in-suspend;
> ++ };
> ++ };
> ++
> ++ /* Regulators supplied by vcc3v3_sys */
> ++ /* 0.9 V supply, always on */
> ++ vcc_0v9: vcc-0v9 {
> ++ compatible = "regulator-fixed";
> ++ regulator-name = "vcc_0v9";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <900000>;
> ++ regulator-max-microvolt = <900000>;
> ++ vin-supply = <&vcc3v3_sys>;
> ++ };
> ++
> ++ /* S3 1.8 V supply, switched by vcc1v8_s3 */
> ++ vcca1v8_s3: vcc1v8-s3 {
> ++ compatible = "regulator-fixed";
> ++ regulator-name = "vcca1v8_s3";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <1800000>;
> ++ regulator-max-microvolt = <1800000>;
> ++ vin-supply = <&vcc3v3_sys>;
> ++ };
> ++
> ++ /* micro SD card power */
> ++ vcc3v0_sd: vcc3v0-sd {
> ++ compatible = "regulator-fixed";
> ++ enable-active-high;
> ++ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&sdmmc0_pwr_h_gpio>;
> ++ regulator-name = "vcc3v0_sd";
> ++ regulator-always-on;
> ++ regulator-min-microvolt = <3000000>;
> ++ regulator-max-microvolt = <3000000>;
> ++ vin-supply = <&vcc3v3_sys>;
> ++
> ++ regulator-state-mem {
> ++ regulator-off-in-suspend;
> ++ };
> ++ };
> ++
> ++ /* LCD panel power, called VCC3V3_S0 in schematic */
> ++ vcc3v3_panel: vcc3v3-panel {
> ++ compatible = "regulator-fixed";
> ++ enable-active-high;
> ++ gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&lcdvcc_en_gpio>;
> ++ regulator-name = "vcc3v3_panel";
> ++ regulator-always-on;
> ++ regulator-min-microvolt = <3300000>;
> ++ regulator-max-microvolt = <3300000>;
> ++ regulator-enable-ramp-delay = <100000>;
> ++ vin-supply = <&vcc3v3_sys>;
> ++
> ++ regulator-state-mem {
> ++ regulator-off-in-suspend;
> ++ };
> ++ };
> ++
> ++ /* M.2 adapter power, switched by vcc1v8_s3 */
> ++ vcc3v3_ssd: vcc3v3-ssd {
> ++ compatible = "regulator-fixed";
> ++ regulator-name = "vcc3v3_ssd";
> ++ regulator-min-microvolt = <3300000>;
> ++ regulator-max-microvolt = <3300000>;
> ++ vin-supply = <&vcc3v3_sys>;
> ++ };
> ++
> ++ /* Regulators supplied by vcc5v0_usb */
> ++ /* USB 3 port power supply regulator */
> ++ vcc5v0_otg: vcc5v0-otg {
> ++ compatible = "regulator-fixed";
> ++ enable-active-high;
> ++ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&vcc5v0_host_en_gpio>;
> ++ regulator-name = "vcc5v0_otg";
> ++ regulator-always-on;
> ++ regulator-min-microvolt = <5000000>;
> ++ regulator-max-microvolt = <5000000>;
> ++ vin-supply = <&vcc5v0_usb>;
> ++
> ++ regulator-state-mem {
> ++ regulator-off-in-suspend;
> ++ };
> ++ };
> ++
> ++ /* Regulators supplied by vcc5v0_usb */
> ++ /* Type C port power supply regulator */
> ++ vbus_5vout: vbus_typec: vbus-5vout {
> ++ compatible = "regulator-fixed";
> ++ enable-active-high;
> ++ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&vcc5v0_typec0_en_gpio>;
> ++ regulator-name = "vbus_5vout";
> ++ regulator-min-microvolt = <5000000>;
> ++ regulator-max-microvolt = <5000000>;
> ++ vin-supply = <&vcc5v0_usb>;
> ++
> ++ regulator-state-mem {
> ++ regulator-off-in-suspend;
> ++ };
> ++ };
> ++
> ++ /* Regulators supplied by vcc_1v8 */
> ++ /* Primary 0.9 V LDO */
> ++ vcca0v9_s3: vcca0v9-s3 {
> ++ compatible = "regulator-fixed";
> ++ regulator-name = "vcc0v9_s3";
> ++ regulator-min-microvolt = <5000000>;
> ++ regulator-max-microvolt = <5000000>;
> ++ vin-supply = <&vcc_1v8>;
> ++
> ++ regulator-state-mem {
> ++ regulator-on-in-suspend;
> ++ };
> ++ };
> ++
> ++ mains_charger: dc-charger {
> ++ compatible = "gpio-charger";
> ++ charger-type = "mains";
> ++ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
> ++
> ++ /* Also triggered by USB charger */
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&dc_det_gpio>;
> ++ };
> ++};
> ++
> ++&cdn_dp {
> ++ status = "okay";
> ++};
> ++
> ++&cpu_b0 {
> ++ cpu-supply = <&vdd_cpu_b>;
> ++};
> ++
> ++&cpu_b1 {
> ++ cpu-supply = <&vdd_cpu_b>;
> ++};
> ++
> ++&cpu_l0 {
> ++ cpu-supply = <&vdd_cpu_l>;
> ++};
> ++
> ++&cpu_l1 {
> ++ cpu-supply = <&vdd_cpu_l>;
> ++};
> ++
> ++&cpu_l2 {
> ++ cpu-supply = <&vdd_cpu_l>;
> ++};
> ++
> ++&cpu_l3 {
> ++ cpu-supply = <&vdd_cpu_l>;
> ++};
> ++
> ++&edp {
> ++ force-hpd;
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&edp_hpd>;
> ++ status = "okay";
> ++
> ++ ports {
> ++ edp_out: port@1 {
> ++ reg = <1>;
> ++ #address-cells = <1>;
> ++ #size-cells = <0>;
> ++
> ++ edp_out_panel: endpoint@0 {
> ++ reg = <0>;
> ++ remote-endpoint = <&panel_in_edp>;
> ++ };
> ++ };
> ++ };
> ++};
> ++
> ++&emmc_phy {
> ++ status = "okay";
> ++};
> ++
> ++&gpu {
> ++ mali-supply = <&vdd_gpu>;
> ++ status = "okay";
> ++};
> ++
> ++&hdmi_sound {
> ++ status = "okay";
> ++};
> ++
> ++&i2c0 {
> ++ clock-frequency = <400000>;
> ++ i2c-scl-falling-time-ns = <4>;
> ++ i2c-scl-rising-time-ns = <168>;
> ++ status = "okay";
> ++
> ++ rk808: pmic@1b {
> ++ compatible = "rockchip,rk808";
> ++ reg = <0x1b>;
> ++ #clock-cells = <1>;
> ++ clock-output-names = "xin32k", "rk808-clkout2";
> ++ interrupt-parent = <&gpio3>;
> ++ interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
> ++ pinctrl-names = "default";
> ++ pinctrl-0 = <&pmic_int_l_gpio>;
> ++ rockchip,system-power-controller;
> ++ wakeup-source;
> ++
> ++ vcc1-supply = <&vcc_sysin>;
> ++ vcc2-supply = <&vcc_sysin>;
> ++ vcc3-supply = <&vcc_sysin>;
> ++ vcc4-supply = <&vcc_sysin>;
> ++ vcc6-supply = <&vcc_sysin>;
> ++ vcc7-supply = <&vcc_sysin>;
> ++ vcc8-supply = <&vcc3v3_sys>;
> ++ vcc9-supply = <&vcc_sysin>;
> ++ vcc10-supply = <&vcc_sysin>;
> ++ vcc11-supply = <&vcc_sysin>;
> ++ vcc12-supply = <&vcc3v3_sys>;
> ++ vcc13-supply = <&vcc_sysin>;
> ++ vcc14-supply = <&vcc_sysin>;
> ++
> ++ regulators {
> ++ /* rk3399 center logic supply */
> ++ vdd_center: DCDC_REG1 {
> ++ regulator-name = "vdd_center";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <750000>;
> ++ regulator-max-microvolt = <1350000>;
> ++ regulator-ramp-delay = <6001>;
> ++
> ++ regulator-state-mem {
> ++ regulator-off-in-suspend;
> ++ };
> ++ };
> ++
> ++ vdd_cpu_l: DCDC_REG2 {
> ++ regulator-name = "vdd_cpu_l";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <750000>;
> ++ regulator-max-microvolt = <1350000>;
> ++ regulator-ramp-delay = <6001>;
> ++
> ++ regulator-state-mem {
> ++ regulator-off-in-suspend;
> ++ };
> ++ };
> ++
> ++ vcc_ddr: DCDC_REG3 {
> ++ regulator-name = "vcc_ddr";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++
> ++ regulator-state-mem {
> ++ regulator-on-in-suspend;
> ++ };
> ++ };
> ++
> ++ vcc_1v8: vcc_wl: DCDC_REG4 {
> ++ regulator-name = "vcc_1v8";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <1800000>;
> ++ regulator-max-microvolt = <1800000>;
> ++
> ++ regulator-state-mem {
> ++ regulator-on-in-suspend;
> ++ regulator-suspend-microvolt = <1800000>;
> ++ };
> ++ };
> ++
> ++ /* not used */
> ++ LDO_REG1 {
> ++ };
> ++
> ++ /* not used */
> ++ LDO_REG2 {
> ++ };
> ++
> ++ vcc1v8_pmupll: LDO_REG3 {
> ++ regulator-name = "vcc1v8_pmupll";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <1800000>;
> ++ regulator-max-microvolt = <1800000>;
> ++
> ++ regulator-state-mem {
> ++ regulator-on-in-suspend;
> ++ regulator-suspend-microvolt = <1800000>;
> ++ };
> ++ };
> ++
> ++ vcc_sdio: LDO_REG4 {
> ++ regulator-name = "vcc_sdio";
> ++ regulator-always-on;
> ++ regulator-boot-on;
> ++ regulator-min-microvolt = <1800000>;
> ++ regulator-max-microvolt = <3000000>;
> ++
> ++ regulator-state-mem {
> ++ regulator-on-in-suspend;
> ++ regulator-suspend-microvolt = <3000000>;
> ++ };
> ++ };
> ++
> ++ vcca3v0_codec: LDO_REG5 {
> ++ regulator-name = "vcca3v0_codec";
> ++ re
This message was truncated. Download the full message here.
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCXnwNjQAKCRDcUY/If5cW
qsniAQD6vbXOON6LI1h6eOFzgz9Xaghg/10GAFu+5R/jGxnR3QD+J6soOeiYJV+i
uRltx1qwV2qS0oAe4oxXwndH8f2uwgA=
=U8wB
-----END PGP SIGNATURE-----

Closed
Jan Nieuwenhuizen wrote 5 years ago
Re: bug#40218: linux-libre patch to support pinebook pro
(address . 40218@debbugs.gnu.org)(address . vagrant@debian.org)
87a743y64x.fsf@gnu.org
Vagrant Cascadian writes:

Toggle quote (8 lines)
> On 2020-03-24, Vagrant Cascadian wrote:
>> I've got a backported linux patch to support pinebook pro with
>> linux-libre 5.4.x. It's very limited support... no LCD, no battery
>> status, no RTC, etc. but it works!
>
> Since 5.4.28 was just pushed and not yet built, I went ahead and pushed
> this patch without figuring out how to do the conditional.

\o/
Very nice! Thank you for carrying the torch here so well.

Greetings,
janneke

--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
?
Your comment

This issue is archived.

To comment on this conversation send an email to 40218@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 40218
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help