properly fix reboots for rk3399 ATF, by pulling in

d52331d01e (diff-94a9f1c135591eedd6addbcc729f46fb)
and removing my hack.

switch rk3399 ATF to release builds over debug builds.

bump both u-boot-pinebook-pro & arm-trusted-firmware-rk3399.
This commit is contained in:
mrg 2020-02-23 01:01:11 +00:00
parent 82502d3942
commit 623aa9957e
8 changed files with 75 additions and 33 deletions

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.2 2020/02/22 11:55:36 mrg Exp $
# $NetBSD: Makefile,v 1.3 2020/02/23 01:01:11 mrg Exp $
VERSION= 2.2
PKGREVISION= 1
PKGREVISION= 2
GITHUB_PROJECT= arm-trusted-firmware
GITHUB_TAG= v2.2
#GITHUB_TAG= ab3d22473df279c61ed4d4873d26b072dcf887e8
@ -24,7 +24,8 @@ MAKE_FLAGS+= CROSS_COMPILE=${PREFIX}/cross-aarch64-none-elf/bin/aarch64-none-elf
MAKE_FLAGS+= M0_CROSS_COMPILE=${PREFIX}/cross-arm-none-eabi/bin/arm-none-eabi-
MAKE_FLAGS+= PLAT=${PLATFORM}
MAKE_FLAGS+= CFLAGS='-gdwarf-2'
MAKE_FLAGS+= DEBUG=1
#MAKE_FLAGS+= DEBUG=1
#MAKE_FLAGS+= LOG_LEVEL=50
#MAKE_FLAGS+= V=1
MAKE_FLAGS+= BUILD_STRING=${GITHUB_TAG}
BUILD_TARGET= bl31
@ -33,9 +34,15 @@ BUILD_TARGET= bl31
BUILD_DEPENDS+= cross-aarch64-none-elf-gcc-[0-9]*:../../cross/aarch64-none-elf-gcc
BUILD_DEPENDS+= cross-arm-none-eabi-gcc-[0-9]*:../../cross/arm-none-eabi-gcc
.if empty(MAKE_FLAGS:MDEBUG=1)
BL31_DIR=release
.else
BL31_DIR=debug
.endif
do-install:
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/arm-trusted-firmware/${PLATFORM}
${INSTALL_DATA} ${WRKSRC}/build/${PLATFORM}/debug/bl31/bl31.elf \
${INSTALL_DATA} ${WRKSRC}/build/${PLATFORM}/${BL31_DIR}/bl31/bl31.elf \
${DESTDIR}${PREFIX}/share/arm-trusted-firmware/${PLATFORM}/
# XXX kludge. pkgsrc passes down run path flags in LDFLAGS assuming

View file

@ -1,4 +1,4 @@
# $NetBSD: buildlink3.mk,v 1.3 2020/02/22 11:55:36 mrg Exp $
# $NetBSD: buildlink3.mk,v 1.4 2020/02/23 01:01:11 mrg Exp $
BUILDLINK_DEPMETHOD.arm-trusted-firmware-rk3399?= build
@ -7,7 +7,7 @@ BUILDLINK_TREE+= arm-trusted-firmware-rk3399
.if !defined(ARM_TRUSTED_FIRMWARE_RK3399_BUILDLINK3_MK)
ARM_TRUSTED_FIRMWARE_RK3399_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.arm-trusted-firmware-rk3399+= arm-trusted-firmware-rk3399>=2.2nb1
BUILDLINK_API_DEPENDS.arm-trusted-firmware-rk3399+= arm-trusted-firmware-rk3399>=2.2nb2
BUILDLINK_PKGSRCDIR.arm-trusted-firmware-rk3399?= ../../sysutils/arm-trusted-firmware-rk3399
.endif # ARM_TRUSTED_FIRMWARE_RK3399_BUILDLINK3_MK

View file

@ -1,9 +1,10 @@
$NetBSD: distinfo,v 1.2 2020/02/22 11:55:36 mrg Exp $
$NetBSD: distinfo,v 1.3 2020/02/23 01:01:11 mrg Exp $
SHA1 (arm-trusted-firmware-2.2.zip) = 95bd4fc50b233ffffef87fe209756811a813f284
RMD160 (arm-trusted-firmware-2.2.zip) = 615b7a60e3293dee8686cfca8bca3a83fea5ff88
SHA512 (arm-trusted-firmware-2.2.zip) = 84fd95b14b5363b1a98482b71bde6915e8e36e832260371343fd576245124abfeb017ee5898996c373efcc46d03210b86ab665446aa1f7a3c9e4f290d2137f37
Size (arm-trusted-firmware-2.2.zip) = 5205813 bytes
SHA1 (patch-plat_rockchip_rk3399_drivers_pmu_pmu.c) = 3b14320a47c9606ce9f6c48d8c7b3e06ab9a0253
SHA1 (patch-plat_rockchip_rk3399_drivers_pmu_pmu.h) = cfc458bd37c5467612d4d3b39bf4bfbb2f2ba27f
SHA1 (patch-plat_rockchip_rk3399_drivers_soc_soc.c) = 06016302b793f1256a1baac46ab0a54f41332795
SHA1 (patch-plat_rockchip_common_params_setup.c) = 4a53e20d8ff0500aee691f415801c574a07d2d7f
SHA1 (patch-plat_rockchip_rk3399_drivers_pmu_pmu.c) = 64d3db54b8b3a9d25b955636a4338969dae05f5e
SHA1 (patch-plat_rockchip_rk3399_drivers_pmu_pmu.h) = f3cc7c2ec114cb08d38e5e08e54eb4b34080da70
SHA1 (patch-plat_rockchip_rk3399_drivers_soc_soc.c) = 3813ad5f37eeb5ae431fdb1eb779a0a74b9598a9

View file

@ -0,0 +1,52 @@
$NetBSD: patch-plat_rockchip_common_params_setup.c,v 1.1 2020/02/23 01:01:11 mrg Exp $
https://github.com/ARM-software/arm-trusted-firmware/commit/d52331d01e0efae36e837af90887a8aed33ff604#diff-94a9f1c135591eedd6addbcc729f46fb
plat/rockchip: initialize reset and poweroff GPIOs with known invalid value
And return NULL if we didn't get them in bl aux params otherwise reset and poweroff
will be broken on platforms that do not have reset and poweroff GPIOs.
Fixes: c1185ff ("plat/rockchip: Switch to use new common BL aux parameter library")
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Change-Id: Ic6cf6383d8f05d745e2c5d5e1b1df38514ea8429
--- plat/rockchip/common/params_setup.c.orig 2019-10-22 06:36:23.000000000 -0700
+++ plat/rockchip/common/params_setup.c 2020-02-22 16:35:59.372670386 -0800
@@ -6,6 +6,7 @@
#include <assert.h>
#include <errno.h>
+#include <limits.h>
#include <string.h>
#include <lib/bl_aux_params/bl_aux_params.h>
@@ -21,8 +22,8 @@
#include <plat_params.h>
#include <plat_private.h>
-static struct bl_aux_gpio_info rst_gpio;
-static struct bl_aux_gpio_info poweroff_gpio;
+static struct bl_aux_gpio_info rst_gpio = { .index = UINT_MAX };
+static struct bl_aux_gpio_info poweroff_gpio = { .index = UINT_MAX };
static struct bl_aux_gpio_info suspend_gpio[10];
uint32_t suspend_gpio_cnt;
static struct bl_aux_rk_apio_info suspend_apio;
@@ -174,11 +175,17 @@
struct bl_aux_gpio_info *plat_get_rockchip_gpio_reset(void)
{
+ if (rst_gpio.index == UINT_MAX)
+ return NULL;
+
return &rst_gpio;
}
struct bl_aux_gpio_info *plat_get_rockchip_gpio_poweroff(void)
{
+ if (poweroff_gpio.index == UINT_MAX)
+ return NULL;
+
return &poweroff_gpio;
}

View file

@ -1,4 +1,4 @@
$NetBSD: patch-plat_rockchip_rk3399_drivers_pmu_pmu.c,v 1.1 2020/02/22 11:55:36 mrg Exp $
$NetBSD: patch-plat_rockchip_rk3399_drivers_pmu_pmu.c,v 1.2 2020/02/23 01:01:11 mrg Exp $
pull in https://github.com/ARM-software/arm-trusted-firmware/commit/b4899041e5f0b8e8b388c6511b5233516b8785ec
@ -9,9 +9,6 @@ pull in https://github.com/ARM-software/arm-trusted-firmware/commit/b4899041e5f0
Signed-off-by: Piotr Szczepanik <piter75@gmail.com>
Change-Id: If41b12ba1dfcb2ba937361b58eafd50bf5c483d4
with one additional change to force using the soft reset path,
as the gpio one does not seem to work.
--- plat/rockchip/rk3399/drivers/pmu/pmu.c.orig 2019-10-22 06:36:23.000000000 -0700
+++ plat/rockchip/rk3399/drivers/pmu/pmu.c 2020-02-22 03:31:50.759523535 -0800
@ -41,12 +38,3 @@ as the gpio one does not seem to work.
void rk3399_flush_l2_b(void)
{
uint32_t wait_cnt = 0;
@@ -1504,7 +1523,7 @@
rst_gpio = plat_get_rockchip_gpio_reset();
- if (rst_gpio) {
+ if (rst_gpio && 0) {
gpio_set_direction(rst_gpio->index, GPIO_DIR_OUT);
gpio_set_value(rst_gpio->index, rst_gpio->polarity);
} else {

View file

@ -1,4 +1,4 @@
$NetBSD: patch-plat_rockchip_rk3399_drivers_pmu_pmu.h,v 1.1 2020/02/22 11:55:36 mrg Exp $
$NetBSD: patch-plat_rockchip_rk3399_drivers_pmu_pmu.h,v 1.2 2020/02/23 01:01:11 mrg Exp $
pull in https://github.com/ARM-software/arm-trusted-firmware/commit/b4899041e5f0b8e8b388c6511b5233516b8785ec
@ -9,9 +9,6 @@ pull in https://github.com/ARM-software/arm-trusted-firmware/commit/b4899041e5f0
Signed-off-by: Piotr Szczepanik <piter75@gmail.com>
Change-Id: If41b12ba1dfcb2ba937361b58eafd50bf5c483d4
with one additional change to force using the soft reset path,
as the gpio one does not seem to work.
--- plat/rockchip/rk3399/drivers/pmu/pmu.h.orig 2019-10-22 06:36:23.000000000 -0700
+++ plat/rockchip/rk3399/drivers/pmu/pmu.h 2020-02-22 02:32:31.695012124 -0800

View file

@ -1,4 +1,4 @@
$NetBSD: patch-plat_rockchip_rk3399_drivers_soc_soc.c,v 1.1 2020/02/22 11:55:36 mrg Exp $
$NetBSD: patch-plat_rockchip_rk3399_drivers_soc_soc.c,v 1.2 2020/02/23 01:01:11 mrg Exp $
pull in https://github.com/ARM-software/arm-trusted-firmware/commit/b4899041e5f0b8e8b388c6511b5233516b8785ec
@ -9,9 +9,6 @@ pull in https://github.com/ARM-software/arm-trusted-firmware/commit/b4899041e5f0
Signed-off-by: Piotr Szczepanik <piter75@gmail.com>
Change-Id: If41b12ba1dfcb2ba937361b58eafd50bf5c483d4
with one additional change to force using the soft reset path,
as the gpio one does not seem to work.
--- plat/rockchip/rk3399/drivers/soc/soc.c.orig 2020-02-22 02:30:58.094221102 -0800
+++ plat/rockchip/rk3399/drivers/soc/soc.c 2020-02-22 02:31:04.989130511 -0800

View file

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.6 2020/02/22 11:55:36 mrg Exp $
# $NetBSD: Makefile,v 1.7 2020/02/23 01:01:11 mrg Exp $
PKGREVISION= 4
PKGREVISION= 5
UBOOT_TARGET= pinebook-pro
UBOOT_CONFIG= pinebook_pro-rk3399_defconfig