feat: update meta-ti and support board rev B

Update to release 09_00_00_03.

Including u-boot 2023.04
Excluding the kernel (6.1 in the SDK, we are staying on 5.10)

https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/09_00_00_03/exports/docs/devices/AM64X/Release_Specific_Release_Notes.html

Update u-boot
This commit is contained in:
Alexandre Bard 2024-02-12 17:38:49 +01:00
parent 13a6f17abd
commit e29f9f33d9
8 changed files with 14 additions and 1911 deletions

@ -1 +1 @@
Subproject commit 0f9035a628c10ec0e0656387989e99b1365f184f
Subproject commit 2e3ffb73630f4ff78227822bdb4c23e75a720223

View File

@ -1,8 +1,8 @@
SWUPDATE_IMAGES += "tiboot3"
SWUPDATE_IMAGES += "tiboot3-am64x-gemini-b"
SWUPDATE_IMAGES += "tispl"
SWUPDATE_IMAGES += "u-boot-${MACHINE}"
SWUPDATE_IMAGES_FSTYPES[tiboot3] = ".bin"
SWUPDATE_IMAGES_FSTYPES[tiboot3-am64x-gemini-b] = ".bin"
SWUPDATE_IMAGES_FSTYPES[tispl] = ".bin"
python () {
@ -20,12 +20,12 @@ def coreos_swupdate_extends_images_for_am64xx(d,s):
return [
{
"filename" : "tiboot3.bin",
"filename" : "tiboot3-am64x-gemini-b.bin",
"installed-directly" : "true",
"device" : "/dev/mmcblk0boot0",
"offset": str(OFFSET[0]),
"type" : "raw",
"sha256" : swupdate_get_sha256(d, s, "tiboot3.bin"),
"sha256" : swupdate_get_sha256(d, s, "tiboot3-am64x-gemini-b.bin"),
},
{
"filename" : "tispl.bin",

View File

@ -1,8 +1,6 @@
# This file contains the part of the configuration that is common to all
# board based on the Gemini platform and that are the same for both
# the Cortex-A53 and Cortex-R5 core (Gemini use a multi-arch SOC)
TI_LINUX_FW_SRCREV = "0f4905088d24e474063f33777559149e11538be5"
K3_IMAGE_GEN_SRCREV ?= "2308bfb01e7bd3e03514cb33f06180dd9bb79121"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-coreos"
PREFERRED_PROVIDER_u-boot = "u-boot-ti-coreos"

View File

@ -6,7 +6,7 @@
WKS_FILE ?= ""
require conf/machine/include/k3.inc
require conf/machine/include/netmodule-am64xx-common.inc
require netmodule-am64xx-common.inc
# Workarround to remove wic related settings added to IMAGE_FSTYPE in k3.inc
# without too much risk of breaking a distro or local config (as remove)

View File

@ -2,11 +2,12 @@
# board based on the Gemini platform and that are the Cortex-R5 core.
require conf/machine/include/k3r5.inc
require conf/machine/include/netmodule-am64xx-common.inc
require netmodule-am64xx-common.inc
SYSFW_SOC = "am64x"
SYSFW_CONFIG = "evm"
SYSFW_SUFFIX = "gp"
# A variant
#SPL_BINARY = "tiboot3-am64x-gemini.${SPL_SUFFIX}"
# B variant
SPL_BINARY = "tiboot3-am64x-gemini-b.${SPL_SUFFIX}"
# Sanity checks don't apply for real time cores
INHERIT:remove = "coreos-sanity"

View File

@ -1,43 +0,0 @@
From cf50887c0d4053d5a454971633b1f71d477ebc6b Mon Sep 17 00:00:00 2001
From: Stefan Eichenberger <eichest@gmail.com>
Date: Tue, 7 Feb 2023 09:20:15 +0100
Subject: [PATCH] ram: k3-ddrss: Fix a ddr4 controller stall
The DDR4 controller might stall indefinitely if we access the same
register twice withing a short time interval. This commit makes sure we
reuse the previously read value so that we don't have to access twice.
See this article for more information:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1057242/am6442-access-to-ddr4-controller-register-stalls-indefinitely-while-in-lpddr4-frequency-update
---
drivers/ram/k3-ddrss/k3-ddrss.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/ram/k3-ddrss/k3-ddrss.c b/drivers/ram/k3-ddrss/k3-ddrss.c
index e8b7aec9e0..b4acb3aea6 100644
--- a/drivers/ram/k3-ddrss/k3-ddrss.c
+++ b/drivers/ram/k3-ddrss/k3-ddrss.c
@@ -241,15 +241,13 @@ static void k3_lpddr4_freq_update(struct k3_ddrss_desc *ddrss)
}
}
+static u32 dram_class = DENALI_CTL_0_DRAM_CLASS_LPDDR4;
static void k3_lpddr4_ack_freq_upd_req(const lpddr4_privatedata *pd)
{
- u32 dram_class;
struct k3_ddrss_desc *ddrss = (struct k3_ddrss_desc *)pd->ddr_instance;
debug("--->>> LPDDR4 Initialization is in progress ... <<<---\n");
- dram_class = k3_lpddr4_read_ddr_type(pd);
-
switch (dram_class) {
case DENALI_CTL_0_DRAM_CLASS_DDR4:
break;
@@ -263,7 +261,6 @@ static void k3_lpddr4_ack_freq_upd_req(const lpddr4_privatedata *pd)
static int k3_ddrss_init_freq(struct k3_ddrss_desc *ddrss)
{
- u32 dram_class;
int ret;
lpddr4_privatedata *pd = &ddrss->pd;

View File

@ -5,22 +5,14 @@ SPL_UART_BINARY:netmodule-hw34-k3r5 = "u-boot-spl.bin"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1"
PV = "2023.01"
PV = "2023.04"
SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master \
file://0001-ram-k3-ddrss-Fix-a-ddr4-controller-stall.patch \
file://0002-gemini-board-add-board-and-device-tree.patch \
SRC_URI = "git://bitbucket.gad.local:7999/nm-nsp/netmodule-u-boot.git;protocol=ssh;user=git;branch=gemini/ti/ti-u-boot-2023.04 \
"
SRCREV = "62e2ad1ceafbfdf2c44d3dc1b6efc81e768a96b9"
SRCREV = "34cf1e583eb263dd6644d0ebf3468b3846fc0925"
PACKAGECONFIG[atf] = "BL31=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a"
do_deploy:append:netmodule-hw34-k3r5 () {
mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true
mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true
}
# Only require coreos include file for the aarch64 build of u-boot
UBOOT_REQUIRE ?= ""
UBOOT_REQUIRE:netmodule-hw34 = "recipes-bsp/u-boot/u-boot-coreos.inc"