Index: sysutils/u-boot-pinebookpro/Makefile =================================================================== --- sysutils/u-boot-pinebookpro/Makefile +++ sysutils/u-boot-pinebookpro/Makefile @@ -2,6 +2,8 @@ MASTERDIR= ${.CURDIR}/../u-boot-master +EXTRA_PATCHES= ${.CURDIR}/files/ + U_BOOT_SLAVE_PORTREVISION_2020.10= 1 MODEL= pinebookpro Index: sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi =================================================================== --- sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi +++ sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399-pinebook-pro-u-boot.dtsi @@ -0,0 +1,13 @@ +--- arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi.orig 2020-10-05 15:15:32 UTC ++++ arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +@@ -20,6 +20,10 @@ + }; + }; + ++&edp { ++ rockchip,panel = <&edp_panel>; ++}; ++ + &i2c0 { + u-boot,dm-pre-reloc; + }; Index: sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399-pinebook-pro.dts =================================================================== --- sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399-pinebook-pro.dts +++ sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399-pinebook-pro.dts @@ -0,0 +1,43 @@ +--- arch/arm/dts/rk3399-pinebook-pro.dts.orig 2020-10-05 15:15:32 UTC ++++ arch/arm/dts/rk3399-pinebook-pro.dts +@@ -290,7 +290,7 @@ + pinctrl-names = "default"; + pinctrl-0 = <&lcdvcc_en_gpio>; + regulator-name = "vcc3v3_panel"; +- regulator-always-on; ++ /*regulator-always-on;*/ + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <100000>; +@@ -370,6 +370,31 @@ + pinctrl-names = "default"; + pinctrl-0 = <&dc_det_gpio>; + }; ++}; ++ ++&cru { ++ assigned-clocks = ++ <&cru PLL_GPLL>, <&cru PLL_CPLL>, ++ <&cru PLL_NPLL>, ++ <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>, ++ <&cru PCLK_PERIHP>, ++ <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>, ++ <&cru PCLK_PERILP0>, <&cru ACLK_CCI>, ++ <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>, ++ <&cru ACLK_VIO>, <&cru ACLK_HDCP>, ++ <&cru ACLK_GIC_PRE>, ++ <&cru PCLK_DDR>,<&cru ACLK_VOP1>; ++ assigned-clock-rates= ++ <594000000>, <800000000>, ++ <1000000000>, ++ <150000000>, <75000000>, ++ <37500000>, ++ <100000000>, <100000000>, ++ <50000000>, <600000000>, ++ <100000000>, <50000000>, ++ <400000000>, <400000000>, ++ <200000000>, ++ <200000000>, <594000000>; + }; + + &cdn_dp { Index: sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399.dtsi =================================================================== --- sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399.dtsi +++ sysutils/u-boot-pinebookpro/files/patch-arch_arm_dts_rk3399.dtsi @@ -0,0 +1,20 @@ +--- arch/arm/dts/rk3399.dtsi.orig 2021-02-02 00:41:57 UTC ++++ arch/arm/dts/rk3399.dtsi +@@ -1604,13 +1604,13 @@ + #address-cells = <1>; + #size-cells = <0>; + +- vopl_out_mipi: endpoint@0 { +- reg = <0>; ++ vopl_out_mipi: endpoint@1 { ++ reg = <1>; + remote-endpoint = <&mipi_in_vopl>; + }; + +- vopl_out_edp: endpoint@1 { +- reg = <1>; ++ vopl_out_edp: endpoint@0 { ++ reg = <0>; + remote-endpoint = <&edp_in_vopl>; + }; + Index: sysutils/u-boot-pinebookpro/files/patch-configs_pinebook-pro-rk3399__defconfig =================================================================== --- sysutils/u-boot-pinebookpro/files/patch-configs_pinebook-pro-rk3399__defconfig +++ sysutils/u-boot-pinebookpro/files/patch-configs_pinebook-pro-rk3399__defconfig @@ -0,0 +1,78 @@ +--- configs/pinebook-pro-rk3399_defconfig.orig 2020-10-05 15:15:32 UTC ++++ configs/pinebook-pro-rk3399_defconfig +@@ -1,18 +1,16 @@ + CONFIG_ARM=y + CONFIG_ARCH_ROCKCHIP=y + CONFIG_SYS_TEXT_BASE=0x00200000 +-CONFIG_NR_DRAM_BANKS=1 + CONFIG_ENV_SIZE=0x8000 + CONFIG_ROCKCHIP_RK3399=y + CONFIG_TARGET_PINEBOOK_PRO_RK3399=y ++CONFIG_NR_DRAM_BANKS=1 + CONFIG_DEBUG_UART_BASE=0xFF1A0000 + CONFIG_DEBUG_UART_CLOCK=24000000 + CONFIG_SPL_SPI_FLASH_SUPPORT=y + CONFIG_SPL_SPI_SUPPORT=y +-CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro" + CONFIG_DEBUG_UART=y + CONFIG_BOOTDELAY=3 +-CONFIG_USE_PREBOOT=y + CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb" + CONFIG_MISC_INIT_R=y + CONFIG_DISPLAY_BOARDINFO_LATE=y +@@ -22,6 +20,7 @@ CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000 + CONFIG_SPL_MTD_SUPPORT=y + CONFIG_SPL_SPI_LOAD=y + CONFIG_TPL=y ++CONFIG_CMD_BMP=y + CONFIG_CMD_BOOTZ=y + CONFIG_CMD_GPIO=y + CONFIG_CMD_GPT=y +@@ -34,12 +33,13 @@ CONFIG_CMD_TIME=y + CONFIG_CMD_PMIC=y + CONFIG_CMD_REGULATOR=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_ENV_IS_IN_SPI_FLASH=y + CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_ENV_IS_IN_SPI_FLASH=y ++ + CONFIG_ROCKCHIP_GPIO=y + CONFIG_SYS_I2C_ROCKCHIP=y +-CONFIG_DM_KEYBOARD=y + CONFIG_LED=y + CONFIG_LED_GPIO=y + CONFIG_MISC=y +@@ -62,8 +62,6 @@ CONFIG_REGULATOR_RK8XX=y + CONFIG_PWM_ROCKCHIP=y + CONFIG_RAM_RK3399_LPDDR4=y + CONFIG_DM_RESET=y +-CONFIG_DM_RNG=y +-CONFIG_RNG_ROCKCHIP=y + CONFIG_BAUDRATE=1500000 + CONFIG_DEBUG_UART_SHIFT=2 + CONFIG_ROCKCHIP_SPI=y +@@ -73,17 +71,19 @@ CONFIG_USB_XHCI_HCD=y + CONFIG_USB_XHCI_DWC3=y + CONFIG_USB_EHCI_HCD=y + CONFIG_USB_EHCI_GENERIC=y +-CONFIG_USB_OHCI_HCD=y +-CONFIG_USB_OHCI_GENERIC=y + CONFIG_USB_DWC3=y + CONFIG_ROCKCHIP_USB2_PHY=y + CONFIG_USB_KEYBOARD=y + CONFIG_USB_HOST_ETHER=y + CONFIG_USB_ETHER_ASIX=y + CONFIG_USB_ETHER_RTL8152=y ++CONFIG_USE_PREBOOT=y + CONFIG_DM_VIDEO=y + CONFIG_DISPLAY=y +-CONFIG_VIDEO_ROCKCHIP=y + CONFIG_DISPLAY_ROCKCHIP_EDP=y ++CONFIG_VIDEO_BPP8=y ++CONFIG_VIDEO_BPP16=y ++CONFIG_VIDEO_BPP32=y ++CONFIG_VIDEO_ROCKCHIP=y + CONFIG_SPL_TINY_MEMSET=y + CONFIG_ERRNO_STR=y Index: sysutils/u-boot-pinebookpro/files/patch-drivers_video_rockchip_rk__edp.c =================================================================== --- sysutils/u-boot-pinebookpro/files/patch-drivers_video_rockchip_rk__edp.c +++ sysutils/u-boot-pinebookpro/files/patch-drivers_video_rockchip_rk__edp.c @@ -0,0 +1,78 @@ +--- drivers/video/rockchip/rk_edp.c.orig 2020-10-05 15:15:32 UTC ++++ drivers/video/rockchip/rk_edp.c +@@ -18,9 +18,15 @@ + #include + #include + #include ++#if defined(CONFIG_ROCKCHIP_RK3288) + #include +-#include + #include ++#endif ++#if defined(CONFIG_ROCKCHIP_RK3399) ++#include ++#include ++#endif ++#include + #include + + #define MAX_CR_LOOP 5 +@@ -39,7 +45,12 @@ static const char * const pre_emph_names[] = { + + struct rk_edp_priv { + struct rk3288_edp *regs; ++#if defined(CONFIG_ROCKCHIP_RK3288) + struct rk3288_grf *grf; ++#endif ++#if defined(CONFIG_ROCKCHIP_RK3399) ++ struct rk3399_grf_regs *grf; ++#endif + struct udevice *panel; + struct link_train link_train; + u8 train_set[4]; +@@ -1037,6 +1048,7 @@ static int rk_edp_probe(struct udevice *dev) + int vop_id = uc_plat->source_id; + debug("%s, uc_plat=%p, vop_id=%u\n", __func__, uc_plat, vop_id); + ++#if defined(CONFIG_ROCKCHIP_RK3288) + ret = clk_get_by_index(dev, 1, &clk); + if (ret >= 0) { + ret = clk_set_rate(&clk, 0); +@@ -1046,6 +1058,7 @@ static int rk_edp_probe(struct udevice *dev) + debug("%s: Failed to set EDP clock: ret=%d\n", __func__, ret); + return ret; + } ++#endif + + ret = clk_get_by_index(uc_plat->src_dev, 0, &clk); + if (ret >= 0) { +@@ -1057,14 +1070,20 @@ static int rk_edp_probe(struct udevice *dev) + __func__, uc_plat->src_dev->name, ret); + return ret; + } +- ++#if defined(CONFIG_ROCKCHIP_RK3288) + /* grf_edp_ref_clk_sel: from internal 24MHz or 27MHz clock */ + rk_setreg(&priv->grf->soc_con12, 1 << 4); + + /* select epd signal from vop0 or vop1 */ + rk_clrsetreg(&priv->grf->soc_con6, (1 << 5), + (vop_id == 1) ? (1 << 5) : (0 << 5)); ++#endif + ++#if defined(CONFIG_ROCKCHIP_RK3399) ++ /* select epd signal from vop0 or vop1 */ ++ rk_clrsetreg(&priv->grf->soc_con20, (1 << 5), ++ (vop_id == 1) ? (1 << 5) : (0 << 5)); ++#endif + rockchip_edp_wait_hpd(priv); + + rk_edp_init_refclk(regs); +@@ -1085,6 +1104,7 @@ static const struct dm_display_ops dp_rockchip_ops = { + + static const struct udevice_id rockchip_dp_ids[] = { + { .compatible = "rockchip,rk3288-edp" }, ++ { .compatible = "rockchip,rk3399-edp" }, + { } + }; + Index: sysutils/u-boot-pinebookpro/files/patch-include_configs_rk3399__common.h =================================================================== --- sysutils/u-boot-pinebookpro/files/patch-include_configs_rk3399__common.h +++ sysutils/u-boot-pinebookpro/files/patch-include_configs_rk3399__common.h @@ -0,0 +1,29 @@ +--- include/configs/rk3399_common.h.orig 2020-10-05 15:15:32 UTC ++++ include/configs/rk3399_common.h +@@ -56,12 +56,9 @@ + "kernel_comp_addr_r=0x08000000\0" \ + "kernel_comp_size=0x2000000\0" + +-#ifndef ROCKCHIP_DEVICE_SETTINGS +-#define ROCKCHIP_DEVICE_SETTINGS +-#endif +- + #include + #include ++#define PREBOOT_CMD "led red:standby on;" + #define CONFIG_EXTRA_ENV_SETTINGS \ + ENV_MEM_LAYOUT_SETTINGS \ + "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ +@@ -69,10 +66,11 @@ + ROCKCHIP_DEVICE_SETTINGS \ + BOOTENV \ + BOOTENV_SF \ ++ "loadaddr=0x40000000\0" \ ++ "preboot=" PREBOOT_CMD "\0" \ + "altbootcmd=" \ + "setenv boot_syslinux_conf extlinux/extlinux-rollback.conf;" \ + "run distro_bootcmd\0" +- + #endif + + /* enable usb config for usb ether */