Various u-boot changes: * Rockchip now outputs a single image that combines idbloader.img and u-boot.itb called u-boot-rockchip.bin. It gets written at block 64. For example: dd if=u-boot-rockchip.bin of=/dev/sdXc seek=64 * Fix rock64 gen3 SPL boot hang. Submitted upstream and awaiting review. Tested on both gen2 and gen3 boards. * Enable PCIe gen2 on rockpro64. I've been running with this since December and tested various PCIe boards.
okay? Index: Makefile =================================================================== RCS file: /cvs/ports/sysutils/u-boot/Makefile,v retrieving revision 1.68 diff -u -p -u -r1.68 Makefile --- Makefile 15 May 2020 12:53:13 -0000 1.68 +++ Makefile 18 May 2020 22:11:35 -0000 @@ -8,6 +8,7 @@ FLAVOR?= arm COMMENT= U-Boot firmware VERSION= 2020.04 +REVISION= 0 DISTNAME= u-boot-${VERSION} PKGNAME= u-boot-${FLAVOR}-${VERSION:S/-//} FULLPKGNAME= ${PKGNAME} @@ -148,6 +149,7 @@ FILES=\ u-boot-spl.kwb \ u-boot-with-spl.bin \ u-boot.itb \ + u-boot-rockchip.bin \ idbloader.img \ spl/sunxi-spl.bin \ Index: patches/patch-arch_arm_dts_rk3328-rock64-u-boot_dtsi =================================================================== RCS file: patches/patch-arch_arm_dts_rk3328-rock64-u-boot_dtsi diff -N patches/patch-arch_arm_dts_rk3328-rock64-u-boot_dtsi --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-arch_arm_dts_rk3328-rock64-u-boot_dtsi 18 May 2020 22:11:35 -0000 @@ -0,0 +1,35 @@ +$OpenBSD$ + +Fix gen3 SPL boot hang + +Index: arch/arm/dts/rk3328-rock64-u-boot.dtsi +--- arch/arm/dts/rk3328-rock64-u-boot.dtsi.orig ++++ arch/arm/dts/rk3328-rock64-u-boot.dtsi +@@ -11,6 +11,27 @@ + }; + }; + ++&gpio0 { ++ u-boot,dm-spl; ++}; ++ ++&pinctrl { ++ u-boot,dm-spl; ++}; ++ ++&sdmmc0m1_gpio { ++ u-boot,dm-spl; ++}; ++ ++&pcfg_pull_up_4ma { ++ u-boot,dm-spl; ++}; ++ + &usb_host0_xhci { + status = "okay"; ++}; ++ ++/* Need this and all the pinctrl/gpio stuff above to set pinmux */ ++&vcc_sd { ++ u-boot,dm-spl; + }; Index: patches/patch-arch_arm_dts_rk3399-rockpro64_dts =================================================================== RCS file: /cvs/ports/sysutils/u-boot/patches/patch-arch_arm_dts_rk3399-rockpro64_dts,v retrieving revision 1.4 diff -u -p -u -r1.4 patch-arch_arm_dts_rk3399-rockpro64_dts --- patches/patch-arch_arm_dts_rk3399-rockpro64_dts 17 Jan 2020 14:24:42 -0000 1.4 +++ patches/patch-arch_arm_dts_rk3399-rockpro64_dts 18 May 2020 22:11:35 -0000 @@ -1,5 +1,7 @@ $OpenBSD: patch-arch_arm_dts_rk3399-rockpro64_dts,v 1.4 2020/01/17 14:24:42 kurt Exp $ +Set baud rate, enable fan control and PCIe gen2. + Index: arch/arm/dts/rk3399-rockpro64.dts --- arch/arm/dts/rk3399-rockpro64.dts.orig +++ arch/arm/dts/rk3399-rockpro64.dts @@ -20,7 +22,15 @@ Index: arch/arm/dts/rk3399-rockpro64.dts #cooling-cells = <2>; fan-supply = <&vcc12v_dcin>; pwms = <&pwm1 0 50000 0>; -@@ -750,4 +751,43 @@ +@@ -522,6 +523,7 @@ + + &pcie0 { + ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; ++ max-link-speed = <2>; + num-lanes = <4>; + pinctrl-names = "default"; + pinctrl-0 = <&pcie_perst>; +@@ -750,4 +752,43 @@ &vopl_mmu { status = "okay"; Index: patches/patch-configs_rock64-rk3328_defconfig =================================================================== RCS file: /cvs/ports/sysutils/u-boot/patches/patch-configs_rock64-rk3328_defconfig,v retrieving revision 1.2 diff -u -p -u -r1.2 patch-configs_rock64-rk3328_defconfig --- patches/patch-configs_rock64-rk3328_defconfig 7 Jan 2020 07:07:08 -0000 1.2 +++ patches/patch-configs_rock64-rk3328_defconfig 18 May 2020 22:11:35 -0000 @@ -1,9 +1,47 @@ $OpenBSD: patch-configs_rock64-rk3328_defconfig,v 1.2 2020/01/07 07:07:08 jsg Exp $ +Fix gen3 SPL boot hang + Index: configs/rock64-rk3328_defconfig --- configs/rock64-rk3328_defconfig.orig +++ configs/rock64-rk3328_defconfig -@@ -73,7 +73,7 @@ CONFIG_RAM=y +@@ -1,6 +1,7 @@ + CONFIG_ARM=y + CONFIG_ARCH_ROCKCHIP=y + CONFIG_SYS_TEXT_BASE=0x00200000 ++CONFIG_SPL_GPIO_SUPPORT=y + CONFIG_ENV_OFFSET=0x3F8000 + CONFIG_ROCKCHIP_RK3328=y + CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y +@@ -25,6 +26,8 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y + # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set + CONFIG_TPL_SYS_MALLOC_SIMPLE=y + CONFIG_SPL_STACK_R=y ++CONFIG_SPL_I2C_SUPPORT=y ++CONFIG_SPL_POWER_SUPPORT=y + CONFIG_SPL_ATF=y + CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y + CONFIG_CMD_BOOTZ=y +@@ -36,7 +39,7 @@ CONFIG_CMD_TIME=y + CONFIG_SPL_OF_CONTROL=y + CONFIG_TPL_OF_CONTROL=y + CONFIG_DEFAULT_DEVICE_TREE="rk3328-rock64" +-CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" ++CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" + CONFIG_TPL_OF_PLATDATA=y + CONFIG_ENV_IS_IN_MMC=y + CONFIG_SYS_RELOC_GD_ENV_ADDR=y +@@ -65,7 +68,9 @@ CONFIG_PINCTRL=y + CONFIG_SPL_PINCTRL=y + CONFIG_DM_PMIC=y + CONFIG_PMIC_RK8XX=y ++CONFIG_SPL_DM_REGULATOR=y + CONFIG_REGULATOR_PWM=y ++CONFIG_SPL_DM_REGULATOR_FIXED=y + CONFIG_DM_REGULATOR_FIXED=y + CONFIG_REGULATOR_RK8XX=y + CONFIG_PWM_ROCKCHIP=y +@@ -73,7 +78,7 @@ CONFIG_RAM=y CONFIG_SPL_RAM=y CONFIG_TPL_RAM=y CONFIG_DM_RESET=y Index: pkg/PFRAG.aarch64 =================================================================== RCS file: /cvs/ports/sysutils/u-boot/pkg/PFRAG.aarch64,v retrieving revision 1.15 diff -u -p -u -r1.15 PFRAG.aarch64 --- pkg/PFRAG.aarch64 27 Feb 2020 14:45:51 -0000 1.15 +++ pkg/PFRAG.aarch64 18 May 2020 22:11:35 -0000 @@ -18,6 +18,7 @@ share/u-boot/bananapi_m64/u-boot.itb share/u-boot/firefly-rk3399/ share/u-boot/firefly-rk3399/idbloader.img share/u-boot/firefly-rk3399/u-boot +share/u-boot/firefly-rk3399/u-boot-rockchip.bin share/u-boot/firefly-rk3399/u-boot.bin share/u-boot/firefly-rk3399/u-boot.img share/u-boot/firefly-rk3399/u-boot.itb @@ -89,18 +90,21 @@ share/u-boot/qemu_arm64/u-boot.bin share/u-boot/rock64-rk3328/ share/u-boot/rock64-rk3328/idbloader.img share/u-boot/rock64-rk3328/u-boot +share/u-boot/rock64-rk3328/u-boot-rockchip.bin share/u-boot/rock64-rk3328/u-boot.bin share/u-boot/rock64-rk3328/u-boot.img share/u-boot/rock64-rk3328/u-boot.itb share/u-boot/rock960-rk3399/ share/u-boot/rock960-rk3399/idbloader.img share/u-boot/rock960-rk3399/u-boot +share/u-boot/rock960-rk3399/u-boot-rockchip.bin share/u-boot/rock960-rk3399/u-boot.bin share/u-boot/rock960-rk3399/u-boot.img share/u-boot/rock960-rk3399/u-boot.itb share/u-boot/rockpro64-rk3399/ share/u-boot/rockpro64-rk3399/idbloader.img share/u-boot/rockpro64-rk3399/u-boot +share/u-boot/rockpro64-rk3399/u-boot-rockchip.bin share/u-boot/rockpro64-rk3399/u-boot.bin share/u-boot/rockpro64-rk3399/u-boot.img share/u-boot/rockpro64-rk3399/u-boot.itb