summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap5
-rw-r--r--MAINTAINERS6
-rw-r--r--arch/arm/dts/imx8mm-u-boot.dtsi7
-rw-r--r--arch/arm/dts/imx8mn-u-boot.dtsi7
-rw-r--r--arch/arm/dts/imx8mp-u-boot.dtsi7
-rw-r--r--arch/arm/dts/imx8mq-u-boot.dtsi7
-rw-r--r--arch/arm/dts/k3-am62a-phycore-som-binman.dtsi182
-rw-r--r--arch/arm/dts/k3-am62a-sk-binman.dtsi181
-rw-r--r--arch/arm/include/asm/arch-imx9/sys_proto.h1
-rw-r--r--arch/arm/mach-imx/imx8m/clock_imx8mm.c12
-rw-r--r--arch/arm/mach-imx/imx9/soc.c29
-rw-r--r--board/aristainetos/MAINTAINERS2
-rw-r--r--board/bosch/shc/MAINTAINERS2
-rw-r--r--board/dhelectronics/dh_imx6/dh_imx6_spl.c6
-rw-r--r--board/keymile/km83xx/MAINTAINERS2
-rw-r--r--board/phytec/phycore_imx93/phycore-imx93.c9
-rw-r--r--board/siemens/capricorn/MAINTAINERS2
-rw-r--r--board/siemens/corvus/MAINTAINERS2
-rw-r--r--board/siemens/smartweb/MAINTAINERS2
-rw-r--r--board/siemens/taurus/MAINTAINERS2
-rw-r--r--board/socrates/MAINTAINERS2
-rw-r--r--cmd/bootefi.c33
-rw-r--r--cmd/meminfo.c2
-rw-r--r--configs/imx8ulp_evk_defconfig1
-rw-r--r--doc/board/emulation/qemu-riscv.rst26
-rw-r--r--doc/board/ti/am62ax_sk.rst7
-rw-r--r--doc/develop/spl.rst2
-rw-r--r--doc/git-mailrc2
-rw-r--r--doc/usage/cmd/bootefi.rst37
-rw-r--r--drivers/clk/imx/clk-pll14xx.c1
-rw-r--r--drivers/cpu/imx8_cpu.c4
-rw-r--r--drivers/misc/imx8/scu_api.c3
-rw-r--r--drivers/mtd/spi/spi-nor-core.c4
-rw-r--r--drivers/net/fec_mxc.c1
-rw-r--r--drivers/scsi/scsi.c13
-rw-r--r--drivers/virtio/virtio_ring.c6
-rwxr-xr-xscripts/dtc/pylibfdt/setup.py1
-rw-r--r--tools/mkeficapsule.c1
38 files changed, 156 insertions, 463 deletions
diff --git a/.mailmap b/.mailmap
index 67a42217cf8..f15697ca2df 100644
--- a/.mailmap
+++ b/.mailmap
@@ -48,6 +48,11 @@ Greg Malysa <malysagreg@gmail.com> <greg.malysa@timesys.com>
Harini Katakam <harini.katakam@amd.com> <harini.katakam@xilinx.com>
Harsha <harsha.harsha@amd.com> <harsha.harsha@xilinx.com>
Heiko Stuebner <heiko.stuebner@cherry.de> <heiko.stuebner@theobroma-systems.com>
+Heiko Schocher <hs@nabladev.com> <hs@denx.de>
+Heiko Schocher <hs@nabladev.com> <hs@pollux.denx.de>
+Heiko Schocher <hs@nabladev.com> <heiko.schocher@invitel.hu>
+Heiko Schocher <hs@nabladev.com> <[hs@denx.de]>
+Heiko Schocher <hs@nabladev.com> <hs@pollux.(none)>
Heinrich Schuchardt <xypron.glpk@gmx.de> <heinrich.schuchardt@canonical.com>
Heinrich Schuchardt <xypron.glpk@gmx.de> xypron.glpk@gmx.de <xypron.glpk@gmx.de>
Ibai Erkiaga <ibai.erkiaga-elorza@amd.com> <ibai.erkiaga-elorza@xilinx.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index a04b93a807b..3fb163aa1db 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1245,7 +1245,7 @@ F: drivers/misc/gsc.c
F: include/gsc.h
I2C
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
T: git https://source.denx.de/u-boot/custodians/u-boot-i2c.git
F: drivers/i2c/
@@ -1499,7 +1499,7 @@ F: drivers/pci_endpoint/
F: include/pci_ep.h
PCI MPC85xx
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
F: drivers/pci/pci_mpc85xx.c
@@ -1796,7 +1796,7 @@ F: lib/optee
UBI
M: Kyungmin Park <kmpark@infradead.org>
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
T: git https://source.denx.de/u-boot/custodians/u-boot-ubi.git
F: drivers/mtd/ubi/
diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi
index 59453dc36d3..eb5b95a1fda 100644
--- a/arch/arm/dts/imx8mm-u-boot.dtsi
+++ b/arch/arm/dts/imx8mm-u-boot.dtsi
@@ -164,7 +164,6 @@
};
#endif
-#ifdef CONFIG_OPTEE
tee: tee {
description = "OP-TEE";
type = "tee";
@@ -176,9 +175,9 @@
tee-os {
filename = "tee.bin";
+ optional;
};
};
-#endif
binman_fip: fip {
arch = "arm64";
@@ -208,11 +207,7 @@
fdt = "fdt-SEQ";
firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
-#ifdef CONFIG_OPTEE
loadables = "atf", "tee";
-#else
- loadables = "atf";
-#endif
#endif
};
};
diff --git a/arch/arm/dts/imx8mn-u-boot.dtsi b/arch/arm/dts/imx8mn-u-boot.dtsi
index 96a6df94c6c..4a4498b36b0 100644
--- a/arch/arm/dts/imx8mn-u-boot.dtsi
+++ b/arch/arm/dts/imx8mn-u-boot.dtsi
@@ -240,7 +240,6 @@
};
#endif
-#ifdef CONFIG_OPTEE
tee: tee {
description = "OP-TEE";
type = "tee";
@@ -252,9 +251,9 @@
tee-os {
filename = "tee.bin";
+ optional;
};
};
-#endif
binman_fip: fip {
arch = "arm64";
@@ -284,11 +283,7 @@
fdt = "fdt-SEQ";
firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
-#ifdef CONFIG_OPTEE
loadables = "atf", "tee";
-#else
- loadables = "atf";
-#endif
#endif
};
};
diff --git a/arch/arm/dts/imx8mp-u-boot.dtsi b/arch/arm/dts/imx8mp-u-boot.dtsi
index 6de9ab5d37c..9ede98a11e4 100644
--- a/arch/arm/dts/imx8mp-u-boot.dtsi
+++ b/arch/arm/dts/imx8mp-u-boot.dtsi
@@ -185,7 +185,6 @@
};
#endif
-#ifdef CONFIG_OPTEE
tee: tee {
description = "OP-TEE";
type = "tee";
@@ -197,9 +196,9 @@
tee-os {
filename = "tee.bin";
+ optional;
};
};
-#endif
@fdt-SEQ {
description = "NAME";
@@ -220,11 +219,7 @@
fdt = "fdt-SEQ";
firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
-#ifdef CONFIG_OPTEE
loadables = "atf", "tee";
-#else
- loadables = "atf";
-#endif
#endif
};
};
diff --git a/arch/arm/dts/imx8mq-u-boot.dtsi b/arch/arm/dts/imx8mq-u-boot.dtsi
index 8a536b16e8f..93e2ef27f7c 100644
--- a/arch/arm/dts/imx8mq-u-boot.dtsi
+++ b/arch/arm/dts/imx8mq-u-boot.dtsi
@@ -144,7 +144,6 @@
};
#endif
-#ifdef CONFIG_OPTEE
tee: tee {
description = "OP-TEE";
type = "tee";
@@ -156,9 +155,9 @@
tee-os {
filename = "tee.bin";
+ optional;
};
};
-#endif
fdt {
compression = "none";
@@ -180,11 +179,7 @@
fdt = "fdt";
firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
-#ifdef CONFIG_OPTEE
loadables = "atf", "tee";
-#else
- loadables = "atf";
-#endif
#endif
};
};
diff --git a/arch/arm/dts/k3-am62a-phycore-som-binman.dtsi b/arch/arm/dts/k3-am62a-phycore-som-binman.dtsi
index 9bcdf74ffe4..a284226320c 100644
--- a/arch/arm/dts/k3-am62a-phycore-som-binman.dtsi
+++ b/arch/arm/dts/k3-am62a-phycore-som-binman.dtsi
@@ -101,43 +101,6 @@
};
};
-&binman {
- tiboot3-am62ax-gp-phycore-som.bin {
- filename = "tiboot3-am62ax-gp-phycore-som.bin";
- ti-secure-rom {
- content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
- <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
- combined;
- dm-data;
- content-sbl = <&u_boot_spl_unsigned>;
- load = <CONFIG_SPL_TEXT_BASE>;
- content-sysfw = <&ti_fs_gp>;
- load-sysfw = <0x40000>;
- content-sysfw-data = <&combined_tifs_cfg_gp>;
- load-sysfw-data = <0x67000>;
- content-dm-data = <&combined_dm_cfg_gp>;
- load-dm-data = <0x43c3a800>;
- sw-rev = <1>;
- keyfile = "ti-degenerate-key.pem";
- };
- u_boot_spl_unsigned: u-boot-spl {
- no-expanded;
- };
- ti_fs_gp: ti-fs-gp.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62ax-gp.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
- };
-};
-
#include "k3-binman-capsule-r5.dtsi"
&capsule_tiboot3 {
@@ -197,23 +160,6 @@
};
- tifsstub-gp {
- filename = "tifsstub.bin_gp";
- ti-secure-rom {
- content = <&tifsstub_gp>;
- core = "secure";
- load = <0x60000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "ti-degenerate-key.pem";
- tifsstub;
- };
- tifsstub_gp: tifsstub-gp.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62ax-gp.bin";
- type = "blob-ext";
- optional;
- };
- };
-
ti-spl {
insert-template = <&ti_spl_template>;
@@ -245,18 +191,6 @@
};
};
- tifsstub-gp {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9ca00000>;
- entry = <0x9ca00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
dm {
ti-secure {
content = <&dm>;
@@ -289,7 +223,7 @@
description = "k3-am62a7-phyboard-lyra-rdk";
firmware = "atf";
loadables = "tee", "dm", "spl",
- "tifsstub-hs", "tifsstub-fs", "tifsstub-gp";
+ "tifsstub-hs", "tifsstub-fs";
fdt = "fdt-0";
};
};
@@ -403,120 +337,6 @@
};
};
-&binman {
- ti-spl_unsigned {
- insert-template = <&ti_spl_unsigned_template>;
-
- fit {
- images {
- tifsstub-hs {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9ca00000>;
- entry = <0x9ca00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
- };
- };
-
- tifsstub-fs {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9ca00000>;
- entry = <0x9ca00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
- };
-
- tifsstub-gp {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9ca00000>;
- entry = <0x9ca00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
- dm {
- ti-dm {
- filename = "ti-dm/am62axx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
-
- fdt-0 {
- description = "k3-am62a7-phyboard-lyra-rdk";
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- spl_am62a7_phyboard_lyra_dtb_unsigned: blob {
- filename = SPL_AM62A7_PHYBOARD_LYRA_DTB;
- };
- };
- };
-
- configurations {
- default = "conf-0";
-
- conf-0 {
- description = "k3-am62a7-phyboard-lyra-rdk";
- firmware = "atf";
- loadables = "tee", "dm", "spl",
- "tifsstub-hs", "tifsstub-fs", "tifsstub-gp";
- fdt = "fdt-0";
- };
- };
- };
- };
-};
-
-&binman {
- u-boot_unsigned {
- insert-template = <&u_boot_unsigned_template>;
-
- fit {
- images {
- uboot {
- description = "U-Boot for AM62Ax board";
- };
-
- fdt-0 {
- description = "k3-am62a7-phyboard-lyra-rdk";
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- blob {
- filename = AM62A7_PHYBOARD_LYRA_DTB;
- };
- hash {
- algo = "crc32";
- };
- };
- };
-
- configurations {
- default = "conf-0";
-
- conf-0 {
- description = "k3-am62a7-phyboard-lyra-rdk";
- firmware = "uboot";
- loadables = "uboot";
- fdt = "fdt-0";
- };
- };
- };
- };
-};
-
#include "k3-binman-capsule.dtsi"
&capsule_tispl {
diff --git a/arch/arm/dts/k3-am62a-sk-binman.dtsi b/arch/arm/dts/k3-am62a-sk-binman.dtsi
index 0685bdd7e0c..e64c165ecbf 100644
--- a/arch/arm/dts/k3-am62a-sk-binman.dtsi
+++ b/arch/arm/dts/k3-am62a-sk-binman.dtsi
@@ -98,43 +98,6 @@
};
};
-&binman {
- tiboot3-am62ax-gp-evm.bin {
- filename = "tiboot3-am62ax-gp-evm.bin";
- ti-secure-rom {
- content = <&u_boot_spl_unsigned>, <&ti_fs_gp>,
- <&combined_tifs_cfg_gp>, <&combined_dm_cfg_gp>;
- combined;
- dm-data;
- content-sbl = <&u_boot_spl_unsigned>;
- load = <CONFIG_SPL_TEXT_BASE>;
- content-sysfw = <&ti_fs_gp>;
- load-sysfw = <0x40000>;
- content-sysfw-data = <&combined_tifs_cfg_gp>;
- load-sysfw-data = <0x67000>;
- content-dm-data = <&combined_dm_cfg_gp>;
- load-dm-data = <0x43c3a800>;
- sw-rev = <1>;
- keyfile = "ti-degenerate-key.pem";
- };
- u_boot_spl_unsigned: u-boot-spl {
- no-expanded;
- };
- ti_fs_gp: ti-fs-gp.bin {
- filename = "ti-sysfw/ti-fs-firmware-am62ax-gp.bin";
- type = "blob-ext";
- };
- combined_tifs_cfg_gp: combined-tifs-cfg-gp.bin {
- filename = "combined-tifs-cfg.bin";
- type = "blob-ext";
- };
- combined_dm_cfg_gp: combined-dm-cfg-gp.bin {
- filename = "combined-dm-cfg.bin";
- type = "blob-ext";
- };
- };
-};
-
#endif
#ifdef CONFIG_TARGET_AM62A7_A53_EVM
@@ -181,23 +144,6 @@
};
- tifsstub-gp {
- filename = "tifsstub.bin_gp";
- ti-secure-rom {
- content = <&tifsstub_gp>;
- core = "secure";
- load = <0x60000>;
- sw-rev = <CONFIG_K3_X509_SWRV>;
- keyfile = "ti-degenerate-key.pem";
- tifsstub;
- };
- tifsstub_gp: tifsstub-gp.bin {
- filename = "ti-sysfw/ti-fs-stub-firmware-am62ax-gp.bin";
- type = "blob-ext";
- optional;
- };
- };
-
ti-spl {
insert-template = <&ti_spl_template>;
@@ -229,18 +175,6 @@
};
};
- tifsstub-gp {
- description = "TIFSSTUB";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9ca00000>;
- entry = <0x9ca00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
dm {
ti-secure {
content = <&dm>;
@@ -275,7 +209,7 @@
description = "k3-am62a7-sk";
firmware = "atf";
loadables = "tee", "dm", "spl",
- "tifsstub-hs", "tifsstub-fs", "tifsstub-gp";
+ "tifsstub-hs", "tifsstub-fs";
fdt = "fdt-0";
};
};
@@ -326,117 +260,4 @@
};
};
-&binman {
- ti-spl_unsigned {
- insert-template = <&ti_spl_unsigned_template>;
-
- fit {
- images {
- tifsstub-hs {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-hs";
- load = <0x9ca00000>;
- entry = <0x9ca00000>;
- blob-ext {
- filename = "tifsstub.bin_hs";
- };
- };
-
- tifsstub-fs {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-fs";
- load = <0x9ca00000>;
- entry = <0x9ca00000>;
- blob-ext {
- filename = "tifsstub.bin_fs";
- };
- };
-
- tifsstub-gp {
- description = "tifsstub";
- type = "firmware";
- arch = "arm32";
- compression = "none";
- os = "tifsstub-gp";
- load = <0x9ca00000>;
- entry = <0x9ca00000>;
- blob-ext {
- filename = "tifsstub.bin_gp";
- };
- };
- dm {
- ti-dm {
- filename = "ti-dm/am62axx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
- };
- };
-
- fdt-0 {
- description = "k3-am62a7-sk";
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- blob {
- filename = SPL_AM62A7_SK_DTB;
- };
- };
- };
-
- configurations {
- default = "conf-0";
-
- conf-0 {
- description = "k3-am62a7-sk";
- firmware = "atf";
- loadables = "tee", "dm", "spl",
- "tifsstub-hs", "tifsstub-fs", "tifsstub-gp";
- fdt = "fdt-0";
- };
- };
- };
- };
-};
-
-&binman {
- u-boot_unsigned {
- insert-template = <&u_boot_unsigned_template>;
-
- fit {
- images {
- uboot {
- description = "U-Boot for AM62Ax Board";
- };
-
- fdt-0 {
- description = "k3-am62a7-sk";
- type = "flat_dt";
- arch = "arm";
- compression = "none";
- blob {
- filename = AM62A7_SK_DTB;
- };
- hash {
- algo = "crc32";
- };
- };
- };
-
- configurations {
- default = "conf-0";
-
- conf-0 {
- description = "k3-am62a7-sk";
- firmware = "uboot";
- loadables = "uboot";
- fdt = "fdt-0";
- };
- };
- };
- };
-};
#endif
diff --git a/arch/arm/include/asm/arch-imx9/sys_proto.h b/arch/arm/include/asm/arch-imx9/sys_proto.h
index df2148a53c7..455aa95339e 100644
--- a/arch/arm/include/asm/arch-imx9/sys_proto.h
+++ b/arch/arm/include/asm/arch-imx9/sys_proto.h
@@ -18,6 +18,7 @@ enum imx9_soc_voltage_mode {
void soc_power_init(void);
bool m33_is_rom_kicked(void);
int m33_prepare(void);
+int low_drive_freq_update(void *blob);
enum imx9_soc_voltage_mode soc_target_voltage_mode(void);
diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mm.c b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
index d5745f67262..77c8efc7899 100644
--- a/arch/arm/mach-imx/imx8m/clock_imx8mm.c
+++ b/arch/arm/mach-imx/imx8m/clock_imx8mm.c
@@ -55,16 +55,16 @@ int enable_i2c_clk(unsigned char enable, unsigned i2c_num)
static struct imx_int_pll_rate_table imx8mm_fracpll_tbl[] = {
PLL_1443X_RATE(1000000000U, 250, 3, 1, 0),
PLL_1443X_RATE(933000000U, 311, 4, 1, 0),
- PLL_1443X_RATE(900000000U, 300, 8, 0, 0),
- PLL_1443X_RATE(800000000U, 300, 9, 0, 0),
- PLL_1443X_RATE(750000000U, 250, 8, 0, 0),
+ PLL_1443X_RATE(900000000U, 300, 2, 2, 0),
+ PLL_1443X_RATE(800000000U, 200, 3, 1, 0),
+ PLL_1443X_RATE(750000000U, 250, 2, 2, 0),
PLL_1443X_RATE(650000000U, 325, 3, 2, 0),
PLL_1443X_RATE(600000000U, 300, 3, 2, 0),
PLL_1443X_RATE(594000000U, 99, 1, 2, 0),
- PLL_1443X_RATE(400000000U, 300, 9, 1, 0),
- PLL_1443X_RATE(266000000U, 400, 9, 2, 0),
+ PLL_1443X_RATE(400000000U, 400, 3, 3, 0),
+ PLL_1443X_RATE(266000000U, 266, 3, 3, 0),
PLL_1443X_RATE(167000000U, 334, 3, 4, 0),
- PLL_1443X_RATE(100000000U, 300, 9, 3, 0),
+ PLL_1443X_RATE(100000000U, 200, 3, 4, 0),
};
static int fracpll_configure(enum pll_clocks pll, u32 freq)
diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c
index 02db7cc97ba..9fb82644f12 100644
--- a/arch/arm/mach-imx/imx9/soc.c
+++ b/arch/arm/mach-imx/imx9/soc.c
@@ -641,12 +641,10 @@ static int low_drive_fdt_fix_clock(void *fdt, int node_off, u32 clk_index, u32 n
return -ENOENT;
}
-static int low_drive_freq_update(void *blob)
+int low_drive_freq_update(void *blob)
{
- int nodeoff, ret;
- int i;
+ int nodeoff, ret, i;
- /* Update kernel dtb clocks for low drive mode */
struct low_drive_freq_entry table[] = {
{"/soc@0/bus@42800000/mmc@42850000", 0, 266666667},
{"/soc@0/bus@42800000/mmc@42860000", 0, 266666667},
@@ -658,8 +656,8 @@ static int low_drive_freq_update(void *blob)
if (nodeoff >= 0) {
ret = low_drive_fdt_fix_clock(blob, nodeoff, table[i].clk,
table[i].new_rate);
- if (!ret)
- printf("%s freq updated\n", table[i].node_path);
+ if (ret)
+ printf("freq update failed for %s\n", table[i].node_path);
}
}
@@ -671,23 +669,8 @@ static int low_drive_freq_update(void *blob)
int board_fix_fdt(void *fdt)
{
/* Update dtb clocks for low drive mode */
- if (is_voltage_mode(VOLT_LOW_DRIVE)) {
- int nodeoff;
- int i;
-
- struct low_drive_freq_entry table[] = {
- {"/soc@0/bus@42800000/mmc@42850000", 0, 266666667},
- {"/soc@0/bus@42800000/mmc@42860000", 0, 266666667},
- {"/soc@0/bus@42800000/mmc@428b0000", 0, 266666667},
- };
-
- for (i = 0; i < ARRAY_SIZE(table); i++) {
- nodeoff = fdt_path_offset(fdt, table[i].node_path);
- if (nodeoff >= 0)
- low_drive_fdt_fix_clock(fdt, nodeoff, table[i].clk,
- table[i].new_rate);
- }
- }
+ if (is_voltage_mode(VOLT_LOW_DRIVE))
+ low_drive_freq_update(fdt);
return 0;
}
diff --git a/board/aristainetos/MAINTAINERS b/board/aristainetos/MAINTAINERS
index c81bef9cb7c..77d7b1614c8 100644
--- a/board/aristainetos/MAINTAINERS
+++ b/board/aristainetos/MAINTAINERS
@@ -1,5 +1,5 @@
ARISTAINETOS BOARD
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
F: board/aristainetos/
F: include/configs/aristainetos2.h
diff --git a/board/bosch/shc/MAINTAINERS b/board/bosch/shc/MAINTAINERS
index 58104cc1318..a30c672e1d6 100644
--- a/board/bosch/shc/MAINTAINERS
+++ b/board/bosch/shc/MAINTAINERS
@@ -1,5 +1,5 @@
SHC BOARD
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
F: board/bosch/shc
F: include/configs/am335x_shc.h
diff --git a/board/dhelectronics/dh_imx6/dh_imx6_spl.c b/board/dhelectronics/dh_imx6/dh_imx6_spl.c
index a50763e1926..eb9bc93d973 100644
--- a/board/dhelectronics/dh_imx6/dh_imx6_spl.c
+++ b/board/dhelectronics/dh_imx6/dh_imx6_spl.c
@@ -49,6 +49,10 @@
(PAD_CTL_PUS_47K_UP | PAD_CTL_SPEED_LOW | PAD_CTL_DSE_80ohm | \
PAD_CTL_SRE_FAST | PAD_CTL_HYS)
+#define OTG_PAD_CTRL \
+ (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \
+ PAD_CTL_SRE_SLOW | PAD_CTL_HYS)
+
static const struct mx6dq_iomux_ddr_regs dhcom6dq_ddr_ioregs = {
.dram_sdclk_0 = 0x00020030,
.dram_sdclk_1 = 0x00020030,
@@ -509,7 +513,7 @@ int board_mmc_init(struct bd_info *bis)
/* USB */
static iomux_v3_cfg_t const usb_pads[] = {
- IOMUX_PADS(PAD_GPIO_1__USB_OTG_ID | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_GPIO_1__USB_OTG_ID | MUX_PAD_CTRL(OTG_PAD_CTRL)),
IOMUX_PADS(PAD_EIM_D31__GPIO3_IO31 | MUX_PAD_CTRL(NO_PAD_CTRL)),
};
diff --git a/board/keymile/km83xx/MAINTAINERS b/board/keymile/km83xx/MAINTAINERS
index 8822e5d9155..af0d6afb2b4 100644
--- a/board/keymile/km83xx/MAINTAINERS
+++ b/board/keymile/km83xx/MAINTAINERS
@@ -1,6 +1,6 @@
KM83XX BOARD
M: Holger Brunck <holger.brunck@hitachienergy.com>
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
F: board/keymile/km83xx/
F: board/keymile/common/
diff --git a/board/phytec/phycore_imx93/phycore-imx93.c b/board/phytec/phycore_imx93/phycore-imx93.c
index 8d2caf8bbef..fab66caf2a1 100644
--- a/board/phytec/phycore_imx93/phycore-imx93.c
+++ b/board/phytec/phycore_imx93/phycore-imx93.c
@@ -79,6 +79,10 @@ int board_fix_fdt(void *blob)
emmc_fixup(blob, &data);
+ /* Update dtb clocks for low drive mode */
+ if (is_voltage_mode(VOLT_LOW_DRIVE))
+ low_drive_freq_update(blob);
+
return 0;
}
@@ -86,5 +90,10 @@ int ft_board_setup(void *blob, struct bd_info *bd)
{
emmc_fixup(blob, NULL);
+ /**
+ * NOTE: VOLT_LOW_DRIVE fixup is done by the ft_system_setup()
+ * in arch/arm/mach-imx/imx9/soc.c for Linux device-tree.
+ */
+
return 0;
}
diff --git a/board/siemens/capricorn/MAINTAINERS b/board/siemens/capricorn/MAINTAINERS
index 9c8c7a6ecdc..6c253983cf0 100644
--- a/board/siemens/capricorn/MAINTAINERS
+++ b/board/siemens/capricorn/MAINTAINERS
@@ -1,6 +1,6 @@
CAPRICORN BOARD
M: Alexander Sverdlin <alexander.sverdlin@siemens.com>
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
M: Walter Schweizer <walter.schweizer@siemens.com>
S: Maintained
F: arch/arm/dts/imx8-capricorn-cxg3.dts
diff --git a/board/siemens/corvus/MAINTAINERS b/board/siemens/corvus/MAINTAINERS
index 59176aae575..4471cf3ce3c 100644
--- a/board/siemens/corvus/MAINTAINERS
+++ b/board/siemens/corvus/MAINTAINERS
@@ -1,5 +1,5 @@
CORVUS BOARD
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
F: board/siemens/corvus/
F: include/configs/corvus.h
diff --git a/board/siemens/smartweb/MAINTAINERS b/board/siemens/smartweb/MAINTAINERS
index 51298ffb5d6..09d7667241c 100644
--- a/board/siemens/smartweb/MAINTAINERS
+++ b/board/siemens/smartweb/MAINTAINERS
@@ -1,5 +1,5 @@
SMARTWEB_HW BOARD
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
F: board/siemens/smartweb
F: include/configs/smartweb.h
diff --git a/board/siemens/taurus/MAINTAINERS b/board/siemens/taurus/MAINTAINERS
index 74e3518e0d9..c17bd51a0de 100644
--- a/board/siemens/taurus/MAINTAINERS
+++ b/board/siemens/taurus/MAINTAINERS
@@ -1,5 +1,5 @@
TAURUS BOARD
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
F: board/siemens/taurus/
F: include/configs/taurus.h
diff --git a/board/socrates/MAINTAINERS b/board/socrates/MAINTAINERS
index 2b27a73c18c..d5571b0da4f 100644
--- a/board/socrates/MAINTAINERS
+++ b/board/socrates/MAINTAINERS
@@ -1,5 +1,5 @@
SOCRATES BOARD
-M: Heiko Schocher <hs@denx.de>
+M: Heiko Schocher <hs@nabladev.com>
S: Maintained
F: board/socrates/
F: include/configs/socrates.h
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 8e8752127ed..b8f5bb35950 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -136,22 +136,39 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc,
{
efi_status_t ret;
char *p;
- void *fdt, *image_buf;
- unsigned long addr, size;
+ void *fdt, *initrd = NULL, *image_buf;
+ unsigned long addr, size, rd_len = 0, fdt_addr = 0;
void *image_addr;
size_t image_size;
+ int fdt_arg = 2;
if (argc < 2)
return CMD_RET_USAGE;
if (argc > 2) {
- uintptr_t fdt_addr;
+ ulong rd_addr = 0;
+ char *end = strchr(argv[2], ':');
- fdt_addr = hextoul(argv[2], NULL);
+ if (end) {
+ rd_addr = hextoul(argv[2], NULL);
+ if (!rd_addr)
+ return CMD_RET_USAGE;
+
+ rd_len = hextoul(++end, NULL);
+ initrd = map_sysmem(rd_addr, rd_len);
+ ++fdt_arg;
+ }
+ }
+
+ if (argc > fdt_arg + 1)
+ return CMD_RET_USAGE;
+ if (argc == fdt_arg + 1)
+ fdt_addr = hextoul(argv[fdt_arg], NULL);
+
+ if (fdt_addr)
fdt = map_sysmem(fdt_addr, 0);
- } else {
+ else
fdt = EFI_FDT_USE_INTERNAL;
- }
if (IS_ENABLED(CONFIG_CMD_BOOTEFI_BOOTMGR) &&
!strcmp(argv[1], "bootmgr")) {
@@ -215,7 +232,7 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc,
}
}
- ret = efi_binary_run(image_buf, size, fdt, NULL, 0);
+ ret = efi_binary_run(image_buf, size, fdt, initrd, rd_len);
if (ret != EFI_SUCCESS)
return CMD_RET_FAILURE;
@@ -224,7 +241,7 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc,
}
U_BOOT_LONGHELP(bootefi,
- "<image address>[:<image size>] [<fdt address>]\n"
+ "<image address>[:<size>] [<initrd address>:<size>] [<fdt address>]\n"
" - boot EFI payload\n"
#ifdef CONFIG_CMD_BOOTEFI_HELLO
"bootefi hello\n"
diff --git a/cmd/meminfo.c b/cmd/meminfo.c
index acdb38dcba0..aa3b5bafe17 100644
--- a/cmd/meminfo.c
+++ b/cmd/meminfo.c
@@ -93,7 +93,7 @@ static int do_meminfo(struct cmd_tbl *cmdtp, int flag, int argc,
print_region("stack", stk_bot, CONFIG_STACK_SIZE, &upto);
if (IS_ENABLED(CONFIG_LMB))
show_lmb(lmb_get(), &upto);
- print_region("free", gd->ram_base, upto, &upto);
+ print_region("free", gd->ram_base, upto - gd->ram_base, &upto);
return 0;
}
diff --git a/configs/imx8ulp_evk_defconfig b/configs/imx8ulp_evk_defconfig
index e750b3d9ae0..f52434923c2 100644
--- a/configs/imx8ulp_evk_defconfig
+++ b/configs/imx8ulp_evk_defconfig
@@ -57,6 +57,7 @@ CONFIG_CMD_READ=y
CONFIG_CMD_CACHE=y
CONFIG_CMD_REGULATOR=y
CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_TEMPERATURE=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
diff --git a/doc/board/emulation/qemu-riscv.rst b/doc/board/emulation/qemu-riscv.rst
index cf2f893b723..b5948d9affc 100644
--- a/doc/board/emulation/qemu-riscv.rst
+++ b/doc/board/emulation/qemu-riscv.rst
@@ -179,6 +179,32 @@ Provide the U-Boot S-mode ELF image as *-kernel* parameter and do not add a
qemu-system-riscv64 -accel kvm -nographic -machine virt -kernel u-boot
+Running as flash binary
+-----------------------
+
+U-Boot can be provided to QEMU as an emulated flash drive.
+This can for instance be used to test capsule updates.
+
+Build qemu-riscv64_smode_defconfig with::
+
+ CONFIG_XIP=y
+ CONFIG_TEXT_BASE=0x20000000
+ CONFIG_CMD_MTD=y
+ CONFIG_FLASH_CFI_MTD=y
+
+Pad u-boot.bin to 32 MiB size:
+
+.. code-block:: bash
+
+ truncate -s 32M u-boot.bin
+
+Invoke QEMU with:
+
+.. code-block:: bash
+
+ qemu-system-riscv64 -M virt -nographic \
+ -drive if=pflash,format=raw,unit=0,file=u-boot.bin,readonly=off
+
Debug UART
----------
diff --git a/doc/board/ti/am62ax_sk.rst b/doc/board/ti/am62ax_sk.rst
index 43a1db68873..4dd998bcce9 100644
--- a/doc/board/ti/am62ax_sk.rst
+++ b/doc/board/ti/am62ax_sk.rst
@@ -121,12 +121,7 @@ Set the variables corresponding to this platform:
Target Images
--------------
In order to boot we need tiboot3.bin, tispl.bin and u-boot.img. Each SoC
-variant (GP, HS-FS, HS-SE) requires a different source for these files.
-
- - GP
-
- * tiboot3-am62ax-gp-evm.bin from step 3.1
- * tispl.bin_unsigned, u-boot.img_unsigned from step 3.2
+variant (HS-FS, HS-SE) requires a different source for these files.
- HS-FS
diff --git a/doc/develop/spl.rst b/doc/develop/spl.rst
index aa6d28fa333..7f2eac50806 100644
--- a/doc/develop/spl.rst
+++ b/doc/develop/spl.rst
@@ -142,7 +142,7 @@ fdtgrep is also used to remove:
- the properties defined in CONFIG_OF_SPL_REMOVE_PROPS
- all the pre-relocation properties
('bootph-all', 'bootph-pre-ram' (SPL), 'bootph-pre-sram' (TPL) and
- 'bootph-verify' (TPL))
+ 'bootph-verify' (VPL))
All the nodes remaining in the SPL devicetree are bound
(see doc/driver-model/design.rst).
diff --git a/doc/git-mailrc b/doc/git-mailrc
index 747ceda3307..65626d89eac 100644
--- a/doc/git-mailrc
+++ b/doc/git-mailrc
@@ -23,7 +23,7 @@ alias bmeng Bin Meng <bmeng.cn@gmail.com>
alias danielschwierzeck Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
alias dinh Dinh Nguyen <dinguyen@kernel.org>
alias ehristev Eugen Hristev <eugen.hristev@linaro.org>
-alias hs Heiko Schocher <hs@denx.de>
+alias hs Heiko Schocher <hs@nabladev.com>
alias freenix Peng Fan <peng.fan@nxp.com>
alias iwamatsu Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
alias jaehoon Jaehoon Chung <jh80.chung@samsung.com>
diff --git a/doc/usage/cmd/bootefi.rst b/doc/usage/cmd/bootefi.rst
index d6e4e62e383..7c5448586b7 100644
--- a/doc/usage/cmd/bootefi.rst
+++ b/doc/usage/cmd/bootefi.rst
@@ -12,7 +12,7 @@ Synopsis
::
- bootefi <image_addr>[:<image_size>] [<fdt_addr>]
+ bootefi <image_addr>[:<image_size>] [<initrd_addr>:<initrd_size>] [<fdt_address>]
bootefi bootmgr [<fdt_addr>]
bootefi hello [<fdt_addr>]
bootefi selftest [<fdt_addr>]
@@ -44,6 +44,16 @@ command sequence to run a UEFI application might look like
load mmc 0:1 $kernel_addr_r /EFI/grub/grubaa64.efi
bootefi $kernel_addr_r $fdt_addr_r
+or
+
+::
+
+ setenv bootargs root=/dev/vda1
+ load mmc 0:1 $fdt_addr_r dtb
+ load mmc 0:1 $kernel_addr_r vmlinux
+ load mmc 0:1 $initrd_addr_r intird
+ bootefi $kernel_addr_r $initrd_addr_r:$filesize $fdt_addr_r
+
The last UEFI binary loaded defines the image file path in the loaded image
protocol.
@@ -51,21 +61,34 @@ The value of the environment variable *bootargs* is converted from UTF-8 to
UTF-16 and passed as load options in the loaded image protocol to the UEFI
binary.
+.. note::
+
+ The bootefi command accepts one to three arguments.
+ If the second argument contains a colon ':', it is assumed to specify the
+ initial RAM disk.
+
image_addr
Address of the UEFI binary.
-fdt_addr
- Address of the device-tree or '-'. If no address is specifiy, the
- environment variable $fdt_addr is used as first fallback, the address of
- U-Boot's internal device-tree $fdtcontroladdr as second fallback.
- When using ACPI no device-tree shall be specified.
-
image_size
Size of the UEFI binary file. This argument is only needed if *image_addr*
does not match the address of the last loaded UEFI binary. In this case
a memory device path will be used as image file path in the loaded image
protocol.
+initrd_addr
+ Address of the Linux initial RAM disk or '-'. If no address is specified,
+ no RAM disk is used when booting.
+
+initrd_size
+ Size of the Linux initial RAM disk.
+
+fdt_addr
+ Address of the device-tree or '-'. If no address is specified, the
+ environment variable $fdt_addr is used as first fallback, the address of
+ U-Boot's internal device-tree $fdtcontroladdr as second fallback.
+ When using ACPI no device-tree shall be specified.
+
Note
UEFI binaries that are contained in FIT images are launched via the
*bootm* command.
diff --git a/drivers/clk/imx/clk-pll14xx.c b/drivers/clk/imx/clk-pll14xx.c
index 7ec78dc3a80..f9fcec18f9f 100644
--- a/drivers/clk/imx/clk-pll14xx.c
+++ b/drivers/clk/imx/clk-pll14xx.c
@@ -409,6 +409,7 @@ struct clk *imx_clk_pll14xx(const char *name, const char *parent_name,
default:
pr_err("%s: Unknown pll type for pll clk %s\n",
__func__, name);
+ kfree(pll);
return ERR_PTR(-EINVAL);
};
diff --git a/drivers/cpu/imx8_cpu.c b/drivers/cpu/imx8_cpu.c
index 4836bddd93b..950630453f9 100644
--- a/drivers/cpu/imx8_cpu.c
+++ b/drivers/cpu/imx8_cpu.c
@@ -201,6 +201,10 @@ static int cpu_imx_get_temp(struct cpu_imx_plat *plat)
__weak u32 get_cpu_temp_grade(int *minc, int *maxc)
{
+ if (minc && maxc) {
+ *minc = 0;
+ *maxc = 95;
+ }
return 0;
}
diff --git a/drivers/misc/imx8/scu_api.c b/drivers/misc/imx8/scu_api.c
index a40c8badf9a..8985ab6584d 100644
--- a/drivers/misc/imx8/scu_api.c
+++ b/drivers/misc/imx8/scu_api.c
@@ -1282,8 +1282,7 @@ int sc_seco_secvio_dgo_config(sc_ipc_t ipc, u8 id, u8 access, u32 *data)
printf("%s, id:0x%x, access:%x, res:%d\n",
__func__, id, access, RPC_R8(&msg));
- if (data)
- *data = RPC_U32(&msg, 0U);
+ *data = RPC_U32(&msg, 0U);
return ret;
}
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 655bf3aaf81..76c33b24368 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -3784,8 +3784,10 @@ static int s25_s28_mdp_ready(struct spi_nor *nor)
for (addr = 0; addr < nor->mtd.size; addr += SZ_128M) {
ret = spansion_sr_ready(nor, addr, nor->rdsr_dummy);
- if (!ret)
+ if (ret < 0)
return ret;
+ else if (ret == 0)
+ return 0;
}
return 1;
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 54b08482b91..9ac72d25ef6 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1344,6 +1344,7 @@ static int fecmxc_probe(struct udevice *dev)
while (readl(&priv->eth->ecntrl) & FEC_ECNTRL_RESET) {
if (get_timer(start) > (CONFIG_SYS_HZ * 5)) {
printf("FEC MXC: Timeout resetting chip\n");
+ ret = -ETIMEDOUT;
goto err_timeout;
}
udelay(10);
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index 78efed6b66a..05608399be1 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -228,13 +228,11 @@ static ulong scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
blocks = max_blks;
scsi_setup_read_ext(pccb, start, blocks);
start += max_blks;
- blks -= max_blks;
} else {
pccb->datalen = block_dev->blksz * blks;
blocks = blks;
scsi_setup_read_ext(pccb, start, blocks);
start += blks;
- blks = 0;
}
debug("scsi_read_ext: startblk " LBAF
", blccnt " LBAF " buffer %lX\n",
@@ -244,6 +242,7 @@ static ulong scsi_read(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
blkcnt -= blks;
break;
}
+ blks -= blocks;
buf_addr += pccb->datalen;
} while (blks != 0);
debug("scsi_read_ext: end startblk " LBAF
@@ -286,13 +285,11 @@ static ulong scsi_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
blocks = max_blks;
scsi_setup_write_ext(pccb, start, blocks);
start += max_blks;
- blks -= max_blks;
} else {
pccb->datalen = block_dev->blksz * blks;
blocks = blks;
scsi_setup_write_ext(pccb, start, blocks);
start += blks;
- blks = 0;
}
debug("%s: startblk " LBAF ", blccnt " LBAF " buffer %lx\n",
__func__, start, blocks, buf_addr);
@@ -301,6 +298,7 @@ static ulong scsi_write(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt,
blkcnt -= blks;
break;
}
+ blks -= blocks;
buf_addr += pccb->datalen;
} while (blks != 0);
@@ -322,7 +320,7 @@ static ulong scsi_erase(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt)
struct blk_desc *block_dev = dev_get_uclass_plat(dev);
struct udevice *bdev = dev->parent;
struct scsi_plat *uc_plat = dev_get_uclass_plat(bdev);
- lbaint_t start, blks, max_blks;
+ lbaint_t start, blks, max_blks, blocks;
struct scsi_cmd *pccb = (struct scsi_cmd *)&tempccb;
/* Setup device */
@@ -339,19 +337,20 @@ static ulong scsi_erase(struct udevice *dev, lbaint_t blknr, lbaint_t blkcnt)
__func__, block_dev->devnum, start, blks);
do {
if (blks > max_blks) {
+ blocks = max_blks;
scsi_setup_erase_ext(pccb, start, max_blks);
start += max_blks;
- blks -= max_blks;
} else {
+ blocks = blks;
scsi_setup_erase_ext(pccb, start, blks);
start += blks;
- blks = 0;
}
if (scsi_exec(bdev, pccb)) {
scsi_print_error(pccb);
blkcnt -= blks;
break;
}
+ blks -= blocks;
} while (blks != 0);
return blkcnt;
}
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index 306fa5b3f68..3a40b12f6e5 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -349,9 +349,10 @@ struct virtqueue *vring_create_virtqueue(unsigned int index, unsigned int num,
/* TODO: allocate each queue chunk individually */
for (; num && vring_size(num, vring_align) > PAGE_SIZE; num /= 2) {
- size_t sz = vring_size(num, vring_align);
+ vring.size = vring_size(num, vring_align);
- queue = virtio_alloc_pages(vdev, DIV_ROUND_UP(sz, PAGE_SIZE));
+ queue = virtio_alloc_pages(vdev,
+ DIV_ROUND_UP(vring.size, PAGE_SIZE));
if (queue)
break;
}
@@ -362,6 +363,7 @@ struct virtqueue *vring_create_virtqueue(unsigned int index, unsigned int num,
if (!queue) {
/* Try to get a single page. You are my only hope! */
queue = virtio_alloc_pages(vdev, 1);
+ vring.size = PAGE_SIZE;
}
if (!queue)
return NULL;
diff --git a/scripts/dtc/pylibfdt/setup.py b/scripts/dtc/pylibfdt/setup.py
index 0f7485de9b5..fb2106be0f0 100755
--- a/scripts/dtc/pylibfdt/setup.py
+++ b/scripts/dtc/pylibfdt/setup.py
@@ -158,7 +158,6 @@ setup(
long_description_content_type="text/plain",
url="https://git.kernel.org/pub/scm/utils/dtc/dtc.git",
license="GPL-2.0-or-later OR BSD-2-Clause",
- license_files=["Licenses/gpl-2.0.txt", "Licenses/bsd-2-clause.txt"],
classifiers=[
"Programming Language :: Python :: 3",
diff --git a/tools/mkeficapsule.c b/tools/mkeficapsule.c
index fb6c57f77c1..0f41cdb64f5 100644
--- a/tools/mkeficapsule.c
+++ b/tools/mkeficapsule.c
@@ -168,6 +168,7 @@ static int read_bin_file(char *bin, uint8_t **data, off_t *bin_size)
if (size < bin_stat.st_size) {
fprintf(stderr, "read failed (%zx)\n", size);
ret = -1;
+ free(buf);
goto err;
}