summaryrefslogtreecommitdiff
path: root/sysutils/arm-trusted-firmware-rk3399
diff options
context:
space:
mode:
authormrg <mrg@pkgsrc.org>2020-02-23 01:01:11 +0000
committermrg <mrg@pkgsrc.org>2020-02-23 01:01:11 +0000
commit2a512cf5b95ff5b8217b61c7579a78a82de89c89 (patch)
tree623181aba732d8a7320dfa1d5c7c2f1d34868ff0 /sysutils/arm-trusted-firmware-rk3399
parent1e8adb6c23d6589a6aa575116a017d530ffdec95 (diff)
downloadpkgsrc-2a512cf5b95ff5b8217b61c7579a78a82de89c89.tar.gz
properly fix reboots for rk3399 ATF, by pulling in
https://github.com/ARM-software/arm-trusted-firmware/commit/d52331d01e0efae36e837af90887a8aed33ff604#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.
Diffstat (limited to 'sysutils/arm-trusted-firmware-rk3399')
-rw-r--r--sysutils/arm-trusted-firmware-rk3399/Makefile15
-rw-r--r--sysutils/arm-trusted-firmware-rk3399/buildlink3.mk4
-rw-r--r--sysutils/arm-trusted-firmware-rk3399/distinfo9
-rw-r--r--sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_common_params_setup.c52
-rw-r--r--sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.c14
-rw-r--r--sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.h5
-rw-r--r--sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_soc_soc.c5
7 files changed, 73 insertions, 31 deletions
diff --git a/sysutils/arm-trusted-firmware-rk3399/Makefile b/sysutils/arm-trusted-firmware-rk3399/Makefile
index c2c66d386e0..d413ab908f5 100644
--- a/sysutils/arm-trusted-firmware-rk3399/Makefile
+++ b/sysutils/arm-trusted-firmware-rk3399/Makefile
@@ -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
diff --git a/sysutils/arm-trusted-firmware-rk3399/buildlink3.mk b/sysutils/arm-trusted-firmware-rk3399/buildlink3.mk
index cfb113f2ec6..4ca89f165bc 100644
--- a/sysutils/arm-trusted-firmware-rk3399/buildlink3.mk
+++ b/sysutils/arm-trusted-firmware-rk3399/buildlink3.mk
@@ -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
diff --git a/sysutils/arm-trusted-firmware-rk3399/distinfo b/sysutils/arm-trusted-firmware-rk3399/distinfo
index 08902c263e0..ea61b2db701 100644
--- a/sysutils/arm-trusted-firmware-rk3399/distinfo
+++ b/sysutils/arm-trusted-firmware-rk3399/distinfo
@@ -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
diff --git a/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_common_params_setup.c b/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_common_params_setup.c
new file mode 100644
index 00000000000..4ddc940abda
--- /dev/null
+++ b/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_common_params_setup.c
@@ -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;
+ }
+
diff --git a/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.c b/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.c
index 35e7a9aa6e7..82b13cb3b58 100644
--- a/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.c
+++ b/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.c
@@ -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 {
diff --git a/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.h b/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.h
index e10c4f58615..d53d55fdbb9 100644
--- a/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.h
+++ b/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_pmu_pmu.h
@@ -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
diff --git a/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_soc_soc.c b/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_soc_soc.c
index a01caaf6286..bbd03b192d5 100644
--- a/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_soc_soc.c
+++ b/sysutils/arm-trusted-firmware-rk3399/patches/patch-plat_rockchip_rk3399_drivers_soc_soc.c
@@ -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