pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/sysutils/u-boot-pinebook-pro



Module Name:    pkgsrc
Committed By:   mrg
Date:           Mon Jan  6 08:41:44 UTC 2020

Added Files:
        pkgsrc/sysutils/u-boot-pinebook-pro: DESCR MESSAGE Makefile PLIST
            distinfo
        pkgsrc/sysutils/u-boot-pinebook-pro/patches:
            patch-arch_arm_dts_Makefile
            patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi
            patch-arch_arm_dts_rk3399-pinebook-pro.dts
            patch-arch_arm_mach-rockchip_rk3399_Kconfig
            patch-board_pine64_pinebook_pro_rk3399_Kconfig
            patch-board_pine64_pinebook_pro_rk3399_MAINTAINERS
            patch-board_pine64_pinebook_pro_rk3399_Makefile
            patch-board_pine64_pinebook_pro_rk3399_pinebook-pro-rk3399.c
            patch-configs-pinebook_pro-rk3399_defconfig
            patch-include-configs-pinebook_pro_rk3399.h

Log Message:
add a u-boot for pinebook pro.  it's mostly functional though reboot
is not working for me currently, and the power LED stays off until
netbsd boots still.

this is based upon u-boot 2020.01-rc5 with patches from:

https://patchwork.ozlabs.org/project/uboot/list/?series=142716

which add specific pinebook pro support.  (these sources are known
to have a working reboot, but not from a build i've made.)


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/u-boot-pinebook-pro/DESCR \
    pkgsrc/sysutils/u-boot-pinebook-pro/MESSAGE \
    pkgsrc/sysutils/u-boot-pinebook-pro/Makefile \
    pkgsrc/sysutils/u-boot-pinebook-pro/PLIST \
    pkgsrc/sysutils/u-boot-pinebook-pro/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_Makefile \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_rk3399-pinebook-pro.dts \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_mach-rockchip_rk3399_Kconfig \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_Kconfig \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_MAINTAINERS \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_Makefile \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_pinebook-pro-rk3399.c \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-configs-pinebook_pro-rk3399_defconfig \
    pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-include-configs-pinebook_pro_rk3399.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/sysutils/u-boot-pinebook-pro/DESCR
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/DESCR:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/DESCR   Mon Jan  6 08:41:44 2020
@@ -0,0 +1,5 @@
+U-Boot is a bootloader for embedded boards based on PowerPC, ARM, MIPS and
+several other processors, which can be installed in a boot ROM and used to
+initialize and test the hardware or to download and run application code.
+
+This package provides U-Boot for the rk3399-based Pinebook Pro from PINE64.
Index: pkgsrc/sysutils/u-boot-pinebook-pro/MESSAGE
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/MESSAGE:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/MESSAGE Mon Jan  6 08:41:44 2020
@@ -0,0 +1,14 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Examples command to install U-Boot to an empty SD card:
+
+# dd if=${LOCALBASE}/share/u-boot/pinebook-pro/idbloader.img seek=64 of=/dev/rld0d
+# dd if=${LOCALBASE}/share/u-boot/pinebook-pro/boot.itb seek=16384 of=/dev/rld0d
+
+You should make sure that the space is otherwise cleared of data, as old
+images may fool the boot loader paths.
+
+See also http://opensource.rock-chips.com/wiki_Boot_option
+
+===========================================================================
Index: pkgsrc/sysutils/u-boot-pinebook-pro/Makefile
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/Makefile:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/Makefile        Mon Jan  6 08:41:44 2020
@@ -0,0 +1,17 @@
+# $NetBSD: Makefile,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+UBOOT_TARGET=          pinebook-pro
+UBOOT_CONFIG=          pinebook_pro-rk3399_defconfig
+UBOOT_BIN=             idbloader.img u-boot.itb
+
+UBOOT_VERSION=         2020.01-rc5
+
+DISTINFO_FILE=         ${.CURDIR}/../../sysutils/u-boot-pinebook-pro/distinfo
+PATCHDIR=              ${.CURDIR}/../../sysutils/u-boot-pinebook-pro/patches
+
+USE_TOOLS+=    gawk
+
+MAKE_ENV+=     BL31=${PREFIX}/share/arm-trusted-firmware/rk3399/bl31.elf
+
+.include "../../sysutils/arm-trusted-firmware-rk3399/buildlink3.mk"
+.include "../../sysutils/u-boot/u-boot-arm64.mk"
Index: pkgsrc/sysutils/u-boot-pinebook-pro/PLIST
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/PLIST:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/PLIST   Mon Jan  6 08:41:44 2020
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST,v 1.1 2020/01/06 08:41:44 mrg Exp $
+share/u-boot/pinebook-pro/idbloader.img
+share/u-boot/pinebook-pro/u-boot.itb
Index: pkgsrc/sysutils/u-boot-pinebook-pro/distinfo
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/distinfo:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/distinfo        Mon Jan  6 08:41:44 2020
@@ -0,0 +1,16 @@
+$NetBSD: distinfo,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+SHA1 (u-boot-2020.01-rc5.tar.bz2) = 464dec492bd12bf561468b5560d5465bee708de1
+RMD160 (u-boot-2020.01-rc5.tar.bz2) = 2fd9b608a182a783e7e1e07003d2303376de7b4f
+SHA512 (u-boot-2020.01-rc5.tar.bz2) = f39ef40e4a8a030a779d1732bb588fba808140c91d4d92b6228f752b58ecbbdb90a4b8feae1646a42c64ba044d6c503228f877b33e221330b3f96f3c9006d60a
+Size (u-boot-2020.01-rc5.tar.bz2) = 14703368 bytes
+SHA1 (patch-arch_arm_dts_Makefile) = b0f39f16c87b51490fcc5f27dc2b720c2b5a5076
+SHA1 (patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi) = 50e461b2da4b763a853fa66e90fe39465d8f65cc
+SHA1 (patch-arch_arm_dts_rk3399-pinebook-pro.dts) = a8dd5b7569a5ca849fb907633b57f249ac68f2a7
+SHA1 (patch-arch_arm_mach-rockchip_rk3399_Kconfig) = 5db42b2120030bd6deae15bad020bc216283606e
+SHA1 (patch-board_pine64_pinebook_pro_rk3399_Kconfig) = 50f0a64ec93446bc962712643b6d9734321be0ff
+SHA1 (patch-board_pine64_pinebook_pro_rk3399_MAINTAINERS) = 81933bcfb75ec0a28f92d7c9823982dae075b699
+SHA1 (patch-board_pine64_pinebook_pro_rk3399_Makefile) = 9dca0a93221ae2a7fa6a6a1794e22750ab105e07
+SHA1 (patch-board_pine64_pinebook_pro_rk3399_pinebook-pro-rk3399.c) = f06846db31ce5f07f9aa77019efb5b6ca6dc8966
+SHA1 (patch-configs-pinebook_pro-rk3399_defconfig) = 794b7c59d9c21be77bc88f4eac2987778e8679d0
+SHA1 (patch-include-configs-pinebook_pro_rk3399.h) = a8edaa170fb6403a912d6ddda11e3e37c8b2442c

Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_Makefile
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_Makefile:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_Makefile     Mon Jan  6 08:41:44 2020
@@ -0,0 +1,16 @@
+$NetBSD: patch-arch_arm_dts_Makefile,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git arch/arm/dts/Makefile arch/arm/dts/Makefile
+index 5a64fcc5a7..affedfd666 100644
+--- arch/arm/dts/Makefile
++++ arch/arm/dts/Makefile
+@@ -116,6 +116,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
+       rk3399-nanopi-m4.dtb \
+       rk3399-nanopi-neo4.dtb \
+       rk3399-orangepi.dtb \
++      rk3399-pinebook-pro.dtb \
+       rk3399-puma-ddr1333.dtb \
+       rk3399-puma-ddr1600.dtb \
+       rk3399-puma-ddr1866.dtb \
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi      Mon Jan  6 08:41:44 2020
@@ -0,0 +1,35 @@
+$NetBSD: patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
+new file mode 100644
+index 0000000000..9b0cb7010f
+--- /dev/null
++++ arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
+@@ -0,0 +1,25 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Copyright (C) 2019 Peter Robinson <pbrobinson at gmail.com>
++ */
++
++#include "rk3399-u-boot.dtsi"
++#include "rk3399-sdram-lpddr4-100.dtsi"
++
++/ {
++      chosen {
++              u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
++      };
++};
++
++&pmugrf {
++      u-boot,dm-pre-reloc;
++};
++
++&spiflash {
++        u-boot,dm-pre-reloc;
++};
++
++&uart2 {
++        u-boot,dm-pre-reloc;
++};
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_rk3399-pinebook-pro.dts
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_rk3399-pinebook-pro.dts:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_dts_rk3399-pinebook-pro.dts      Mon Jan  6 08:41:44 2020
@@ -0,0 +1,641 @@
+$NetBSD: patch-arch_arm_dts_rk3399-pinebook-pro.dts,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git arch/arm/dts/rk3399-pinebook-pro.dts arch/arm/dts/rk3399-pinebook-pro.dts
+new file mode 100644
+index 0000000000..85ce0206d7
+--- /dev/null
++++ arch/arm/dts/rk3399-pinebook-pro.dts
+@@ -0,0 +1,631 @@
++/*
++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
++ *
++ * SPDX-License-Identifier:     GPL-2.0+
++ */
++
++/dts-v1/;
++#include <dt-bindings/input/linux-event-codes.h>
++#include <dt-bindings/pwm/pwm.h>
++#include <dt-bindings/pinctrl/rockchip.h>
++#include "rk3399.dtsi"
++#include "rk3399-opp.dtsi"
++
++/ {
++      model = "Pine64 Pinebook Pro";
++      compatible = "pine64,pinebook-pro", "rockchip,rk3399";
++
++      chosen {
++              stdout-path = &uart2;
++      };
++
++      aliases {
++              spi0 = &spi1;
++      };
++
++      backlight: backlight {
++              compatible = "pwm-backlight";
++              enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
++              pwms = <&pwm0 0 740740 0>;
++      };
++
++      gpio-keys {
++              compatible = "gpio-keys";
++              autorepeat;
++              pinctrl-names = "default";
++              pinctrl-0 = <&pwrbtn>;
++
++              power {
++                      debounce-interval = <100>;
++                      gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
++                      label = "GPIO Key Power";
++                      linux,code = <KEY_POWER>;
++                      wakeup-source;
++              };
++      };
++
++      leds {
++              status = "okay";
++              compatible = "gpio-leds";
++
++              work-led {
++                      label = "work";
++                      gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
++              };
++
++              standby-led {
++                      label = "standby";
++                      gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
++              };
++      };
++
++      sdio_pwrseq: sdio-pwrseq {
++              compatible = "mmc-pwrseq-simple";
++              clocks = <&rk808 1>;
++              clock-names = "ext_clock";
++              pinctrl-names = "default";
++              pinctrl-0 = <&wifi_enable_h>;
++
++              /*
++               * On the module itself this is one of these (depending
++               * on the actual card populated):
++               * - SDIO_RESET_L_WL_REG_ON
++               * - PDN (power down when low)
++               */
++              reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
++      };
++
++      /* switched by pmic_sleep */
++      vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
++              compatible = "regulator-fixed";
++              regulator-name = "vcc1v8_s3";
++              regulator-always-on;
++              regulator-boot-on;
++              regulator-min-microvolt = <1800000>;
++              regulator-max-microvolt = <1800000>;
++              vin-supply = <&vcc_1v8>;
++      };
++
++      dc_12v: dc-12v {
++              compatible = "regulator-fixed";
++              regulator-name = "dc_12v";
++              regulator-always-on;
++              regulator-boot-on;
++              regulator-min-microvolt = <12000000>;
++              regulator-max-microvolt = <12000000>;
++      };
++
++      vcc3v3_sys: 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_sys>;
++      };
++
++      vcc5v0_host: vcc5v0-host-regulator {
++              compatible = "regulator-fixed";
++              gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
++              pinctrl-names = "default";
++              pinctrl-0 = <&host_vbus_drv>;
++              regulator-name = "vcc5v0_host";
++      };
++
++      vcc5v0_usb3_host: vcc5v0-usb3-host-regulator {
++              compatible = "regulator-fixed";
++              enable-active-high;
++              gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
++              pinctrl-names = "default";
++              pinctrl-0 = <&host_usb3_drv>;
++              regulator-name = "vcc5v0_usb3_host";
++              regulator-always-on;
++      };
++
++      vcc_sys: vcc-sys {
++              compatible = "regulator-fixed";
++              regulator-name = "vcc_sys";
++              regulator-always-on;
++              regulator-boot-on;
++              regulator-min-microvolt = <5000000>;
++              regulator-max-microvolt = <5000000>;
++              vin-supply = <&dc_12v>;
++      };
++
++      vdd_log: vdd-log {
++              compatible = "pwm-regulator";
++              pwms = <&pwm2 0 25000 1>;
++              pwm-supply = <&vcc_sys>;
++              regulator-name = "vdd_log";
++              regulator-always-on;
++              regulator-boot-on;
++              regulator-init-microvolt = <950000>;
++              regulator-min-microvolt = <800000>;
++              regulator-max-microvolt = <1400000>;
++      };
++};
++
++&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>;
++};
++
++&emmc_phy {
++      status = "okay";
++};
++
++&i2c0 {
++      clock-frequency = <400000>;
++      i2c-scl-rising-time-ns = <168>;
++      i2c-scl-falling-time-ns = <4>;
++      status = "okay";
++
++      rk808: pmic@1b {
++              compatible = "rockchip,rk808";
++              reg = <0x1b>;
++              interrupt-parent = <&gpio1>;
++              interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
++              #clock-cells = <1>;
++              clock-output-names = "xin32k", "rk808-clkout2";
++              pinctrl-names = "default";
++              pinctrl-0 = <&pmic_int_l>;
++              rockchip,system-power-controller;
++              wakeup-source;
++
++              vcc1-supply = <&vcc_sys>;
++              vcc2-supply = <&vcc_sys>;
++              vcc3-supply = <&vcc_sys>;
++              vcc4-supply = <&vcc_sys>;
++              vcc6-supply = <&vcc_sys>;
++              vcc7-supply = <&vcc_sys>;
++              vcc8-supply = <&vcc3v3_sys>;
++              vcc9-supply = <&vcc_sys>;
++              vcc10-supply = <&vcc_sys>;
++              vcc11-supply = <&vcc_sys>;
++              vcc12-supply = <&vcc3v3_sys>;
++              vddio-supply = <&vcc_1v8>;
++
++              regulators {
++                      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: 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>;
++                              };
++                      };
++
++                      vcc1v8_dvp: LDO_REG1 {
++                              regulator-name = "vcc1v8_dvp";
++                              regulator-always-on;
++                              regulator-boot-on;
++                              regulator-min-microvolt = <1800000>;
++                              regulator-max-microvolt = <1800000>;
++                              regulator-state-mem {
++                                      regulator-off-in-suspend;
++                              };
++                      };
++
++                      vcc3v0_touch: LDO_REG2 {
++                              regulator-name = "vcc3v0_touch";
++                              regulator-min-microvolt = <3000000>;
++                              regulator-max-microvolt = <3000000>;
++                              regulator-always-on;
++                              regulator-boot-on;
++                              regulator-state-mem {
++                                      regulator-on-in-suspend;
++                                      regulator-suspend-microvolt = <3000000>;
++                              };
++                      };
++
++                      vcc1v8_pmu: LDO_REG3 {
++                              regulator-name = "vcc1v8_pmu";
++                              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 = <3300000>;
++                              regulator-max-microvolt = <3300000>;
++                              regulator-state-mem {
++                                      regulator-on-in-suspend;
++                                      regulator-suspend-microvolt = <3300000>;
++                              };
++                      };
++
++                      vcca3v0_codec: LDO_REG5 {
++                              regulator-name = "vcca3v0_codec";
++                              regulator-always-on;
++                              regulator-boot-on;
++                              regulator-min-microvolt = <3000000>;
++                              regulator-max-microvolt = <3000000>;
++                              regulator-state-mem {
++                                      regulator-off-in-suspend;
++                              };
++                      };
++
++                      vcc_1v5: LDO_REG6 {
++                              regulator-name = "vcc_1v5";
++                              regulator-always-on;
++                              regulator-boot-on;
++                              regulator-min-microvolt = <1500000>;
++                              regulator-max-microvolt = <1500000>;
++                              regulator-state-mem {
++                                      regulator-on-in-suspend;
++                                      regulator-suspend-microvolt = <1500000>;
++                              };
++                      };
++
++                      vcca1v8_codec: LDO_REG7 {
++                              regulator-name = "vcca1v8_codec";
++                              regulator-always-on;
++                              regulator-boot-on;
++                              regulator-min-microvolt = <1800000>;
++                              regulator-max-microvolt = <1800000>;
++                              regulator-state-mem {
++                                      regulator-off-in-suspend;
++                              };
++                      };
++
++                      vcc_3v0: LDO_REG8 {
++                              regulator-name = "vcc_3v0";
++                              regulator-always-on;
++                              regulator-boot-on;
++                              regulator-min-microvolt = <3000000>;
++                              regulator-max-microvolt = <3000000>;
++                              regulator-state-mem {
++                                      regulator-on-in-suspend;
++                                      regulator-suspend-microvolt = <3000000>;
++                              };
++                      };
++
++                      vcc3v3_s3: SWITCH_REG1 {
++                              regulator-name = "vcc3v3_s3";
++                              regulator-always-on;
++                              regulator-boot-on;
++                              regulator-state-mem {
++                                      regulator-off-in-suspend;
++                              };
++                      };
++
++                      vcc3v3_s0: SWITCH_REG2 {
++                              regulator-name = "vcc3v3_s0";
++                              regulator-always-on;
++                              regulator-boot-on;
++                              regulator-state-mem {
++                                      regulator-off-in-suspend;
++                              };
++                      };
++              };
++      };
++
++      vdd_cpu_b: regulator@40 {
++              compatible = "silergy,syr827";
++              reg = <0x40>;
++              fcs,suspend-voltage-selector = <1>;
++              pinctrl-names = "default";
++              pinctrl-0 = <&vsel1_gpio>;
++              vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
++              regulator-compatible = "fan53555-reg";
++              regulator-name = "vdd_cpu_b";
++              regulator-min-microvolt = <712500>;
++              regulator-max-microvolt = <1500000>;
++              regulator-ramp-delay = <1000>;
++              regulator-always-on;
++              regulator-boot-on;
++              vin-supply = <&vcc_sys>;
++
++              regulator-state-mem {
++                      regulator-off-in-suspend;
++              };
++      };
++
++      vdd_gpu: regulator@41 {
++              compatible = "silergy,syr828";
++              reg = <0x41>;
++              fcs,suspend-voltage-selector = <1>;
++              pinctrl-names = "default";
++              pinctrl-0 = <&vsel2_gpio>;
++              vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
++              regulator-compatible = "fan53555-reg";
++              regulator-name = "vdd_gpu";
++              regulator-min-microvolt = <712500>;
++              regulator-max-microvolt = <1500000>;
++              regulator-ramp-delay = <1000>;
++              regulator-always-on;
++              regulator-boot-on;
++              vin-supply = <&vcc_sys>;
++
++              regulator-state-mem {
++                      regulator-off-in-suspend;
++              };
++      };
++
++};
++
++&i2c4 {
++      i2c-scl-rising-time-ns = <600>;
++      i2c-scl-falling-time-ns = <20>;
++      status = "okay";
++
++      fusb0: typec-portc@22 {
++              compatible = "fcs,fusb302";
++              reg = <0x22>;
++              interrupt-parent = <&gpio1>;
++              interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
++              pinctrl-names = "default";
++              pinctrl-0 = <&fusb0_int>;
++              vbus-supply = <&vcc5v0_usb3_host>;
++              status = "okay";
++      };
++};
++
++&io_domains {
++      status = "okay";
++
++      bt656-supply = <&vcc1v8_dvp>;
++      audio-supply = <&vcca1v8_codec>;
++      sdmmc-supply = <&vcc_sdio>;
++      gpio1830-supply = <&vcc_3v0>;
++};
++
++&pmu_io_domains {
++      pmu1830-supply = <&vcc_3v0>;
++      status = "okay";
++};
++
++&pinctrl {
++      buttons {
++              pwrbtn: pwrbtn {
++                      rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
++              };
++      };
++
++      fusb302x {
++              fusb0_int: fusb0-int {
++                      rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
++              };
++      };
++
++      pmic {
++              pmic_int_l: pmic-int-l {
++                      rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
++              };
++
++              vsel1_gpio: vsel1-gpio {
++                      rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
++              };
++
++              vsel2_gpio: vsel2-gpio {
++                      rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
++              };
++      };
++
++      sdio-pwrseq {
++              wifi_enable_h: wifi-enable-h {
++                      rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
++              };
++      };
++
++      usb-typec {
++              vcc5v0_typec_en: vcc5v0_typec_en {
++                      rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
++              };
++      };
++
++      usb2 {
++              vcc5v0_host_en: vcc5v0-host-en {
++                      rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
++              };
++
++              host_vbus_drv: host-vbus-drv {
++                      rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
++              };
++
++              host_usb3_drv: host-usb3-drv {
++                      rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
++              };
++      };
++};
++
++&pwm0 {
++      status = "okay";
++};
++
++&pwm1 {
++      status = "okay";
++};
++
++&pwm2 {
++      status = "okay";
++};
++
++&saradc {
++      status = "okay";
++};
++
++&sdmmc {
++      bus-width = <4>;
++      status = "okay";
++      max-frequency = <20000000>;
++};
++
++&sdhci {
++      bus-width = <8>;
++      max-frequency = <25000000>;
++      mmc-hs400-1_8v;
++      mmc-hs400-enhanced-strobe;
++      non-removable;
++      status = "okay";
++};
++
++&tcphy0 {
++      status = "okay";
++};
++
++&tcphy1 {
++      status = "okay";
++};
++
++&tsadc {
++      /* tshut mode 0:CRU 1:GPIO */
++      rockchip,hw-tshut-mode = <1>;
++      /* tshut polarity 0:LOW 1:HIGH */
++      rockchip,hw-tshut-polarity = <1>;
++      status = "okay";
++};
++
++&u2phy0 {
++      status = "okay";
++
++      u2phy0_otg: otg-port {
++              status = "okay";
++      };
++
++      u2phy0_host: host-port {
++              phy-supply = <&vcc5v0_host>;
++              status = "okay";
++      };
++};
++
++&u2phy1 {
++      status = "okay";
++
++      u2phy1_otg: otg-port {
++              status = "okay";
++      };
++
++      u2phy1_host: host-port {
++              phy-supply = <&vcc5v0_host>;
++              status = "okay";
++      };
++};
++
++&uart2 {
++      status = "okay";
++};
++
++&usb_host0_ehci {
++      status = "okay";
++};
++
++&usb_host0_ohci {
++      status = "okay";
++};
++
++&usb_host1_ehci {
++      status = "okay";
++};
++
++&usb_host1_ohci {
++      status = "okay";
++};
++
++&usbdrd3_0 {
++      status = "okay";
++};
++
++&usbdrd_dwc3_0 {
++      status = "okay";
++      dr_mode = "otg";
++};
++
++&usbdrd3_1 {
++      status = "okay";
++};
++
++&usbdrd_dwc3_1 {
++      status = "okay";
++      dr_mode = "host";
++};
++
++&spi1 {
++      status = "okay";
++
++      spiflash: spi-flash@0 {
++              #address-cells = <0x1>;
++              #size-cells = <1>;
++              compatible = "jedec,spi-nor";
++              reg = <0x0>;
++              spi-max-frequency = <10000000>;
++              status = "okay";
++
++              partitions {
++                      compatible = "fixed-partitions";
++                      #address-cells = <1>;
++                      #size-cells = <1>;
++
++                      loader@8000 {
++                              label = "loader";
++                              reg = <0x0 0x3F8000>;
++                      };
++
++                      env@3f8000 {
++                              label = "env";
++                              reg = <0x3F8000 0x8000>;
++                      };
++
++                      vendor@7c0000 {
++                              label = "vendor";
++                              reg = <0x7C0000 0x40000>;
++                      };
++              };
++      };
++};
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_mach-rockchip_rk3399_Kconfig
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_mach-rockchip_rk3399_Kconfig:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-arch_arm_mach-rockchip_rk3399_Kconfig     Mon Jan  6 08:41:44 2020
@@ -0,0 +1,28 @@
+$NetBSD: patch-arch_arm_mach-rockchip_rk3399_Kconfig,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+--- arch/arm/mach-rockchip/rk3399/Kconfig.orig 2019-12-16 04:39:56.000000000 -0800
++++ arch/arm/mach-rockchip/rk3399/Kconfig      2020-01-03 09:31:11.465329801 -0800
+@@ -81,6 +81,13 @@
+          * GPIO expansion ports
+          * DC 12V/2A
+ 
++config TARGET_PINEBOOK_PRO_RK3399
++      bool "Pinebook Pro"
++      help
++        Pinebook Pro is a laptop based on the Rockchip rk3399 SoC
++        with 4Gb RAM, onboard eMMC, USB-C, a USB3 and USB2 port,
++        1920*1080 screen and all the usual laptop features.
++
+ endchoice
+ 
+ config ROCKCHIP_BOOT_MODE_REG
+@@ -113,6 +120,7 @@
+ config SPL_STACK_R_ADDR
+       default 0x04000000
+ 
++source "board/pine64/pinebook_pro_rk3399/Kconfig"
+ source "board/rockchip/evb_rk3399/Kconfig"
+ source "board/theobroma-systems/puma_rk3399/Kconfig"
+ source "board/vamrs/rock960_rk3399/Kconfig"
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_Kconfig
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_Kconfig:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_Kconfig  Mon Jan  6 08:41:44 2020
@@ -0,0 +1,25 @@
+$NetBSD: patch-board_pine64_pinebook_pro_rk3399_Kconfig,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git board/pine64/pinebook_pro_rk3399/Kconfig board/pine64/pinebook_pro_rk3399/Kconfig
+new file mode 100644
+index 0000000000..c37c643d6f
+--- /dev/null
++++ board/pine64/pinebook_pro_rk3399/Kconfig
+@@ -0,0 +1,15 @@
++if TARGET_PINEBOOK_PRO_RK3399
++
++config SYS_BOARD
++      default "pinebook_pro_rk3399"
++
++config SYS_VENDOR
++      default "pine64"
++
++config SYS_CONFIG_NAME
++      default "pinebook_pro_rk3399"
++
++config BOARD_SPECIFIC_OPTIONS
++      def_bool y
++
++endif
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_MAINTAINERS
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_MAINTAINERS:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_MAINTAINERS      Mon Jan  6 08:41:44 2020
@@ -0,0 +1,18 @@
+$NetBSD: patch-board_pine64_pinebook_pro_rk3399_MAINTAINERS,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git board/pine64/pinebook_pro_rk3399/MAINTAINERS board/pine64/pinebook_pro_rk3399/MAINTAINERS
+new file mode 100644
+index 0000000000..58400ebd28
+--- /dev/null
++++ board/pine64/pinebook_pro_rk3399/MAINTAINERS
+@@ -0,0 +1,8 @@
++PINEBOOK_PRO
++M:    Peter Robinson <pbrobinson at gmail.com>
++S:    Maintained
++F:    board/pine64/pinebook_pro_rk3399/
++F:    include/configs/pinebook_pro_rk3399.h
++F:    arch/arm/dts/rk3399-pinebook-pro.dts
++F:    arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
++F:    configs/pinebook_pro-rk3399_defconfig
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_Makefile
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_Makefile:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_Makefile Mon Jan  6 08:41:44 2020
@@ -0,0 +1,11 @@
+$NetBSD: patch-board_pine64_pinebook_pro_rk3399_Makefile,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git board/pine64/pinebook_pro_rk3399/Makefile board/pine64/pinebook_pro_rk3399/Makefile
+new file mode 100644
+index 0000000000..2f692a12a6
+--- /dev/null
++++ board/pine64/pinebook_pro_rk3399/Makefile
+@@ -0,0 +1 @@
++obj-y += pinebook-pro-rk3399.o
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_pinebook-pro-rk3399.c
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_pinebook-pro-rk3399.c:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-board_pine64_pinebook_pro_rk3399_pinebook-pro-rk3399.c    Mon Jan  6 08:41:44 2020
@@ -0,0 +1,202 @@
+$NetBSD: patch-board_pine64_pinebook_pro_rk3399_pinebook-pro-rk3399.c,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git board/pine64/pinebook_pro_rk3399/pinebook-pro-rk3399.c board/pine64/pinebook_pro_rk3399/pinebook-pro-rk3399.c
+new file mode 100644
+index 0000000000..b1a2ed3b77
+--- /dev/null
++++ board/pine64/pinebook_pro_rk3399/pinebook-pro-rk3399.c
+@@ -0,0 +1,192 @@
++/*
++ * (C) Copyright 2016 Rockchip Electronics Co., Ltd
++ *
++ * SPDX-License-Identifier:     GPL-2.0+
++ */
++#include <common.h>
++#include <dm.h>
++#include <misc.h>
++#include <syscon.h>
++#include <dm/pinctrl.h>
++#include <dm/uclass-internal.h>
++#include <asm/io.h>
++#include <asm/setup.h>
++#include <asm/arch-rockchip/clock.h>
++#include <asm/arch-rockchip/grf_rk3399.h>
++#include <asm/arch-rockchip/hardware.h>
++#include <asm/arch-rockchip/misc.h>
++#include <asm/arch-rockchip/periph.h>
++#include <power/regulator.h>
++#include <usb.h>
++#include <dwc3-uboot.h>
++
++#define RK3399_CPUID_OFF  0x7
++#define RK3399_CPUID_LEN  0x10
++
++static int fix_lcd_backling_pull_mode(void)
++{
++#include <asm/arch-rockchip/grf_rk3399.h>
++
++#define PMU_GRF_BASE  0xff320000
++
++      // set pull of GPIO1_A0
++      struct rk3399_pmugrf_regs * const pmugrf = (void *)PMU_GRF_BASE;
++      rk_clrsetreg(&pmugrf->gpio1_p[0], 3 << (2 * 0), 0 << (2 * 0));
++      return 0;
++}
++
++#ifndef CONFIG_SPL_BUILD
++int board_early_init_f(void)
++{
++      struct udevice *regulator;
++      int ret;
++
++      ret = regulator_get_by_platname("vcc5v0_host", &regulator);
++      if (ret) {
++              debug("%s vcc5v0_host init fail! ret %d\n", __func__, ret);
++              goto out;
++      }
++
++      ret = regulator_set_enable(regulator, true);
++      if (ret)
++              debug("%s vcc5v0-host-en set fail! ret %d\n", __func__, ret);
++
++      fix_lcd_backling_pull_mode();
++
++out:
++      return 0;
++}
++#endif
++
++static void setup_serial(void)
++{
++#if CONFIG_IS_ENABLED(ROCKCHIP_EFUSE)
++      struct udevice *dev;
++      int ret, i;
++      u8 cpuid[RK3399_CPUID_LEN];
++      u8 low[RK3399_CPUID_LEN/2], high[RK3399_CPUID_LEN/2];
++      char cpuid_str[RK3399_CPUID_LEN * 2 + 1];
++      u64 serialno;
++      char serialno_str[16];
++
++      /* retrieve the device */
++      ret = uclass_get_device_by_driver(UCLASS_MISC,
++                                        DM_GET_DRIVER(rockchip_efuse), &dev);
++      if (ret) {
++              debug("%s: could not find efuse device\n", __func__);
++              return;
++      }
++
++      /* read the cpu_id range from the efuses */
++      ret = misc_read(dev, RK3399_CPUID_OFF, &cpuid, sizeof(cpuid));
++      if (ret) {
++              debug("%s: reading cpuid from the efuses failed\n",
++                    __func__);
++              return;
++      }
++
++      memset(cpuid_str, 0, sizeof(cpuid_str));
++      for (i = 0; i < 16; i++)
++              sprintf(&cpuid_str[i * 2], "%02x", cpuid[i]);
++
++      debug("cpuid: %s\n", cpuid_str);
++
++      /*
++       * Mix the cpuid bytes using the same rules as in
++       *   ${linux}/drivers/soc/rockchip/rockchip-cpuinfo.c
++       */
++      for (i = 0; i < 8; i++) {
++              low[i] = cpuid[1 + (i << 1)];
++              high[i] = cpuid[i << 1];
++      }
++
++      serialno = crc32_no_comp(0, low, 8);
++      serialno |= (u64)crc32_no_comp(serialno, high, 8) << 32;
++      snprintf(serialno_str, sizeof(serialno_str), "%llx", serialno);
++
++      env_set("cpuid#", cpuid_str);
++      env_set("serial#", serialno_str);
++#endif
++
++      return;
++}
++
++#define GRF_IO_VSEL_BT565_SHIFT 0
++#define PMUGRF_CON0_VSEL_SHIFT 8
++
++#ifdef CONFIG_MISC_INIT_R
++static void setup_iodomain(void)
++{
++      struct rk3399_grf_regs *grf =
++         syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
++      struct rk3399_pmugrf_regs *pmugrf =
++         syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF);
++
++      /* BT565 is in 1.8v domain */
++      rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT);
++
++      /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */
++      rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT);
++}
++
++int misc_init_r(void)
++{
++      const u32 cpuid_offset = 0x7;
++      const u32 cpuid_length = 0x10;
++      u8 cpuid[cpuid_length];
++      int ret;
++
++      setup_iodomain();
++
++      ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
++      if (ret)
++              return ret;
++
++      ret = rockchip_cpuid_set(cpuid, cpuid_length);
++      if (ret)
++              return ret;
++
++      ret = rockchip_setup_macaddr();
++
++      setup_serial();
++
++      return ret;
++}
++#endif
++
++#ifdef CONFIG_SERIAL_TAG
++void get_board_serial(struct tag_serialnr *serialnr)
++{
++      char *serial_string;
++      u64 serial = 0;
++
++      serial_string = env_get("serial#");
++
++      if (serial_string)
++              serial = simple_strtoull(serial_string, NULL, 16);
++
++      serialnr->high = (u32)(serial >> 32);
++      serialnr->low = (u32)(serial & 0xffffffff);
++}
++#endif
++
++#ifdef CONFIG_USB_DWC3
++static struct dwc3_device dwc3_device_data = {
++      .maximum_speed = USB_SPEED_HIGH,
++      .base = 0xfe800000,
++      .dr_mode = USB_DR_MODE_PERIPHERAL,
++      .index = 0,
++      .dis_u2_susphy_quirk = 1,
++};
++
++int usb_gadget_handle_interrupts(void)
++{
++      dwc3_uboot_handle_interrupt(0);
++      return 0;
++}
++
++int board_usb_init(int index, enum usb_init_type init)
++{
++      return dwc3_uboot_init(&dwc3_device_data);
++}
++#endif
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-configs-pinebook_pro-rk3399_defconfig
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-configs-pinebook_pro-rk3399_defconfig:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-configs-pinebook_pro-rk3399_defconfig     Mon Jan  6 08:41:44 2020
@@ -0,0 +1,86 @@
+$NetBSD: patch-configs-pinebook_pro-rk3399_defconfig,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git configs/pinebook_pro-rk3399_defconfig configs/pinebook_pro-rk3399_defconfig
+new file mode 100644
+index 0000000000..28577256e7
+--- /dev/null
++++ configs/pinebook_pro-rk3399_defconfig
+@@ -0,0 +1,76 @@
++CONFIG_ARM=y
++CONFIG_ARCH_ROCKCHIP=y
++CONFIG_SYS_TEXT_BASE=0x00200000
++CONFIG_ROCKCHIP_RK3399=y
++CONFIG_TARGET_PINEBOOK_PRO_RK3399=y
++CONFIG_SPL_SPI_FLASH_SUPPORT=y
++CONFIG_SPL_SPI_SUPPORT=y
++CONFIG_DEBUG_UART_BASE=0xFF1A0000
++CONFIG_DEBUG_UART_CLOCK=24000000
++CONFIG_DEBUG_UART=y
++CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb"
++CONFIG_MISC_INIT_R=y
++# CONFIG_DISPLAY_CPUINFO is not set
++CONFIG_DISPLAY_BOARDINFO_LATE=y
++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
++CONFIG_SPL_STACK_R=y
++CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
++CONFIG_SPL_MTD_SUPPORT=y
++CONFIG_SPL_ATF=y
++CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
++CONFIG_TPL=y
++CONFIG_NR_DRAM_BANKS=1
++CONFIG_CMD_BOOTZ=y
++CONFIG_CMD_GPIO=y
++CONFIG_CMD_GPT=y
++CONFIG_CMD_I2C=y
++CONFIG_CMD_MMC=y
++CONFIG_CMD_SF=y
++CONFIG_CMD_USB=y
++# CONFIG_CMD_SETEXPR is not set
++CONFIG_CMD_PMIC=y
++CONFIG_CMD_REGULATOR=y
++CONFIG_CMD_MTDPARTS=y
++CONFIG_SPL_OF_CONTROL=y
++CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro"
++CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
++CONFIG_ROCKCHIP_GPIO=y
++CONFIG_SYS_I2C_ROCKCHIP=y
++CONFIG_BOOTDELAY=3
++CONFIG_LED=y
++CONFIG_LED_GPIO=y
++CONFIG_MISC=y
++CONFIG_ROCKCHIP_EFUSE=y
++CONFIG_MMC_DW=y
++CONFIG_MMC_DW_ROCKCHIP=y
++CONFIG_MMC_SDHCI=y
++CONFIG_MMC_SDHCI_SDMA=y
++CONFIG_MMC_SDHCI_ROCKCHIP=y
++CONFIG_SPI_FLASH=y
++CONFIG_SPI_FLASH_GIGADEVICE=y
++CONFIG_SPI_FLASH_WINBOND=y
++CONFIG_DM_ETH=y
++CONFIG_PMIC_RK8XX=y
++CONFIG_REGULATOR_PWM=y
++CONFIG_REGULATOR_RK8XX=y
++CONFIG_PWM_ROCKCHIP=y
++CONFIG_RAM_RK3399_LPDDR4=y
++CONFIG_BAUDRATE=1500000
++CONFIG_DEBUG_UART_SHIFT=2
++CONFIG_ROCKCHIP_SPI=y
++CONFIG_SYSRESET=y
++CONFIG_USB=y
++CONFIG_ROCKCHIP_USB2_PHY=y
++CONFIG_USB_XHCI_HCD=y
++CONFIG_USB_XHCI_DWC3=y
++# CONFIG_USB_XHCI_ROCKCHIP is not set
++CONFIG_USB_EHCI_HCD=y
++CONFIG_USB_EHCI_GENERIC=y
++CONFIG_USB_HOST_ETHER=y
++CONFIG_USB_ETHER_ASIX=y
++CONFIG_USB_ETHER_ASIX88179=y
++CONFIG_USB_ETHER_MCS7830=y
++CONFIG_USB_ETHER_RTL8152=y
++CONFIG_USB_ETHER_SMSC95XX=y
++CONFIG_SPL_TINY_MEMSET=y
++CONFIG_ERRNO_STR=y
Index: pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-include-configs-pinebook_pro_rk3399.h
diff -u /dev/null pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-include-configs-pinebook_pro_rk3399.h:1.1
--- /dev/null   Mon Jan  6 08:41:44 2020
+++ pkgsrc/sysutils/u-boot-pinebook-pro/patches/patch-include-configs-pinebook_pro_rk3399.h     Mon Jan  6 08:41:44 2020
@@ -0,0 +1,39 @@
+$NetBSD: patch-include-configs-pinebook_pro_rk3399.h,v 1.1 2020/01/06 08:41:44 mrg Exp $
+
+Pinebook Pro support from https://patchwork.ozlabs.org/patch/1194525/
+
+diff --git include/configs/pinebook_pro_rk3399.h include/configs/pinebook_pro_rk3399.h
+new file mode 100644
+index 0000000000..f383becbf8
+--- /dev/null
++++ include/configs/pinebook_pro_rk3399.h
+@@ -0,0 +1,29 @@
++/*
++ * Copyright (C) 2016 Rockchip Electronics Co., Ltd
++ * Copyright (C) 2019 Peter Robinson <pbrobinson at gmail.com>
++ *
++ * SPDX-License-Identifier:     GPL-2.0+
++ */
++
++#ifndef __PINEBOOKPRO_RK3399_H
++#define __PINEBOOKPRO_RK3399_H
++
++#define ROCKCHIP_DEVICE_SETTINGS \
++              "stdin=serial,usbkbd\0" \
++              "stdout=serial,vidconsole\0" \
++              "stderr=serial,vidconsole\0"
++
++#include <configs/rk3399_common.h>
++
++#if defined(CONFIG_ENV_IS_IN_MMC)
++#define CONFIG_SYS_MMC_ENV_DEV 0
++#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH)
++#define CONFIG_ENV_SECT_SIZE          (8 * 1024)
++#endif
++
++#undef CONFIG_SYS_SPI_U_BOOT_OFFS
++#define CONFIG_SYS_SPI_U_BOOT_OFFS    1024 * 512
++
++#define SDRAM_BANK_SIZE                       (2UL << 30)
++
++#endif



Home | Main Index | Thread Index | Old Index