Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
commit
ce1f6e9d5d
|
@ -1,68 +0,0 @@
|
|||
From 04441858b575409271ea67d2e65b2f858f0b2522 Mon Sep 17 00:00:00 2001
|
||||
From: David Abdurachmanov <davidlt@rivosinc.com>
|
||||
Date: Wed, 29 Jun 2022 14:30:30 +0300
|
||||
Subject: [PATCH] Enable "sbi" command and SBI sysreset
|
||||
|
||||
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
|
||||
---
|
||||
configs/qemu-riscv64_defconfig | 5 +++++
|
||||
configs/qemu-riscv64_smode_defconfig | 4 ++++
|
||||
configs/sifive_unleashed_defconfig | 5 +++++
|
||||
configs/sifive_unmatched_defconfig | 5 +++++
|
||||
4 files changed, 19 insertions(+)
|
||||
|
||||
diff --git a/configs/qemu-riscv64_defconfig b/configs/qemu-riscv64_defconfig
|
||||
index f7b9de10..bb4b8486 100644
|
||||
--- a/configs/qemu-riscv64_defconfig
|
||||
+++ b/configs/qemu-riscv64_defconfig
|
||||
@@ -16,3 +16,8 @@ CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_SYS_MAX_FLASH_BANKS=2
|
||||
+CONFIG_CMD_SBI=y
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_SYSRESET_SBI=y
|
||||
+CONFIG_CMD_POWEROFF=y
|
||||
+CONFIG_SYSRESET_CMD_POWEROFF=y
|
||||
diff --git a/configs/qemu-riscv64_smode_defconfig b/configs/qemu-riscv64_smode_defconfig
|
||||
index 4d83570c..f13f008d 100644
|
||||
--- a/configs/qemu-riscv64_smode_defconfig
|
||||
+++ b/configs/qemu-riscv64_smode_defconfig
|
||||
@@ -19,4 +19,8 @@ CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_SYS_MAX_FLASH_BANKS=2
|
||||
+CONFIG_SYSRESET=y
|
||||
CONFIG_SYSRESET_SBI=y
|
||||
+CONFIG_CMD_SBI=y
|
||||
+CONFIG_CMD_POWEROFF=y
|
||||
+CONFIG_SYSRESET_CMD_POWEROFF=y
|
||||
diff --git a/configs/sifive_unleashed_defconfig b/configs/sifive_unleashed_defconfig
|
||||
index fe2227e5..082b23f1 100644
|
||||
--- a/configs/sifive_unleashed_defconfig
|
||||
+++ b/configs/sifive_unleashed_defconfig
|
||||
@@ -30,3 +30,8 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_DM_RESET=y
|
||||
+CONFIG_CMD_SBI=y
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_SYSRESET_SBI=y
|
||||
+CONFIG_CMD_POWEROFF=y
|
||||
+CONFIG_SYSRESET_CMD_POWEROFF=y
|
||||
diff --git a/configs/sifive_unmatched_defconfig b/configs/sifive_unmatched_defconfig
|
||||
index 5d070843..0dd90856 100644
|
||||
--- a/configs/sifive_unmatched_defconfig
|
||||
+++ b/configs/sifive_unmatched_defconfig
|
||||
@@ -52,3 +52,8 @@ CONFIG_DM_SCSI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_PCI=y
|
||||
+CONFIG_CMD_SBI=y
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_SYSRESET_SBI=y
|
||||
+CONFIG_CMD_POWEROFF=y
|
||||
+CONFIG_SYSRESET_CMD_POWEROFF=y
|
||||
--
|
||||
2.35.1
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
From d4546cee228b86b8ade6db23b4310880f7756ae0 Mon Sep 17 00:00:00 2001
|
||||
From: David Abdurachmanov <david.abdurachmanov@sifive.com>
|
||||
Date: Mon, 13 Sep 2021 03:22:32 -0700
|
||||
Subject: [PATCH 4/6] riscv: sifive: unmatched: disable FDT and initrd
|
||||
relocation
|
||||
|
||||
Same as on SiFive Unleashed we need to disable fdt and initrd relocation. Tom
|
||||
Rini mentined 18 days ago that it's most likely due to RISC-V lacking
|
||||
`arch_lmb_reserve` implementation.
|
||||
|
||||
The patch seems to be submitted now:
|
||||
[PATCH 09/12] lmb: riscv: Add arch_lmb_reserve()
|
||||
https://lists.denx.de/pipermail/u-boot/2021-September/460333.html
|
||||
|
||||
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
|
||||
---
|
||||
include/configs/sifive-unmatched.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/configs/sifive-unmatched.h b/include/configs/sifive-unmatched.h
|
||||
index fa734a66..e62ad6ac 100644
|
||||
--- a/include/configs/sifive-unmatched.h
|
||||
+++ b/include/configs/sifive-unmatched.h
|
||||
@@ -55,6 +55,8 @@
|
||||
"name=system,size=-,bootable,type=${type_guid_gpt_system};"
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
+ "fdt_high=0xffffffffffffffff\0" \
|
||||
+ "initrd_high=0xffffffffffffffff\0" \
|
||||
"kernel_addr_r=0x84000000\0" \
|
||||
"kernel_comp_addr_r=0x88000000\0" \
|
||||
"kernel_comp_size=0x4000000\0" \
|
||||
--
|
||||
2.36.1
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
From fbb43136d726289aba68f6222bf449b7e27ea70b Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Chen <vincent.chen@sifive.com>
|
||||
Date: Mon, 15 Nov 2021 03:31:04 -0800
|
||||
Subject: [PATCH 5/6] board: sifive: spl: Initialized the PWM setting in the
|
||||
SPL stage
|
||||
|
||||
LEDs and multiple fans can be controlled by SPL. This patch ensures
|
||||
that all fans have been enabled in the SPL stage. In addition, the
|
||||
LED's color will be set to yellow.
|
||||
---
|
||||
board/sifive/unmatched/Makefile | 1 +
|
||||
board/sifive/unmatched/pwm.c | 57 +++++++++++++++++++++++++++++++++
|
||||
board/sifive/unmatched/spl.c | 2 ++
|
||||
3 files changed, 60 insertions(+)
|
||||
create mode 100644 board/sifive/unmatched/pwm.c
|
||||
|
||||
diff --git a/board/sifive/unmatched/Makefile b/board/sifive/unmatched/Makefile
|
||||
index 13453300..5df01982 100644
|
||||
--- a/board/sifive/unmatched/Makefile
|
||||
+++ b/board/sifive/unmatched/Makefile
|
||||
@@ -9,3 +9,4 @@ obj-y += spl.o
|
||||
else
|
||||
obj-y += unmatched.o
|
||||
endif
|
||||
+obj-y += pwm.o
|
||||
diff --git a/board/sifive/unmatched/pwm.c b/board/sifive/unmatched/pwm.c
|
||||
new file mode 100644
|
||||
index 00000000..e1cc0231
|
||||
--- /dev/null
|
||||
+++ b/board/sifive/unmatched/pwm.c
|
||||
@@ -0,0 +1,57 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (c) 2021, SiFive Inc
|
||||
+ *
|
||||
+ * Authors:
|
||||
+ * Vincent Chen <vincent.chen@sifive.com>
|
||||
+ * David Abdurachmanov <david.abdurachmanov@sifive.com>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/io.h>
|
||||
+#include <asm/arch/eeprom.h>
|
||||
+
|
||||
+struct pwm_sifive_regs {
|
||||
+ unsigned int cfg; /* PWM configuration register */
|
||||
+ unsigned int pad0; /* Reserved */
|
||||
+ unsigned int cnt; /* PWM count register */
|
||||
+ unsigned int pad1; /* Reserved */
|
||||
+ unsigned int pwms; /* Scaled PWM count register */
|
||||
+ unsigned int pad2; /* Reserved */
|
||||
+ unsigned int pad3; /* Reserved */
|
||||
+ unsigned int pad4; /* Reserved */
|
||||
+ unsigned int cmp0; /* PWM 0 compare register */
|
||||
+ unsigned int cmp1; /* PWM 1 compare register */
|
||||
+ unsigned int cmp2; /* PWM 2 compare register */
|
||||
+ unsigned int cmp3; /* PWM 3 compare register */
|
||||
+};
|
||||
+
|
||||
+#define PWM0_BASE 0x10020000
|
||||
+#define PWM1_BASE 0x10021000
|
||||
+#define PWM_CFG_INIT 0x1000
|
||||
+#define PWM_CMP_ENABLE_VAL 0x0
|
||||
+#define PWM_CMP_DISABLE_VAL 0xffff
|
||||
+
|
||||
+void pwm_device_init(void)
|
||||
+{
|
||||
+ struct pwm_sifive_regs *pwm0, *pwm1;
|
||||
+ pwm0 = (struct pwm_sifive_regs *)PWM0_BASE;
|
||||
+ pwm1 = (struct pwm_sifive_regs *)PWM1_BASE;
|
||||
+ writel(PWM_CMP_DISABLE_VAL, (void *)&pwm0->cmp0);
|
||||
+ /* Set the 3-color PWM LEDs to yellow in SPL */
|
||||
+ writel(PWM_CMP_ENABLE_VAL, (void *)&pwm0->cmp1);
|
||||
+ writel(PWM_CMP_ENABLE_VAL, (void *)&pwm0->cmp2);
|
||||
+ writel(PWM_CMP_DISABLE_VAL, (void *)&pwm0->cmp3);
|
||||
+ writel(PWM_CFG_INIT, (void *)&pwm0->cfg);
|
||||
+
|
||||
+ writel(PWM_CMP_DISABLE_VAL, (void *)&pwm0->cmp3);
|
||||
+ /* Turn on all the fans, (J21), (J23) and (J24), on the unmatched board */
|
||||
+ /* The SoC fan(J21) on the rev3 board cannot be controled by PWM_COMP0,
|
||||
+ so here sets the initial value of PWM_COMP0 as DISABLE */
|
||||
+ if (get_pcb_revision_from_eeprom() == PCB_REVISION_REV3)
|
||||
+ writel(PWM_CMP_DISABLE_VAL, (void *)&pwm1->cmp1);
|
||||
+ else
|
||||
+ writel(PWM_CMP_ENABLE_VAL, (void *)&pwm1->cmp1);
|
||||
+ writel(PWM_CMP_ENABLE_VAL, (void *)&pwm1->cmp2);
|
||||
+ writel(PWM_CMP_ENABLE_VAL, (void *)&pwm1->cmp3);
|
||||
+ writel(PWM_CFG_INIT, (void *)&pwm1->cfg);
|
||||
+}
|
||||
diff --git a/board/sifive/unmatched/spl.c b/board/sifive/unmatched/spl.c
|
||||
index 7c0beedc..f3a661a8 100644
|
||||
--- a/board/sifive/unmatched/spl.c
|
||||
+++ b/board/sifive/unmatched/spl.c
|
||||
@@ -90,6 +90,8 @@ int spl_board_init_f(void)
|
||||
goto end;
|
||||
}
|
||||
|
||||
+ pwm_device_init();
|
||||
+
|
||||
ret = spl_gemgxl_init();
|
||||
if (ret) {
|
||||
debug("Gigabit ethernet PHY (VSC8541) init failed: %d\n", ret);
|
||||
--
|
||||
2.36.1
|
||||
|
|
@ -1,120 +0,0 @@
|
|||
From c920399ac5a2bd0d770b1f6833843b7abeb641e7 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Chen <vincent.chen@sifive.com>
|
||||
Date: Mon, 24 Jan 2022 02:57:40 -0800
|
||||
Subject: [PATCH 6/6] board: sifive: spl: Set remote thermal of TMP451 to 85
|
||||
deg C for the unmatched board
|
||||
|
||||
For TMP451 on the unmatched board, the default value of the remote
|
||||
thermal threshold is 108 deg C. This commit initilizes it to 85 deg C at SPL.
|
||||
---
|
||||
board/sifive/unmatched/spl.c | 29 +++++++++++++++++++++++++++++
|
||||
drivers/misc/Kconfig | 10 ++++++++++
|
||||
include/configs/sifive-unmatched.h | 4 ++++
|
||||
scripts/config_whitelist.txt | 1 +
|
||||
4 files changed, 44 insertions(+)
|
||||
|
||||
diff --git a/board/sifive/unmatched/spl.c b/board/sifive/unmatched/spl.c
|
||||
index f3a661a8..05ba5916 100644
|
||||
--- a/board/sifive/unmatched/spl.c
|
||||
+++ b/board/sifive/unmatched/spl.c
|
||||
@@ -10,6 +10,8 @@
|
||||
#include <spl.h>
|
||||
#include <misc.h>
|
||||
#include <log.h>
|
||||
+#include <config.h>
|
||||
+#include <i2c.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/io.h>
|
||||
#include <asm/gpio.h>
|
||||
@@ -26,6 +28,27 @@
|
||||
#define MODE_SELECT_SD 0xb
|
||||
#define MODE_SELECT_MASK GENMASK(3, 0)
|
||||
|
||||
+#define TMP451_REMOTE_THERM_LIMIT_REG_OFFSET 0x19
|
||||
+#define TMP451_REMOTE_THERM_LIMIT_INIT_VALUE 0x55
|
||||
+
|
||||
+static inline int init_tmp451_remote_therm_limit(void)
|
||||
+{
|
||||
+ struct udevice *dev;
|
||||
+ unsigned char r_therm_limit = TMP451_REMOTE_THERM_LIMIT_INIT_VALUE;
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = i2c_get_chip_for_busnum(CONFIG_SYS_TMP451_BUS_NUM,
|
||||
+ CONFIG_SYS_I2C_TMP451_ADDR,
|
||||
+ CONFIG_SYS_I2C_TMP451_ADDR_LEN,
|
||||
+ &dev);
|
||||
+
|
||||
+ if (!ret)
|
||||
+ ret = dm_i2c_write(dev, TMP451_REMOTE_THERM_LIMIT_REG_OFFSET,
|
||||
+ &r_therm_limit,
|
||||
+ sizeof(unsigned char));
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
static inline int spl_reset_device_by_gpio(const char *label, int pin, int low_width)
|
||||
{
|
||||
int ret;
|
||||
@@ -92,6 +115,12 @@ int spl_board_init_f(void)
|
||||
|
||||
pwm_device_init();
|
||||
|
||||
+ ret = init_tmp451_remote_therm_limit();
|
||||
+ if (ret) {
|
||||
+ debug("TMP451 remote THERM limit init failed: %d\n", ret);
|
||||
+ goto end;
|
||||
+ }
|
||||
+
|
||||
ret = spl_gemgxl_init();
|
||||
if (ret) {
|
||||
debug("Gigabit ethernet PHY (VSC8541) init failed: %d\n", ret);
|
||||
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
|
||||
index 85ae7f62..38229cdf 100644
|
||||
--- a/drivers/misc/Kconfig
|
||||
+++ b/drivers/misc/Kconfig
|
||||
@@ -463,6 +463,16 @@ config SYS_I2C_EEPROM_ADDR
|
||||
|
||||
if I2C_EEPROM
|
||||
|
||||
+config SYS_I2C_TMP451_ADDR
|
||||
+ hex "Chip address of the TMP451 device"
|
||||
+ default 0
|
||||
+
|
||||
+config SYS_I2C_TMP451_ADDR_LEN
|
||||
+ int "Length in bytes of the TMP451 memory array address"
|
||||
+ default 1
|
||||
+ help
|
||||
+ Note: This is NOT the chip address length!
|
||||
+
|
||||
config SYS_I2C_EEPROM_ADDR_OVERFLOW
|
||||
hex "EEPROM Address Overflow"
|
||||
default 0x0
|
||||
diff --git a/include/configs/sifive-unmatched.h b/include/configs/sifive-unmatched.h
|
||||
index e62ad6ac..718108a3 100644
|
||||
--- a/include/configs/sifive-unmatched.h
|
||||
+++ b/include/configs/sifive-unmatched.h
|
||||
@@ -32,6 +32,10 @@
|
||||
|
||||
#define CONFIG_STANDALONE_LOAD_ADDR 0x80200000
|
||||
|
||||
+#define CONFIG_SYS_TMP451_BUS_NUM 0
|
||||
+#define CONFIG_SYS_I2C_TMP451_ADDR 0x4c
|
||||
+#define CONFIG_SYS_I2C_TMP451_ADDR_LEN 0x1
|
||||
+
|
||||
/* Environment options */
|
||||
|
||||
#ifndef CONFIG_SPL_BUILD
|
||||
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
|
||||
index cecdda67..378faa09 100644
|
||||
--- a/scripts/config_whitelist.txt
|
||||
+++ b/scripts/config_whitelist.txt
|
||||
@@ -1671,6 +1671,7 @@ CONFIG_SYS_TIMER_BASE
|
||||
CONFIG_SYS_TIMER_COUNTER
|
||||
CONFIG_SYS_TIMER_COUNTS_DOWN
|
||||
CONFIG_SYS_TIMER_RATE
|
||||
+CONFIG_SYS_TMP451_BUS_NUM
|
||||
CONFIG_SYS_TMPVIRT
|
||||
CONFIG_SYS_TSEC1_OFFSET
|
||||
CONFIG_SYS_TSEC2_OFFSET
|
||||
--
|
||||
2.36.1
|
||||
|
|
@ -6,6 +6,7 @@ bananapi_m64
|
|||
beelink_gs1
|
||||
dragonboard410c
|
||||
dragonboard820c
|
||||
dragonboard845c
|
||||
evb-rk3328
|
||||
evb-rk3399
|
||||
ficus-rk3399
|
||||
|
@ -58,9 +59,9 @@ pine64-lts
|
|||
pine64_plus
|
||||
pinebook
|
||||
pinebook-pro-rk3399
|
||||
pinephone-pro-rk3399
|
||||
pine_h64
|
||||
pinephone
|
||||
pinephone-pro-rk3399
|
||||
pinetab
|
||||
poplar
|
||||
puma-rk3399
|
||||
|
@ -77,8 +78,8 @@ roc-pc-rk3399
|
|||
rpi_3
|
||||
rpi_4
|
||||
rpi_arm64
|
||||
starqltechn
|
||||
sopine_baseboard
|
||||
starqltechn
|
||||
tanix_tx6
|
||||
teres_i
|
||||
turris_mox
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
qemu-riscv64
|
||||
qemu-riscv64_smode
|
||||
qemu-riscv64_spl
|
||||
sifive_unleashed
|
||||
sifive_unmatched
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,296 @@
|
|||
From patchwork Wed Aug 10 12:39:26 2022
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Antoine Mazeas <antoine@karthanis.net>
|
||||
X-Patchwork-Id: 1665242
|
||||
X-Patchwork-Delegate: matthias.bgg@gmail.com
|
||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: bilbo.ozlabs.org;
|
||||
dkim=pass (1024-bit key;
|
||||
unprotected) header.d=karthanis.net header.i=@karthanis.net
|
||||
header.a=rsa-sha256 header.s=20191114 header.b=mcrC/rnn;
|
||||
dkim-atps=neutral
|
||||
Authentication-Results: ozlabs.org;
|
||||
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
||||
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
|
||||
envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)
|
||||
Received: from phobos.denx.de (phobos.denx.de
|
||||
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
||||
key-exchange X25519 server-signature RSA-PSS (2048 bits))
|
||||
(No client certificate requested)
|
||||
by bilbo.ozlabs.org (Postfix) with ESMTPS id 4M2qkM6g8Vz9ryY
|
||||
for <incoming@patchwork.ozlabs.org>; Wed, 10 Aug 2022 22:58:35 +1000 (AEST)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id CB5EF842A3;
|
||||
Wed, 10 Aug 2022 14:58:11 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=karthanis.net
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dkim=pass (1024-bit key;
|
||||
unprotected) header.d=karthanis.net header.i=@karthanis.net
|
||||
header.b="mcrC/rnn";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id 4FB14841DC; Wed, 10 Aug 2022 14:40:46 +0200 (CEST)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
||||
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
||||
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from smtp-42a9.mail.infomaniak.ch (smtp-42a9.mail.infomaniak.ch
|
||||
[IPv6:2001:1600:3:17::42a9])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id CCC6784084
|
||||
for <u-boot@lists.denx.de>; Wed, 10 Aug 2022 14:40:43 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=karthanis.net
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=antoine@karthanis.net
|
||||
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
|
||||
by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4M2qKl3S6GzMqbyx;
|
||||
Wed, 10 Aug 2022 14:40:43 +0200 (CEST)
|
||||
Received: from localhost.localdomain (unknown [88.168.170.86])
|
||||
by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4M2qKk6qXKzlnSD1;
|
||||
Wed, 10 Aug 2022 14:40:42 +0200 (CEST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=karthanis.net;
|
||||
s=20191114; t=1660135243;
|
||||
bh=YF4GTVv5pqqW0OMrNZFlf0WHnELr1KiKKA02ok/znf4=;
|
||||
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
|
||||
b=mcrC/rnnUv3FXlrllL2s9lLTjUEnTuLbiINuyrIQWr2HG3AmCcD11F7n0AypUdePp
|
||||
2XfG1PnZalJa2v3m6/DUWsz6B/cqmYo31h/6HpFeJ4g2i1pEZar7cC+9oScmbjJptV
|
||||
w2oDsFHzyK2oWHUMGFJ4N6bboD8kq3z4WLaH2vrQ=
|
||||
From: Antoine Mazeas <antoine@karthanis.net>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: Antoine Mazeas <antoine@karthanis.net>,
|
||||
Sjoerd Simons <sjoerd@collabora.com>
|
||||
Subject: [PATCH 1/2] rpi: Copy properties from firmware dtb to the loaded dtb
|
||||
Date: Wed, 10 Aug 2022 14:39:26 +0200
|
||||
Message-Id: <20220810123927.2567677-2-antoine@karthanis.net>
|
||||
X-Mailer: git-send-email 2.37.1
|
||||
In-Reply-To: <20220810123927.2567677-1-antoine@karthanis.net>
|
||||
References: <20220810123927.2567677-1-antoine@karthanis.net>
|
||||
MIME-Version: 1.0
|
||||
X-Mailman-Approved-At: Wed, 10 Aug 2022 14:58:03 +0200
|
||||
X-BeenThere: u-boot@lists.denx.de
|
||||
X-Mailman-Version: 2.1.39
|
||||
Precedence: list
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
||||
List-Post: <mailto:u-boot@lists.denx.de>
|
||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||||
Errors-To: u-boot-bounces@lists.denx.de
|
||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||||
X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de
|
||||
X-Virus-Status: Clean
|
||||
|
||||
The RPI firmware adjusts several property values in the dtb it passes
|
||||
to u-boot depending on the board/SoC revision. Inherit some of these
|
||||
when u-boot loads a dtb itself. Specificaly copy:
|
||||
|
||||
* /model: The firmware provides a more specific string
|
||||
* /memreserve: The firmware defines a reserved range, better keep it
|
||||
* emmc2bus and pcie0 dma-ranges: The C0T revision of the bcm2711 Soc (as
|
||||
present on rpi 400 and some rpi 4B boards) has different values for
|
||||
these then the B0T revision. So these need to be adjusted to boot on
|
||||
these boards
|
||||
* blconfig: The firmware defines the memory area where the blconfig
|
||||
stored. Copy those over so it can be enabled.
|
||||
* /chosen/kaslr-seed: The firmware generates a kaslr seed, take advantage
|
||||
of that.
|
||||
|
||||
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 48 +++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 48 insertions(+)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 17b8108cc8..28b6f52506 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -504,10 +504,58 @@ void *board_fdt_blob_setup(int *err)
|
||||
return (void *)fw_dtb_pointer;
|
||||
}
|
||||
|
||||
+int copy_property(void *dst, void *src, char *path, char *property)
|
||||
+{
|
||||
+ int dst_offset, src_offset;
|
||||
+ const fdt32_t *prop;
|
||||
+ int len;
|
||||
+
|
||||
+ src_offset = fdt_path_offset(src, path);
|
||||
+ dst_offset = fdt_path_offset(dst, path);
|
||||
+
|
||||
+ if (src_offset < 0 || dst_offset < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ prop = fdt_getprop(src, src_offset, property, &len);
|
||||
+ if (!prop)
|
||||
+ return -1;
|
||||
+
|
||||
+ return fdt_setprop(dst, dst_offset, property, prop, len);
|
||||
+}
|
||||
+
|
||||
+/* Copy tweaks from the firmware dtb to the loaded dtb */
|
||||
+void update_fdt_from_fw(void *fdt, void *fw_fdt)
|
||||
+{
|
||||
+ /* Using dtb from firmware directly; leave it alone */
|
||||
+ if (fdt == fw_fdt)
|
||||
+ return;
|
||||
+
|
||||
+ /* The firmware provides a more precie model; so copy that */
|
||||
+ copy_property(fdt, fw_fdt, "/", "model");
|
||||
+
|
||||
+ /* memory reserve as suggested by the firmware */
|
||||
+ copy_property(fdt, fw_fdt, "/", "memreserve");
|
||||
+
|
||||
+ /* Adjust dma-ranges for the SD card and PCI bus as they can depend on
|
||||
+ * the SoC revision
|
||||
+ */
|
||||
+ copy_property(fdt, fw_fdt, "emmc2bus", "dma-ranges");
|
||||
+ copy_property(fdt, fw_fdt, "pcie0", "dma-ranges");
|
||||
+
|
||||
+ /* Bootloader configuration template exposes as nvmem */
|
||||
+ if (copy_property(fdt, fw_fdt, "blconfig", "reg") == 0)
|
||||
+ copy_property(fdt, fw_fdt, "blconfig", "status");
|
||||
+
|
||||
+ /* kernel address randomisation seed as provided by the firmware */
|
||||
+ copy_property(fdt, fw_fdt, "/chosen", "kaslr-seed");
|
||||
+}
|
||||
+
|
||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
||||
{
|
||||
int node;
|
||||
|
||||
+ update_fdt_from_fw(blob, (void *)fw_dtb_pointer);
|
||||
+
|
||||
node = fdt_node_offset_by_compatible(blob, -1, "simple-framebuffer");
|
||||
if (node < 0)
|
||||
fdt_simplefb_add_node(blob);
|
||||
|
||||
From patchwork Wed Aug 10 12:39:27 2022
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Antoine Mazeas <antoine@karthanis.net>
|
||||
X-Patchwork-Id: 1665243
|
||||
X-Patchwork-Delegate: matthias.bgg@gmail.com
|
||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: bilbo.ozlabs.org;
|
||||
dkim=pass (1024-bit key;
|
||||
unprotected) header.d=karthanis.net header.i=@karthanis.net
|
||||
header.a=rsa-sha256 header.s=20191114 header.b=3Vltv92i;
|
||||
dkim-atps=neutral
|
||||
Authentication-Results: ozlabs.org;
|
||||
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
||||
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
|
||||
envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)
|
||||
Received: from phobos.denx.de (phobos.denx.de
|
||||
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
||||
key-exchange X25519 server-signature RSA-PSS (2048 bits))
|
||||
(No client certificate requested)
|
||||
by bilbo.ozlabs.org (Postfix) with ESMTPS id 4M2qkb5v6sz9ryY
|
||||
for <incoming@patchwork.ozlabs.org>; Wed, 10 Aug 2022 22:58:47 +1000 (AEST)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id 2E6C784564;
|
||||
Wed, 10 Aug 2022 14:58:17 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=karthanis.net
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dkim=pass (1024-bit key;
|
||||
unprotected) header.d=karthanis.net header.i=@karthanis.net
|
||||
header.b="3Vltv92i";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id 274CF8415B; Wed, 10 Aug 2022 14:40:48 +0200 (CEST)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
||||
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
||||
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from smtp-42a9.mail.infomaniak.ch (smtp-42a9.mail.infomaniak.ch
|
||||
[84.16.66.169])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id DAC58841A4
|
||||
for <u-boot@lists.denx.de>; Wed, 10 Aug 2022 14:40:45 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=karthanis.net
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=antoine@karthanis.net
|
||||
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
|
||||
by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4M2qKn4VzjzMqnFS;
|
||||
Wed, 10 Aug 2022 14:40:45 +0200 (CEST)
|
||||
Received: from localhost.localdomain (unknown [88.168.170.86])
|
||||
by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4M2qKn1TBqzlnSCc;
|
||||
Wed, 10 Aug 2022 14:40:45 +0200 (CEST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=karthanis.net;
|
||||
s=20191114; t=1660135245;
|
||||
bh=f61vvBG7E2UozLHxeE7zghMr3kXQzBW+5PpzEyEGYJU=;
|
||||
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
|
||||
b=3Vltv92i/KGKD06qHi+zyrqGwfJWUvdwHMojKKH7OqswhScJTxhUbGq6MnPrCqWsn
|
||||
QgB117zr++vQSy1jxV2vZIFLxMC3j8AZb4l3ktmU7FiPp7AUB6AqAzv+tUrYeS3nz4
|
||||
LQ0mJS4s1jk1k0WWAK3/WGdOyUAo8ZWw5oiBHUvk=
|
||||
From: Antoine Mazeas <antoine@karthanis.net>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: Antoine Mazeas <antoine@karthanis.net>
|
||||
Subject: [PATCH 2/2] rpi: Copy eth PHY address from fw DT to loaded DT
|
||||
Date: Wed, 10 Aug 2022 14:39:27 +0200
|
||||
Message-Id: <20220810123927.2567677-3-antoine@karthanis.net>
|
||||
X-Mailer: git-send-email 2.37.1
|
||||
In-Reply-To: <20220810123927.2567677-1-antoine@karthanis.net>
|
||||
References: <20220810123927.2567677-1-antoine@karthanis.net>
|
||||
MIME-Version: 1.0
|
||||
X-Mailman-Approved-At: Wed, 10 Aug 2022 14:58:03 +0200
|
||||
X-BeenThere: u-boot@lists.denx.de
|
||||
X-Mailman-Version: 2.1.39
|
||||
Precedence: list
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
||||
List-Post: <mailto:u-boot@lists.denx.de>
|
||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||||
Errors-To: u-boot-bounces@lists.denx.de
|
||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||||
X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de
|
||||
X-Virus-Status: Clean
|
||||
|
||||
Some Raspberry Pi 400 boards, specifically rev 1.1, have a different address for the ethernet PHY device than what is provided by the kernel DTB. The correct address is provided by the firmware, so we should carry it over into the loaded device tree so that ethernet works on such boards.
|
||||
|
||||
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 28b6f52506..793fd1aa30 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -548,6 +548,9 @@ void update_fdt_from_fw(void *fdt, void *fw_fdt)
|
||||
|
||||
/* kernel address randomisation seed as provided by the firmware */
|
||||
copy_property(fdt, fw_fdt, "/chosen", "kaslr-seed");
|
||||
+
|
||||
+ /* address of the PHY device as provided by the firmware */
|
||||
+ copy_property(fdt, fw_fdt, "ethernet0/mdio@e14/ethernet-phy@1", "reg");
|
||||
}
|
||||
|
||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
|
@ -0,0 +1,544 @@
|
|||
From patchwork Tue Sep 6 13:44:25 2022
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
X-Patchwork-Id: 1674857
|
||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
||||
Authentication-Results: legolas.ozlabs.org;
|
||||
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
||||
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
|
||||
envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)
|
||||
Authentication-Results: legolas.ozlabs.org;
|
||||
dkim=pass (2048-bit key;
|
||||
unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256
|
||||
header.s=google header.b=wUY2RcfH;
|
||||
dkim-atps=neutral
|
||||
Received: from phobos.denx.de (phobos.denx.de
|
||||
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
||||
key-exchange X25519 server-signature ECDSA (P-384))
|
||||
(No client certificate requested)
|
||||
by legolas.ozlabs.org (Postfix) with ESMTPS id 4MMRT72TCPz1yhd
|
||||
for <incoming@patchwork.ozlabs.org>; Tue, 6 Sep 2022 23:44:43 +1000 (AEST)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id 498F2849CE;
|
||||
Tue, 6 Sep 2022 15:44:39 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=linaro.org
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dkim=pass (2048-bit key;
|
||||
unprotected) header.d=linaro.org header.i=@linaro.org header.b="wUY2RcfH";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id A8842849CF; Tue, 6 Sep 2022 15:44:37 +0200 (CEST)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
||||
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
||||
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
|
||||
[IPv6:2a00:1450:4864:20::52d])
|
||||
(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id 403A5849AA
|
||||
for <u-boot@lists.denx.de>; Tue, 6 Sep 2022 15:44:35 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=linaro.org
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org
|
||||
Received: by mail-ed1-x52d.google.com with SMTP id x73so8243364ede.10
|
||||
for <u-boot@lists.denx.de>; Tue, 06 Sep 2022 06:44:35 -0700 (PDT)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;
|
||||
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
|
||||
:to:from:from:to:cc:subject:date;
|
||||
bh=YBbhuTYZcGSI4FSsstTIADofj6ZEC8vsTpd/U8gWDlU=;
|
||||
b=wUY2RcfHqhMQ1dgd2my7jtmfsgHjAF8xFa3HnTkB/tUGQL/oQyls7ODcVui/VImHlf
|
||||
Ah33xwYqK1nwEuoS8HqkWcksTr48pKf/EikkkBbHif0XnfS4oySI3RHo7WW6Yi8HQUoP
|
||||
tbuQ3LPSYgo+62HaqTYVoJ2g6jc1qiEFe/+y6hR2BfmyKd0g/SxwLS9P1QuQosdhX+uO
|
||||
DKWWukFYFV06Nn7x/3oiyoXq33VAWatgQBv/sPC7dBgh/EpnobDpI8NhNhJAkFIcAUrU
|
||||
B91PBwNRtB1Lsf+Eo3WjLtQbinL3h/VvogRSvZEoKCmHY5dbTYB8G1uNzksnK6QecIRu
|
||||
q9qA==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
|
||||
:to:from:x-gm-message-state:from:to:cc:subject:date;
|
||||
bh=YBbhuTYZcGSI4FSsstTIADofj6ZEC8vsTpd/U8gWDlU=;
|
||||
b=KfQ/P0sYI7szdfgs6GA5oPXctzQ8yfxjRs7PgVHFg7jl09SeFl3jpKzaMGbC7GlEgM
|
||||
JXt2VP6w9TndL/D71cR8w9BObY2mZJoLRP/s25LpSU6izkisnuueyGeqKegGEfGE+4B3
|
||||
9xaG/EUlPZmHlAem6bOf9Dl6lE5WkT6SnTDopwODIbcTAWlIa8Gjtw9XBaaa8iRnVuTn
|
||||
S3IwY9R7DLaSFBQXTVHmAYnhCc2b5XCRKlSNwmDE65+LqvOdAu3MTbA5/YyL9pEPjHi9
|
||||
4q0ZQksAE0olpQQwxyjHrvz7h7ktSuJoesa/A4dX3PEbzSbBmPI1CGtPy27/luAUCH3F
|
||||
e8Vw==
|
||||
X-Gm-Message-State: ACgBeo2YRons+T+T1+BdP4+uyEFge3LrQ/gS2VYwuVZg325XGZ8HVnXH
|
||||
Lq8no+qriMaFPrto6+L889ufiYLHsm+dZQ==
|
||||
X-Google-Smtp-Source:
|
||||
AA6agR6coLdFIB45xwZJzpltd9Qfi6bEAn6J22G77ibwSDNyt1L1YbxRL9dlK4pmf9A6n2RN31Ug2w==
|
||||
X-Received: by 2002:aa7:c84f:0:b0:446:2bfb:5a63 with SMTP id
|
||||
g15-20020aa7c84f000000b004462bfb5a63mr17498596edt.172.1662471874779;
|
||||
Tue, 06 Sep 2022 06:44:34 -0700 (PDT)
|
||||
Received: from localhost.localdomain ([46.103.15.185])
|
||||
by smtp.gmail.com with ESMTPSA id
|
||||
p23-20020a056402501700b0043ba7df7a42sm8473330eda.26.2022.09.06.06.44.33
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 06 Sep 2022 06:44:34 -0700 (PDT)
|
||||
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: trini@konsulko.com, sjg@chromium.org, heinrich.schuchardt@canonical.com,
|
||||
pbrobinson@gmail.com, Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
Subject: [PATCH 1/2] smbios: Simplify reporting of unknown values
|
||||
Date: Tue, 6 Sep 2022 16:44:25 +0300
|
||||
Message-Id: <20220906134426.53748-1-ilias.apalodimas@linaro.org>
|
||||
X-Mailer: git-send-email 2.37.2
|
||||
MIME-Version: 1.0
|
||||
X-BeenThere: u-boot@lists.denx.de
|
||||
X-Mailman-Version: 2.1.39
|
||||
Precedence: list
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
||||
List-Post: <mailto:u-boot@lists.denx.de>
|
||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||||
Errors-To: u-boot-bounces@lists.denx.de
|
||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||||
X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de
|
||||
X-Virus-Status: Clean
|
||||
|
||||
If a value is not valid during the DT or SYSINFO parsing, we explicitly
|
||||
set that to "Unknown Product" and "Unknown" for the product and
|
||||
manufacturer respectively. It's cleaner if we move the checks insisde
|
||||
smbios_add_string() and always report "Unknown" regardless of the missing
|
||||
field.
|
||||
|
||||
pre-patch dmidecode
|
||||
<snip>
|
||||
Handle 0x0001, DMI type 1, 27 bytes
|
||||
System Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown Product
|
||||
Version: Not Specified
|
||||
Serial Number: Not Specified
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Not Specified
|
||||
Family: Not Specified
|
||||
|
||||
Handle 0x0002, DMI type 2, 14 bytes
|
||||
Base Board Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown Product
|
||||
Version: Not Specified
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Not Specified
|
||||
Features:
|
||||
Board is a hosting board
|
||||
Location In Chassis: Not Specified
|
||||
Chassis Handle: 0x0000
|
||||
Type: Motherboard
|
||||
<snip>
|
||||
|
||||
post-patch dmidecode:
|
||||
|
||||
Handle 0x0001, DMI type 1, 27 bytes
|
||||
System Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Unknown
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Unknown
|
||||
Family: Unknown
|
||||
|
||||
Handle 0x0002, DMI type 2, 14 bytes
|
||||
Base Board Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Unknown
|
||||
Features:
|
||||
Board is a hosting board
|
||||
Location In Chassis: Not Specified
|
||||
Chassis Handle: 0x0000
|
||||
Type: Motherboard
|
||||
|
||||
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
---
|
||||
lib/smbios.c | 17 +++--------------
|
||||
1 file changed, 3 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/lib/smbios.c b/lib/smbios.c
|
||||
index d7f4999e8b2a..fcc8686993ef 100644
|
||||
--- a/lib/smbios.c
|
||||
+++ b/lib/smbios.c
|
||||
@@ -102,7 +102,7 @@ static int smbios_add_string(struct smbios_ctx *ctx, const char *str)
|
||||
int i = 1;
|
||||
char *p = ctx->eos;
|
||||
|
||||
- if (!*str)
|
||||
+ if (!str || !*str)
|
||||
str = "Unknown";
|
||||
|
||||
for (;;) {
|
||||
@@ -151,8 +151,7 @@ static int smbios_add_prop_si(struct smbios_ctx *ctx, const char *prop,
|
||||
const char *str;
|
||||
|
||||
str = ofnode_read_string(ctx->node, prop);
|
||||
- if (str)
|
||||
- return smbios_add_string(ctx, str);
|
||||
+ return smbios_add_string(ctx, str);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -231,7 +230,7 @@ static int smbios_write_type0(ulong *current, int handle,
|
||||
t->vendor = smbios_add_string(ctx, "U-Boot");
|
||||
|
||||
t->bios_ver = smbios_add_prop(ctx, "version");
|
||||
- if (!t->bios_ver)
|
||||
+ if (!strcmp(ctx->last_str, "Unknown"))
|
||||
t->bios_ver = smbios_add_string(ctx, PLAIN_VERSION);
|
||||
if (t->bios_ver)
|
||||
gd->smbios_version = ctx->last_str;
|
||||
@@ -281,11 +280,7 @@ static int smbios_write_type1(ulong *current, int handle,
|
||||
fill_smbios_header(t, SMBIOS_SYSTEM_INFORMATION, len, handle);
|
||||
smbios_set_eos(ctx, t->eos);
|
||||
t->manufacturer = smbios_add_prop(ctx, "manufacturer");
|
||||
- if (!t->manufacturer)
|
||||
- t->manufacturer = smbios_add_string(ctx, "Unknown");
|
||||
t->product_name = smbios_add_prop(ctx, "product");
|
||||
- if (!t->product_name)
|
||||
- t->product_name = smbios_add_string(ctx, "Unknown Product");
|
||||
t->version = smbios_add_prop_si(ctx, "version",
|
||||
SYSINFO_ID_SMBIOS_SYSTEM_VERSION);
|
||||
if (serial_str) {
|
||||
@@ -315,11 +310,7 @@ static int smbios_write_type2(ulong *current, int handle,
|
||||
fill_smbios_header(t, SMBIOS_BOARD_INFORMATION, len, handle);
|
||||
smbios_set_eos(ctx, t->eos);
|
||||
t->manufacturer = smbios_add_prop(ctx, "manufacturer");
|
||||
- if (!t->manufacturer)
|
||||
- t->manufacturer = smbios_add_string(ctx, "Unknown");
|
||||
t->product_name = smbios_add_prop(ctx, "product");
|
||||
- if (!t->product_name)
|
||||
- t->product_name = smbios_add_string(ctx, "Unknown Product");
|
||||
t->version = smbios_add_prop_si(ctx, "version",
|
||||
SYSINFO_ID_SMBIOS_BASEBOARD_VERSION);
|
||||
t->asset_tag_number = smbios_add_prop(ctx, "asset-tag");
|
||||
@@ -344,8 +335,6 @@ static int smbios_write_type3(ulong *current, int handle,
|
||||
fill_smbios_header(t, SMBIOS_SYSTEM_ENCLOSURE, len, handle);
|
||||
smbios_set_eos(ctx, t->eos);
|
||||
t->manufacturer = smbios_add_prop(ctx, "manufacturer");
|
||||
- if (!t->manufacturer)
|
||||
- t->manufacturer = smbios_add_string(ctx, "Unknown");
|
||||
t->chassis_type = SMBIOS_ENCLOSURE_DESKTOP;
|
||||
t->bootup_state = SMBIOS_STATE_SAFE;
|
||||
t->power_supply_state = SMBIOS_STATE_SAFE;
|
||||
|
||||
From patchwork Tue Sep 6 13:44:26 2022
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
X-Patchwork-Id: 1674858
|
||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
||||
Authentication-Results: legolas.ozlabs.org;
|
||||
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
|
||||
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
|
||||
envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)
|
||||
Authentication-Results: legolas.ozlabs.org;
|
||||
dkim=pass (2048-bit key;
|
||||
unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256
|
||||
header.s=google header.b=wBCOiKYw;
|
||||
dkim-atps=neutral
|
||||
Received: from phobos.denx.de (phobos.denx.de
|
||||
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
||||
key-exchange X25519 server-signature ECDSA (P-384))
|
||||
(No client certificate requested)
|
||||
by legolas.ozlabs.org (Postfix) with ESMTPS id 4MMRTM5pHRz1yhk
|
||||
for <incoming@patchwork.ozlabs.org>; Tue, 6 Sep 2022 23:44:55 +1000 (AEST)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id 3639F849EA;
|
||||
Tue, 6 Sep 2022 15:44:53 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=linaro.org
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dkim=pass (2048-bit key;
|
||||
unprotected) header.d=linaro.org header.i=@linaro.org header.b="wBCOiKYw";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id E57FC84A1A; Tue, 6 Sep 2022 15:44:51 +0200 (CEST)
|
||||
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
|
||||
X-Spam-Level:
|
||||
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
||||
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
||||
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
|
||||
[IPv6:2a00:1450:4864:20::52f])
|
||||
(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id 60CD0849AA
|
||||
for <u-boot@lists.denx.de>; Tue, 6 Sep 2022 15:44:49 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=linaro.org
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org
|
||||
Received: by mail-ed1-x52f.google.com with SMTP id z21so5172669edi.1
|
||||
for <u-boot@lists.denx.de>; Tue, 06 Sep 2022 06:44:49 -0700 (PDT)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:from:to:cc:subject:date;
|
||||
bh=KsGBN7dLy4q3TeQQmsDywPtn2m3V5eSK1ppBgO8D3xg=;
|
||||
b=wBCOiKYwM4mGDZUo6l68tblLVt57cCnO0dlzFPj9+m6cwKXe3agxiM3w4t9T5c822i
|
||||
vHmFd2F08bUrX81t/h4PDzg0mngbB9Rc9o4i3td1G9Zw6NdmogU7T7gEUyKKcTc80AWl
|
||||
QbbYgxulWB5Eg2dTQ3tlb2xmb5BU1/X0zl/rOC6l89urohdQtpIJ4XgFlijFlBgxh8XD
|
||||
aHytniLKGTLlVdJAIobcF9aM/ihpO7LPTDZ4SPCBt4t9+UWGW7vuTPDPDkCRiaaFestv
|
||||
9P32ZrGj43CH92zBQtpgZICS0UhzD3oYWJkwsmFbfxddgY5VD5SQi69VzD1CfFOvTGgX
|
||||
5HBg==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
|
||||
:subject:date;
|
||||
bh=KsGBN7dLy4q3TeQQmsDywPtn2m3V5eSK1ppBgO8D3xg=;
|
||||
b=h1yL2aMN8ooI48PrqxwSNjw+MAj6qGtRMJjV8AWmRfv7nVQ97I/cXbauy/NItVEWP0
|
||||
eO4WFqVMQO+xyGn1S5w0MXYGVbEpVNxf0gwM7n7Ad+K2E2PDHyu6glGTvcqCW11gPGOJ
|
||||
uNDyo6pu7OtmOBso2OaL5eMGhw66ZGqQbzlQtO0mhqJf1RtQ9fRduRZrfTzAR9wIrM4Y
|
||||
qR3iK6b4O97tu0W0SctGf3rCNzI2bDv/zBKRvfSJ6q7s4DhLDxBJyQjySBo0Ee6UIwKc
|
||||
5q8zldycF/JfIbqzlJe6DaeoeDbzJ7qLBPvDmxQ7owSV9ftEa8lh/IIdPn13uDL2Bxjz
|
||||
WLbg==
|
||||
X-Gm-Message-State: ACgBeo0DsGDn9dDw7GQ5K44iwyXJqKH0pM3NWFxuDlmBNzKLyzH8SEzb
|
||||
03ImCopxuD/6oyVtH7ygeEl2Cc6GlNzVNQ==
|
||||
X-Google-Smtp-Source:
|
||||
AA6agR6kpp8KIkqO+/pui5Dy7mRTrk+S2U0k99eVOJv3PGkIDZ8H0oqIBypOwW5nogFds0FAjF4TXg==
|
||||
X-Received: by 2002:a05:6402:f18:b0:44d:9a45:394 with SMTP id
|
||||
i24-20020a0564020f1800b0044d9a450394mr12375719eda.138.1662471889015;
|
||||
Tue, 06 Sep 2022 06:44:49 -0700 (PDT)
|
||||
Received: from localhost.localdomain ([46.103.15.185])
|
||||
by smtp.gmail.com with ESMTPSA id
|
||||
p23-20020a056402501700b0043ba7df7a42sm8473330eda.26.2022.09.06.06.44.48
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 06 Sep 2022 06:44:48 -0700 (PDT)
|
||||
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: trini@konsulko.com, sjg@chromium.org, heinrich.schuchardt@canonical.com,
|
||||
pbrobinson@gmail.com, Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
Subject: [PATCH 2/2] smbios: Fallback to the default DT if sysinfo nodes are
|
||||
missing
|
||||
Date: Tue, 6 Sep 2022 16:44:26 +0300
|
||||
Message-Id: <20220906134426.53748-2-ilias.apalodimas@linaro.org>
|
||||
X-Mailer: git-send-email 2.37.2
|
||||
In-Reply-To: <20220906134426.53748-1-ilias.apalodimas@linaro.org>
|
||||
References: <20220906134426.53748-1-ilias.apalodimas@linaro.org>
|
||||
MIME-Version: 1.0
|
||||
X-BeenThere: u-boot@lists.denx.de
|
||||
X-Mailman-Version: 2.1.39
|
||||
Precedence: list
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
||||
List-Post: <mailto:u-boot@lists.denx.de>
|
||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||||
Errors-To: u-boot-bounces@lists.denx.de
|
||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||||
X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de
|
||||
X-Virus-Status: Clean
|
||||
|
||||
In order to fill in the SMBIOS tables U-Boot currently relies on a
|
||||
"u-boot,sysinfo-smbios" compatible node. This is fine for the boards
|
||||
that already include such nodes. However with some recent EFI changes,
|
||||
the majority of boards can boot up distros, which usually rely on
|
||||
things like dmidecode etc for their reporting. For boards that
|
||||
lack this special node the SMBIOS output looks like:
|
||||
|
||||
System Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Unknown
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Unknown
|
||||
Family: Unknown
|
||||
|
||||
This looks problematic since most of the info are "Unknown". The DT spec
|
||||
specifies standard properties containing relevant information like
|
||||
'model' and 'compatible' for which the suggested format is
|
||||
<manufacturer,model>. So let's add a last resort to our current
|
||||
smbios parsing. If none of the sysinfo properties are found, we can
|
||||
scan the root node for 'model' and 'compatible'.
|
||||
|
||||
pre-patch dmidecode:
|
||||
<snip>
|
||||
Handle 0x0001, DMI type 1, 27 bytes
|
||||
System Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Unknown
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Unknown
|
||||
Family: Unknown
|
||||
|
||||
Handle 0x0002, DMI type 2, 14 bytes
|
||||
Base Board Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Unknown
|
||||
Features:
|
||||
Board is a hosting board
|
||||
Location In Chassis: Not Specified
|
||||
Chassis Handle: 0x0000
|
||||
Type: Motherboard
|
||||
|
||||
Handle 0x0003, DMI type 3, 21 bytes
|
||||
Chassis Information
|
||||
Manufacturer: Unknown
|
||||
Type: Desktop
|
||||
Lock: Not Present
|
||||
Version: Not Specified
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Not Specified
|
||||
Boot-up State: Safe
|
||||
Power Supply State: Safe
|
||||
Thermal State: Safe
|
||||
Security Status: None
|
||||
OEM Information: 0x00000000
|
||||
Height: Unspecified
|
||||
Number Of Power Cords: Unspecified
|
||||
Contained Elements: 0
|
||||
<snip>
|
||||
|
||||
post-pastch dmidecode:
|
||||
<snip>
|
||||
Handle 0x0001, DMI type 1, 27 bytes
|
||||
System Information
|
||||
Manufacturer: socionext,developer-box
|
||||
Product Name: Socionext Developer Box
|
||||
Version: Unknown
|
||||
Serial Number: Unknown
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Unknown
|
||||
Family: Unknown
|
||||
|
||||
Handle 0x0002, DMI type 2, 14 bytes
|
||||
Base Board Information
|
||||
Manufacturer: socionext,developer-box
|
||||
Product Name: Socionext Developer Box
|
||||
Version: Unknown
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Unknown
|
||||
Features:
|
||||
Board is a hosting board
|
||||
Location In Chassis: Not Specified
|
||||
Chassis Handle: 0x0000
|
||||
Type: Motherboard
|
||||
|
||||
Handle 0x0003, DMI type 3, 21 bytes
|
||||
Chassis Information
|
||||
Manufacturer: socionext,developer-box
|
||||
Type: Desktop
|
||||
Lock: Not Present
|
||||
Version: Not Specified
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Not Specified
|
||||
Boot-up State: Safe
|
||||
Power Supply State: Safe
|
||||
Thermal State: Safe
|
||||
Security Status: None
|
||||
OEM Information: 0x00000000
|
||||
Height: Unspecified
|
||||
Number Of Power Cords: Unspecified
|
||||
Contained Elements: 0
|
||||
<snip>
|
||||
|
||||
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
---
|
||||
lib/smbios.c | 41 +++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 39 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/smbios.c b/lib/smbios.c
|
||||
index fcc8686993ef..f2eb961f514b 100644
|
||||
--- a/lib/smbios.c
|
||||
+++ b/lib/smbios.c
|
||||
@@ -43,6 +43,20 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
+/**
|
||||
+ * struct sysifno_to_dt - Mapping of sysinfo strings to DT
|
||||
+ *
|
||||
+ * @sysinfo_str: sysinfo string
|
||||
+ * @dt_str: DT string
|
||||
+ */
|
||||
+static const struct {
|
||||
+ const char *sysinfo_str;
|
||||
+ const char *dt_str;
|
||||
+} sysifno_to_dt[] = {
|
||||
+ { .sysinfo_str = "product", .dt_str = "model" },
|
||||
+ { .sysinfo_str = "manufacturer", .dt_str = "compatible" },
|
||||
+};
|
||||
+
|
||||
/**
|
||||
* struct smbios_ctx - context for writing SMBIOS tables
|
||||
*
|
||||
@@ -87,6 +101,18 @@ struct smbios_write_method {
|
||||
const char *subnode_name;
|
||||
};
|
||||
|
||||
+static const char *convert_sysinfo_to_dt(const char *sysinfo_str)
|
||||
+{
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; i < ARRAY_SIZE(sysifno_to_dt); i++) {
|
||||
+ if (!strcmp(sysinfo_str, sysifno_to_dt[i].sysinfo_str))
|
||||
+ return sysifno_to_dt[i].dt_str;
|
||||
+ }
|
||||
+
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* smbios_add_string() - add a string to the string area
|
||||
*
|
||||
@@ -148,9 +174,20 @@ static int smbios_add_prop_si(struct smbios_ctx *ctx, const char *prop,
|
||||
return smbios_add_string(ctx, val);
|
||||
}
|
||||
if (IS_ENABLED(CONFIG_OF_CONTROL)) {
|
||||
- const char *str;
|
||||
+ const char *str = NULL;
|
||||
|
||||
- str = ofnode_read_string(ctx->node, prop);
|
||||
+ /*
|
||||
+ * If the node is not valid fallback and try the entire DT
|
||||
+ * so we can at least fill in maufacturer and board type
|
||||
+ */
|
||||
+ if (!ofnode_valid(ctx->node)) {
|
||||
+ const char *nprop = convert_sysinfo_to_dt(prop);
|
||||
+
|
||||
+ if (nprop)
|
||||
+ str = ofnode_read_string(ofnode_root(), nprop);
|
||||
+ } else {
|
||||
+ str = ofnode_read_string(ctx->node, prop);
|
||||
+ }
|
||||
return smbios_add_string(ctx, str);
|
||||
}
|
||||
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (u-boot-2022.07-rc6.tar.bz2) = 9772c69b48e2d76f7c70e148d54cbb857c728c6cf131eb27e6baceeb9212d63220b7cfb7c43b6ef9620430bd754822691b3149b923ae57e2bf9805d36845b2b2
|
||||
SHA512 (u-boot-2023.01.tar.bz2) = 417a28267eb7875820d08fafc7316f164663609378637539e71648b0b9b7d28796b6c381717f31b0ab6472805fefd32628ef7d1b2e7b9f3c51c8ad122993f679
|
||||
|
|
124
uboot-tools.spec
124
uboot-tools.spec
|
@ -1,12 +1,13 @@
|
|||
%global candidate rc6
|
||||
#global candidate rc4
|
||||
%if 0%{?rhel}
|
||||
%bcond_with toolsonly
|
||||
%else
|
||||
%bcond_without toolsonly
|
||||
|
||||
# Set it to "opensbi" (stable) or opensbi-unstable (unstable, git)
|
||||
%global opensbi opensbi-unstable
|
||||
%endif
|
||||
|
||||
Name: uboot-tools
|
||||
Version: 2022.07
|
||||
Release: 0.6%{?candidate:.%{candidate}}.0.riscv64%{?dist}
|
||||
Version: 2023.01
|
||||
Release: 2%{?candidate:.%{candidate}}%{?dist}
|
||||
Summary: U-Boot utilities
|
||||
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
|
||||
URL: http://www.denx.de/wiki/U-Boot
|
||||
|
@ -14,26 +15,21 @@ URL: http://www.denx.de/wiki/U-Boot
|
|||
ExcludeArch: s390x
|
||||
Source0: https://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2
|
||||
Source1: aarch64-boards
|
||||
Source2: riscv64-boards
|
||||
|
||||
# Fedoraisms patches
|
||||
# Needed to find DT on boot partition that's not the first partition
|
||||
Patch1: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch
|
||||
Patch2: smbios-Simplify-reporting-of-unknown-values.patch
|
||||
|
||||
# Board fixes and enablement
|
||||
# RPi - uses RPI firmware device tree for HAT support
|
||||
Patch3: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
|
||||
Patch4: rpi-fallback-to-max-clock-for-mmc.patch
|
||||
Patch5: rpi-bcm2835_sdhost-firmware-managed-clock.patch
|
||||
Patch6: rpi-Copy-properties-from-firmware-DT-to-loaded-DT.patch
|
||||
# Rockchips improvements
|
||||
Patch7: rockchip-Add-initial-support-for-the-PinePhone-Pro.patch
|
||||
|
||||
# RISC-V (riscv64) patches
|
||||
Patch43: 0004-riscv-sifive-unmatched-disable-FDT-and-initrd-reloca.patch
|
||||
Patch44: 0005-board-sifive-spl-Initialized-the-PWM-setting-in-the-.patch
|
||||
Patch45: 0006-board-sifive-spl-Set-remote-thermal-of-TMP451-to-85-.patch
|
||||
Patch46: 0001-Enable-sbi-command-and-SBI-sysreset.patch
|
||||
|
||||
BuildRequires: bc
|
||||
BuildRequires: bison
|
||||
BuildRequires: dtc
|
||||
|
@ -48,13 +44,12 @@ BuildRequires: perl-interpreter
|
|||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-libfdt
|
||||
BuildRequires: SDL-devel
|
||||
BuildRequires: SDL2-devel
|
||||
BuildRequires: swig
|
||||
%if %{with toolsonly}
|
||||
%ifarch aarch64
|
||||
BuildRequires: arm-trusted-firmware-armv8
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
BuildRequires: %{opensbi}
|
||||
%endif
|
||||
Requires: dtc
|
||||
|
||||
|
@ -73,20 +68,10 @@ U-Boot firmware binaries for aarch64 boards
|
|||
%endif
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%package -n uboot-images-riscv64
|
||||
Summary: u-boot bootloader images for riscv64 boards
|
||||
Requires: uboot-tools
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n uboot-images-riscv64
|
||||
u-boot bootloader binaries for riscv64 boards
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n u-boot-%{version}%{?candidate:-%{candidate}}
|
||||
|
||||
cp %SOURCE1 %SOURCE2 .
|
||||
cp %SOURCE1 .
|
||||
|
||||
%build
|
||||
mkdir builds
|
||||
|
@ -95,14 +80,7 @@ mkdir builds
|
|||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/
|
||||
|
||||
%if %{with toolsonly}
|
||||
# U-Boot device firmwares don't currently support LTO
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
%ifarch riscv64
|
||||
export OPENSBI=%{_datadir}/%{opensbi}/generic/firmware/fw_dynamic.bin
|
||||
%endif
|
||||
|
||||
%ifarch aarch64 riscv64
|
||||
%ifarch aarch64
|
||||
for board in $(cat %{_arch}-boards)
|
||||
do
|
||||
echo "Building board: $board"
|
||||
|
@ -131,8 +109,8 @@ do
|
|||
fi
|
||||
# End ATF
|
||||
|
||||
make $(echo $board)_defconfig O=builds/$(echo $board)/
|
||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
|
||||
BINMAN_ALLOW_MISSING=1 make $(echo $board)_defconfig O=builds/$(echo $board)/
|
||||
BINMAN_ALLOW_MISSING=1 %make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
|
||||
|
||||
# build spi images for rockchip boards with SPI flash
|
||||
rkspi=(rock64-rk3328)
|
||||
|
@ -167,6 +145,9 @@ do
|
|||
fi
|
||||
done
|
||||
done
|
||||
|
||||
# For Apple M1 we also need the nodtb variant
|
||||
install -p -m 0644 builds/apple_m1/u-boot-nodtb.bin %{buildroot}%{_datadir}/uboot/apple_m1/u-boot-nodtb.bin
|
||||
%endif
|
||||
|
||||
# Bit of a hack to remove binaries we don't use as they're large
|
||||
|
@ -198,20 +179,7 @@ done
|
|||
%endif
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
for board in $(cat %{_arch}-boards)
|
||||
do
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||
for file in u-boot.bin u-boot.dtb u-boot.img u-boot-nodtb.bin u-boot-dtb.bin u-boot.itb u-boot-dtb.img u-boot.its spl/u-boot-spl.bin spl/u-boot-spl-nodtb.bin spl/u-boot-spl.dtb spl/u-boot-spl-dtb.bin
|
||||
do
|
||||
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||
fi
|
||||
done
|
||||
done
|
||||
%endif
|
||||
|
||||
for tool in bmp_logo dumpimage env/fw_printenv fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc img2srec mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder ubsha1 xway-swap-bytes kwboot
|
||||
for tool in bmp_logo dumpimage env/fw_printenv fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc ifwitool img2srec kwboot mkeficapsule mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder ubsha1 xway-swap-bytes
|
||||
do
|
||||
install -p -m 0755 builds/tools/$tool %{buildroot}%{_bindir}
|
||||
done
|
||||
|
@ -242,14 +210,54 @@ cp -p board/sunxi/README.nand builds/docs/README.sunxi-nand
|
|||
%endif
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%files -n uboot-images-riscv64
|
||||
%{_datadir}/uboot/*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Jul 04 2022 David Abdurachmanov <davidlt@rivosinc.com> - 2022.07-0.6.rc6.0.riscv64
|
||||
- Enable riscv64
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2023.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jan 18 2023 Peter Robinson <pbrobinson@fedoraproject.org> - 2023.01-1
|
||||
- Update to 2023.01 GA
|
||||
|
||||
* Sat Dec 31 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2023.01-0.4.rc4
|
||||
- Update PinePhone Pro to latest rev
|
||||
|
||||
* Tue Dec 20 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2023.01-0.3.rc4
|
||||
- Update to 2023.01 RC4
|
||||
|
||||
* Mon Dec 05 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2023.01-0.2.rc3
|
||||
- Update to 2023.01 RC3
|
||||
|
||||
* Thu Nov 24 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2023.01-0.1.rc2
|
||||
- Update to U-Boot 2023.01 RC2
|
||||
- Update Pinephone Pro patches
|
||||
|
||||
* Mon Oct 10 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-1
|
||||
- Update to 2022.10 GA
|
||||
|
||||
* Tue Sep 06 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.6.rc4
|
||||
- Update SMBIOS patch
|
||||
|
||||
* Tue Sep 06 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.5.rc4
|
||||
- Update to 2022.10 RC4
|
||||
- Fix for booting Rockchip devices from NVME
|
||||
|
||||
* Tue Aug 23 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.4.rc3
|
||||
- Update to 2022.10 RC3
|
||||
|
||||
* Mon Aug 22 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 2022.10-0.3.rc1
|
||||
- Install nodtb variant for Apple M1 (rhbz#2068958)
|
||||
|
||||
* Tue Aug 16 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.2.rc1
|
||||
- Fix for DT property propogation via firmware
|
||||
|
||||
* Thu Jul 28 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.1.rc1
|
||||
- Update to 2022.10 RC1
|
||||
- Enable LTO for firmware builds
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2022.07-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sun Jul 17 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-1
|
||||
- Update to 2022.07 GA
|
||||
|
||||
* Mon Jul 04 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.6.rc6
|
||||
- Update to 2022.07 RC6
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
From fd3434c754b3b8dddb345352a2434b6b8445343a Mon Sep 17 00:00:00 2001
|
||||
From 4306c538d4a00dd1aa46c55c3c4005c2b0bf7cd5 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 18 Apr 2021 14:05:45 +0100
|
||||
Date: Thu, 24 Nov 2022 12:57:55 +0000
|
||||
Subject: [PATCH] distro: load FDT from any partition on boot device
|
||||
|
||||
In the EFI_LOADER boot path, we were only checking the FAT partition
|
||||
|
@ -22,14 +22,14 @@ knows) and SoC/board specific ${fdtfile} (which grub does not know).
|
|||
Signed-off-by: Rob Clark <robdclark@gmail.com>
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
include/config_distro_bootcmd.h | 35 ++++++++++++++++++++++-----------
|
||||
1 file changed, 23 insertions(+), 12 deletions(-)
|
||||
include/config_distro_bootcmd.h | 37 +++++++++++++++++++++------------
|
||||
1 file changed, 24 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
||||
index 2627c2a6a5..eadd1080b3 100644
|
||||
index fcb319a20ae..e71004fad9c 100644
|
||||
--- a/include/config_distro_bootcmd.h
|
||||
+++ b/include/config_distro_bootcmd.h
|
||||
@@ -148,26 +148,37 @@
|
||||
@@ -155,28 +155,39 @@
|
||||
"fi\0" \
|
||||
\
|
||||
"load_efi_dtb=" \
|
||||
|
@ -44,11 +44,13 @@ index 2627c2a6a5..eadd1080b3 100644
|
|||
+ "scan_dev_for_dtb=" \
|
||||
"setenv efi_fdtfile ${fdtfile}; " \
|
||||
BOOTENV_EFI_SET_FDTFILE_FALLBACK \
|
||||
BOOTENV_RUN_EXTENSION_INIT \
|
||||
- "for prefix in ${efi_dtb_prefixes}; do " \
|
||||
- "if test -e ${devtype} " \
|
||||
- "${devnum}:${distro_bootpart} " \
|
||||
- "${prefix}${efi_fdtfile}; then " \
|
||||
- "run load_efi_dtb; " \
|
||||
- BOOTENV_RUN_EXTENSION_APPLY \
|
||||
- "fi;" \
|
||||
- "done;" \
|
||||
- "run boot_efi_bootmgr;" \
|
||||
|
@ -65,6 +67,7 @@ index 2627c2a6a5..eadd1080b3 100644
|
|||
+ "${devnum}:${dtb_devp} " \
|
||||
+ "${prefix}${efi_fdtfile};"\
|
||||
+ "run load_efi_dtb; " \
|
||||
+ BOOTENV_RUN_EXTENSION_APPLY \
|
||||
+ "fi;" \
|
||||
+ "done; " \
|
||||
+ "done; " \
|
||||
|
@ -80,5 +83,5 @@ index 2627c2a6a5..eadd1080b3 100644
|
|||
"fi; " \
|
||||
"setenv efi_fdtfile\0"
|
||||
--
|
||||
2.31.1
|
||||
2.38.1
|
||||
|
||||
|
|
Loading…
Reference in New Issue