U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
September 2024
- 151 participants
- 476 discussions

29 Sep '24
This series is a reworked version of the previous seried:
misc: introduce STATUS LED activity function
This series port and expand the legacy concept of LED boot from
the legacy Status LED API to new LED API.
One thing that many device need is a way to communicate to the
user that the device is actually doing something.
This is especially useful for recovery steps where an
user (for example) insert an USB drive, keep a button pressed
and the device autorecover.
There is currently no way to signal the user externally that
the bootloader is processing/recoverying aside from setting
a LED on.
A solid LED on is not enough and won't actually signal any
kind of progress.
Solution is the good old blinking LED but uboot doesn't
suggest (and support) interrupts and almost all the LED
are usually GPIO LED that doesn't support HW blink.
Additional Kconfg are also introduced to set the LED boot and
activity. Those are referenced by label.
A documentation for old and these new LED API is created.
(world tested with the azure pipeline)
Changes v4:
- Drop led_set_state/period_by_label
- Switch to /options/u-boot
- Rework to cache label and dev in led uclass
- Add multiple patch for additional helper
- Rework patches to limit ifdef in some place
Changes v3:
- Switch to /config property
Changes v2:
- Drop GPIO SW implementation
- Add fix for new LED SW BLINK
Christian Marangi (11):
led: toggle LED on initial SW blink
dm: core: implement ofnode_options helpers
led: implement LED boot API
common: board_r: rework BOOT LED handling
led: implement LED activity API
tftp: implement support for LED activity
mtd: implement support for LED activity
ubi: implement support for LED activity
doc: introduce led.rst documentation
test: dm: Add tests for LED boot and activity
test: dm: Expand ofnode options test with new helper
arch/sandbox/dts/test.dts | 5 +
cmd/mtd.c | 11 +++
cmd/ubi.c | 13 ++-
common/board_r.c | 28 ++++--
doc/api/index.rst | 1 +
doc/api/led.rst | 10 ++
drivers/core/ofnode.c | 33 +++++++
drivers/led/Kconfig | 15 +++
drivers/led/led-uclass.c | 188 +++++++++++++++++++++++++++++++++++++
drivers/led/led_sw_blink.c | 10 +-
include/dm/ofnode.h | 41 ++++++++
include/led.h | 149 ++++++++++++++++++++++++++++-
include/status_led.h | 13 +++
net/net.c | 4 +
net/tftp.c | 5 +
test/dm/led.c | 72 ++++++++++++++
test/dm/ofnode.c | 9 ++
17 files changed, 594 insertions(+), 13 deletions(-)
create mode 100644 doc/api/led.rst
--
2.45.2
4
24
When the SPL build-phase was first created it was designed to solve a
particular problem (the need to init SDRAM so that U-Boot proper could
be loaded). It has since expanded to become an important part of U-Boot,
with three phases now present: TPL, VPL and SPL
Due to this history, the term 'SPL' is used to mean both a particular
phase (the one before U-Boot proper) and all the non-proper phases.
This has become confusing.
For a similar reason CONFIG_SPL_BUILD is set to 'y' for all 'SPL'
phases, not just SPL. So code which can only be compiled for actual SPL,
for example, must use something like this:
#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TPL_BUILD)
In Makefiles we have similar issues. SPL_ has been used as a variable
which expands to either SPL_ or nothing, to chose between options like
CONFIG_BLK and CONFIG_SPL_BLK. When TPL appeared, a new SPL_TPL variable
was created which expanded to 'SPL_', 'TPL_' or nothing. Later it was
updated to support 'VPL_' as well.
This series starts a change in terminology and usage to resolve the
above issues:
- The word 'xPL' is used instead of 'SPL' to mean a non-proper build
- A new CONFIG_XPL_BUILD define indicates that the current build is an
'xPL' build
- The existing CONFIG_SPL_BUILD is changed to mean SPL; it is not now
defined for TPL and VPL phases
- The existing SPL_ Makefile variable is renamed to SPL_
- The existing SPL_TPL Makefile variable is renamed to PHASE_
It should be noted that xpl_phase() can generally be used instead of
the above CONFIGs without a code-space or run-time penalty.
This series does not attempt to convert all of U-Boot to use this new
terminology but it makes a start. In particular, renaming spl.h and
common/spl seems like a bridge too far at this point.
An attempt has been made to make this series bisectable, but this is a
little tricky, so some logic errors may be present.
The series has been checked to make sure that there are no code-size
changes on any commit.
Changes in v2:
- Drop patches not stricly necessary for the conversion
- Update cover letter re code size
- Rebase to -next
Simon Glass (30):
Makefile: Add a u-boot.cfg file for VPL
scripts: Rename Makefile.spl to Makefile.xpl
scripts: Add some comments about autoconf.mk
scripts: Define CONFIG_XPL_BUILD for all xPL builds
global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD
doc: Update SPL docs for the xPL changes
net: freescale: Drop use of SPL_BUILD dependency
x86: Update a comment to mention XPL
tegra: Use SPL instead of SPL_BUILD
log: global: Rename warn_non_spl() and update the condition
qconfig: Add XPL_BUILD to ignored symbols
boot: Drop unnecessary ifdef for LOAD_FIT
xpl: Define CONFIG_SPL_BUILD only for the SPL build
serial: Make use of the SERIAL define
stdio: Make use of the SERIAL define
kconfig: binman: Check for SPL instead of XPL
global: Rename SPL_ to XPL_
global: Rename SPL_TPL_ to PHASE_
spl: Rename SPL_TPL_NAME and SPL_TPL_PROMPT
qconfig: Update tool for new Makefile variables
xpl: Rename u_boot_first_phase to xpl_is_first_phase()
xpl: Rename spl_phase to xpl_phase_t
xpl: Rename spl_phase() to xpl_phase()
xpl: Rename spl_in_proper() to not_xpl()
xpl: Add a function to indicate when in xPL
xpl: Rename spl_next_phase() and spl_prev_phase()
xpl: Rename spl_phase_prefix() and spl_phase_name()
README: Drop SoC-specific comment about SPL
doc: Move init-related things out of README
doc: Update init docs for the xPL changes
Makefile | 14 +--
README | 99 +------------------
arch/arm/Makefile | 6 +-
arch/arm/config.mk | 12 +--
arch/arm/cpu/arm11/Makefile | 2 +-
arch/arm/cpu/arm1176/start.S | 2 +-
arch/arm/cpu/arm920t/Makefile | 2 +-
arch/arm/cpu/arm926ejs/Makefile | 4 +-
arch/arm/cpu/arm926ejs/mxs/Makefile | 4 +-
arch/arm/cpu/arm926ejs/sunxi/config.mk | 2 +-
arch/arm/cpu/armv7/Makefile | 4 +-
arch/arm/cpu/armv7/cpu.c | 2 +-
arch/arm/cpu/armv7/lowlevel_init.S | 4 +-
arch/arm/cpu/armv7/s5p-common/Makefile | 2 +-
arch/arm/cpu/armv7/start.S | 2 +-
arch/arm/cpu/armv7/sunxi/Makefile | 4 +-
arch/arm/cpu/armv8/Makefile | 12 +--
arch/arm/cpu/armv8/cache_v8.c | 2 +-
arch/arm/cpu/armv8/fsl-layerscape/Makefile | 2 +-
arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 14 +--
.../armv8/fsl-layerscape/fsl_lsch2_speed.c | 2 +-
.../armv8/fsl-layerscape/fsl_lsch3_serdes.c | 6 +-
arch/arm/cpu/armv8/fsl-layerscape/icid.c | 6 +-
arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S | 6 +-
.../arm/cpu/armv8/fsl-layerscape/ls1043_ids.c | 2 +-
.../arm/cpu/armv8/fsl-layerscape/ls1046_ids.c | 2 +-
arch/arm/cpu/armv8/fsl-layerscape/spl.c | 4 +-
arch/arm/cpu/armv8/start.S | 8 +-
arch/arm/dts/imx8qm-u-boot.dtsi | 2 +-
arch/arm/dts/imx8qxp-u-boot.dtsi | 2 +-
.../asm/arch-fsl-layerscape/fsl_icid.h | 6 +-
arch/arm/include/asm/arch-imx8/boot0.h | 2 +-
arch/arm/include/asm/arch-lpc32xx/sys_proto.h | 2 +-
arch/arm/include/asm/arch-mx6/litesom.h | 2 +-
arch/arm/include/asm/arch-mx6/mx6-ddr.h | 4 +-
arch/arm/include/asm/arch-mxs/sys_proto.h | 2 +-
arch/arm/include/asm/arch-rk3066/boot0.h | 4 +-
arch/arm/include/asm/arch-rockchip/boot0.h | 6 +-
.../include/asm/arch-rockchip/cru_rv1126.h | 10 +-
arch/arm/include/asm/arch-sunxi/boot0.h | 4 +-
arch/arm/include/asm/arch-sunxi/sys_proto.h | 2 +-
arch/arm/include/asm/fsl_secure_boot.h | 4 +-
arch/arm/include/asm/ti-common/sys_proto.h | 2 +-
arch/arm/lib/Makefile | 20 ++--
arch/arm/lib/cache.c | 2 +-
arch/arm/lib/crt0.S | 14 +--
arch/arm/lib/crt0_64.S | 10 +-
arch/arm/lib/eabi_compat.c | 2 +-
arch/arm/lib/stack.c | 2 +-
arch/arm/lib/vectors.S | 6 +-
arch/arm/lib/zimage.c | 4 +-
arch/arm/mach-aspeed/ast2600/Makefile | 2 +-
arch/arm/mach-aspeed/ast2600/lowlevel_init.S | 2 +-
arch/arm/mach-at91/Makefile | 2 +-
arch/arm/mach-at91/arm926ejs/Makefile | 4 +-
arch/arm/mach-at91/config.mk | 2 +-
arch/arm/mach-davinci/Makefile | 2 +-
arch/arm/mach-davinci/config.mk | 2 +-
arch/arm/mach-davinci/misc.c | 2 +-
arch/arm/mach-exynos/Makefile | 2 +-
arch/arm/mach-exynos/lowlevel_init.c | 4 +-
arch/arm/mach-exynos/pinmux.c | 2 +-
arch/arm/mach-imx/Makefile | 20 ++--
arch/arm/mach-imx/cpu.c | 6 +-
arch/arm/mach-imx/hab.c | 8 +-
arch/arm/mach-imx/imx8/cpu.c | 4 +-
arch/arm/mach-imx/imx8m/clock_imx8mm.c | 2 +-
arch/arm/mach-imx/imx8m/clock_imx8mq.c | 4 +-
arch/arm/mach-imx/imx8m/soc.c | 16 +--
arch/arm/mach-imx/imx8ulp/Makefile | 2 +-
arch/arm/mach-imx/imx8ulp/clock.c | 2 +-
arch/arm/mach-imx/imx8ulp/lowlevel_init.S | 2 +-
arch/arm/mach-imx/imx8ulp/soc.c | 12 +--
arch/arm/mach-imx/imx9/Makefile | 2 +-
arch/arm/mach-imx/imx9/clock.c | 4 +-
arch/arm/mach-imx/imx9/lowlevel_init.S | 2 +-
arch/arm/mach-imx/imx9/soc.c | 12 +--
arch/arm/mach-imx/mx5/clock.c | 2 +-
arch/arm/mach-imx/mx6/Makefile | 2 +-
arch/arm/mach-imx/mx6/clock.c | 2 +-
arch/arm/mach-imx/mx6/litesom.c | 2 +-
arch/arm/mach-imx/mx6/opos6ul.c | 4 +-
arch/arm/mach-imx/mx6/soc.c | 6 +-
arch/arm/mach-imx/mx7/clock.c | 2 +-
arch/arm/mach-imx/mx7/soc.c | 4 +-
arch/arm/mach-imx/mx7ulp/clock.c | 2 +-
arch/arm/mach-imx/mx7ulp/soc.c | 2 +-
arch/arm/mach-imx/syscounter.c | 2 +-
arch/arm/mach-k3/am62ax/Makefile | 2 +-
arch/arm/mach-k3/am62px/Makefile | 2 +-
arch/arm/mach-k3/am62x/Makefile | 2 +-
arch/arm/mach-k3/am64x/Makefile | 2 +-
arch/arm/mach-k3/am65x/Makefile | 2 +-
arch/arm/mach-k3/arm64/cache.S | 2 +-
arch/arm/mach-k3/j721e/Makefile | 2 +-
arch/arm/mach-k3/j721s2/Makefile | 2 +-
arch/arm/mach-k3/j721s2/j721s2_init.c | 2 +-
arch/arm/mach-k3/j722s/Makefile | 2 +-
arch/arm/mach-k3/j784s4/Makefile | 2 +-
arch/arm/mach-k3/r5/Makefile | 2 +-
arch/arm/mach-k3/security.c | 2 +-
arch/arm/mach-keystone/Makefile | 2 +-
arch/arm/mach-keystone/config.mk | 4 +-
arch/arm/mach-keystone/mon.c | 2 +-
arch/arm/mach-lpc32xx/Makefile | 2 +-
arch/arm/mach-mediatek/Makefile | 2 +-
arch/arm/mach-mediatek/mt7629/lowlevel_init.S | 2 +-
arch/arm/mach-mvebu/Makefile | 8 +-
arch/arm/mach-mvebu/cpu.c | 4 +-
arch/arm/mach-mvebu/include/mach/cpu.h | 8 +-
arch/arm/mach-mvebu/include/mach/soc.h | 2 +-
arch/arm/mach-mvebu/serdes/a38x/Makefile | 8 +-
arch/arm/mach-mvebu/serdes/axp/Makefile | 4 +-
arch/arm/mach-nexell/include/mach/display.h | 2 +-
arch/arm/mach-omap2/Makefile | 4 +-
arch/arm/mach-omap2/am33xx/Makefile | 2 +-
arch/arm/mach-omap2/am33xx/board.c | 20 ++--
arch/arm/mach-omap2/boot-common.c | 6 +-
arch/arm/mach-omap2/clocks-common.c | 2 +-
arch/arm/mach-omap2/config.mk | 2 +-
arch/arm/mach-omap2/config_secure.mk | 2 +-
arch/arm/mach-omap2/hwinit-common.c | 14 +--
arch/arm/mach-omap2/omap3/Makefile | 2 +-
arch/arm/mach-omap2/omap3/board.c | 6 +-
arch/arm/mach-omap2/omap3/sdrc.c | 4 +-
arch/arm/mach-omap2/omap5/hwinit.c | 2 +-
arch/arm/mach-omap2/sec-common.c | 2 +-
arch/arm/mach-orion5x/Makefile | 4 +-
arch/arm/mach-orion5x/cpu.c | 2 +-
arch/arm/mach-orion5x/lowlevel_init.S | 4 +-
arch/arm/mach-renesas/include/mach/boot0.h | 2 +-
arch/arm/mach-renesas/lowlevel_init_ca15.S | 2 +-
arch/arm/mach-rockchip/Makefile | 6 +-
arch/arm/mach-rockchip/px30/px30.c | 2 +-
arch/arm/mach-rockchip/rk3036/Makefile | 2 +-
arch/arm/mach-rockchip/rk3066/rk3066.c | 2 +-
arch/arm/mach-rockchip/rk3188/rk3188.c | 4 +-
arch/arm/mach-rockchip/rk322x/rk322x.c | 2 +-
arch/arm/mach-rockchip/rk3288/rk3288.c | 4 +-
arch/arm/mach-rockchip/rk3308/rk3308.c | 2 +-
arch/arm/mach-rockchip/rk3328/rk3328.c | 2 +-
arch/arm/mach-rockchip/rk3368/rk3368.c | 2 +-
arch/arm/mach-rockchip/rk3399/rk3399.c | 8 +-
arch/arm/mach-rockchip/rk3568/rk3568.c | 2 +-
arch/arm/mach-rockchip/rk3588/rk3588.c | 4 +-
arch/arm/mach-rockchip/rv1108/Makefile | 2 +-
arch/arm/mach-rockchip/rv1126/rv1126.c | 2 +-
arch/arm/mach-sc5xx/Makefile | 2 +-
arch/arm/mach-sc5xx/config.mk | 2 +-
arch/arm/mach-socfpga/Makefile | 2 +-
arch/arm/mach-socfpga/board.c | 6 +-
arch/arm/mach-socfpga/clock_manager.c | 2 +-
arch/arm/mach-socfpga/clock_manager_arria10.c | 2 +-
arch/arm/mach-socfpga/include/mach/boot0.h | 2 +-
.../include/mach/clock_manager_arria10.h | 2 +-
arch/arm/mach-socfpga/lowlevel_init_soc64.S | 2 +-
arch/arm/mach-socfpga/mailbox_s10.c | 2 +-
arch/arm/mach-socfpga/misc.c | 2 +-
arch/arm/mach-socfpga/misc_arria10.c | 2 +-
arch/arm/mach-socfpga/misc_gen5.c | 2 +-
arch/arm/mach-socfpga/reset_manager_s10.c | 2 +-
arch/arm/mach-socfpga/secure_vab.c | 2 +-
arch/arm/mach-socfpga/timer_s10.c | 4 +-
arch/arm/mach-socfpga/wrap_pll_config_soc64.c | 6 +-
arch/arm/mach-stm32mp/Makefile | 2 +-
arch/arm/mach-stm32mp/bsec.c | 12 +--
arch/arm/mach-stm32mp/stm32mp1/Makefile | 4 +-
arch/arm/mach-stm32mp/stm32mp1/cpu.c | 6 +-
arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c | 4 +-
arch/arm/mach-sunxi/Makefile | 2 +-
arch/arm/mach-sunxi/board.c | 10 +-
arch/arm/mach-sunxi/clock_sun4i.c | 4 +-
arch/arm/mach-sunxi/clock_sun50i_h6.c | 4 +-
arch/arm/mach-sunxi/clock_sun6i.c | 4 +-
arch/arm/mach-sunxi/clock_sun8i_a83t.c | 4 +-
arch/arm/mach-sunxi/clock_sun9i.c | 4 +-
arch/arm/mach-sunxi/gtbus_sun9i.c | 2 +-
arch/arm/mach-tegra/Makefile | 6 +-
arch/arm/mach-tegra/board.c | 2 +-
arch/arm/mach-tegra/board2.c | 2 +-
arch/arm/mach-tegra/tegra114/Makefile | 2 +-
arch/arm/mach-tegra/tegra124/Kconfig | 4 +-
arch/arm/mach-tegra/tegra124/Makefile | 4 +-
arch/arm/mach-tegra/tegra20/Makefile | 4 +-
arch/arm/mach-tegra/tegra30/Makefile | 4 +-
arch/arm/mach-uniphier/Makefile | 2 +-
arch/arm/mach-uniphier/arm32/Makefile | 2 +-
.../mach-uniphier/boot-device/boot-device.c | 4 +-
arch/arm/mach-uniphier/clk/Makefile | 2 +-
arch/arm/mach-uniphier/debug-uart/Makefile | 2 +-
.../arm/mach-uniphier/debug-uart/debug-uart.c | 4 +-
arch/arm/mach-uniphier/dram/Makefile | 2 +-
arch/arm/mach-zynq/Makefile | 2 +-
arch/arm/mach-zynq/cpu.c | 2 +-
arch/arm/mach-zynqmp/Makefile | 8 +-
arch/arm/mach-zynqmp/cpu.c | 4 +-
arch/microblaze/config.mk | 2 +-
arch/microblaze/cpu/Makefile | 2 +-
arch/microblaze/cpu/start.S | 8 +-
arch/mips/Makefile | 2 +-
arch/mips/config.mk | 2 +-
arch/mips/lib/Makefile | 2 +-
arch/mips/mach-jz47xx/Makefile | 2 +-
arch/mips/mach-jz47xx/include/mach/jz4780.h | 2 +-
arch/mips/mach-jz47xx/jz4780/jz4780.c | 4 +-
arch/mips/mach-jz47xx/start.S | 4 +-
arch/mips/mach-mtmips/Makefile | 2 +-
arch/mips/mach-mtmips/cpu.c | 2 +-
arch/mips/mach-mtmips/mt7620/Makefile | 2 +-
arch/mips/mach-mtmips/mt7621/Makefile | 2 +-
arch/mips/mach-mtmips/mt7628/Makefile | 2 +-
arch/powerpc/config.mk | 2 +-
arch/powerpc/cpu/mpc83xx/Makefile | 2 +-
arch/powerpc/cpu/mpc83xx/start.S | 6 +-
arch/powerpc/cpu/mpc85xx/Makefile | 4 +-
arch/powerpc/cpu/mpc85xx/cpu_init_early.c | 2 +-
arch/powerpc/cpu/mpc85xx/start.S | 14 +--
arch/powerpc/cpu/mpc85xx/tlb.c | 4 +-
arch/powerpc/cpu/mpc8xxx/Makefile | 2 +-
arch/powerpc/cpu/mpc8xxx/fsl_pamu.c | 4 +-
arch/powerpc/cpu/mpc8xxx/law.c | 4 +-
arch/powerpc/cpu/mpc8xxx/pamu_table.c | 2 +-
arch/powerpc/include/asm/fsl_secure_boot.h | 8 +-
arch/powerpc/lib/Makefile | 6 +-
arch/riscv/Makefile | 2 +-
arch/riscv/cpu/fu540/Makefile | 2 +-
arch/riscv/cpu/fu740/Makefile | 2 +-
arch/riscv/cpu/jh7110/Makefile | 2 +-
arch/riscv/cpu/start.S | 8 +-
arch/riscv/lib/Makefile | 24 ++---
arch/riscv/lib/sifive_cache.c | 4 +-
arch/sandbox/cpu/Makefile | 2 +-
arch/sandbox/cpu/cpu.c | 2 +-
arch/sandbox/cpu/spl.c | 8 +-
arch/sandbox/cpu/start.c | 4 +-
arch/x86/Makefile | 10 +-
arch/x86/config.mk | 8 +-
arch/x86/cpu/Makefile | 22 ++---
arch/x86/cpu/apollolake/Makefile | 10 +-
arch/x86/cpu/apollolake/cpu_spl.c | 4 +-
arch/x86/cpu/apollolake/fsp_bindings.c | 4 +-
arch/x86/cpu/apollolake/hostbridge.c | 2 +-
arch/x86/cpu/apollolake/lpc.c | 2 +-
arch/x86/cpu/apollolake/pch.c | 2 +-
arch/x86/cpu/apollolake/pmc.c | 4 +-
arch/x86/cpu/apollolake/punit.c | 2 +-
arch/x86/cpu/apollolake/spl.c | 2 +-
arch/x86/cpu/broadwell/Makefile | 14 +--
arch/x86/cpu/broadwell/cpu.c | 2 +-
arch/x86/cpu/broadwell/cpu_full.c | 2 +-
arch/x86/cpu/broadwell/pch.c | 2 +-
arch/x86/cpu/config.mk | 2 +-
arch/x86/cpu/coreboot/Makefile | 2 +-
arch/x86/cpu/coreboot/coreboot.c | 2 +-
arch/x86/cpu/cpu.c | 4 +-
arch/x86/cpu/i386/cpu.c | 2 +-
arch/x86/cpu/intel_common/Makefile | 20 ++--
arch/x86/cpu/intel_common/mrc.c | 2 +-
arch/x86/cpu/intel_common/p2sb.c | 6 +-
arch/x86/cpu/ivybridge/Makefile | 8 +-
arch/x86/cpu/qemu/Makefile | 2 +-
arch/x86/include/asm/string.h | 2 +-
arch/x86/lib/Makefile | 20 ++--
arch/x86/lib/fsp/Makefile | 2 +-
arch/x86/lib/fsp2/fsp_dram.c | 2 +-
arch/x86/lib/fsp2/fsp_init.c | 4 +-
arch/x86/lib/tpl.c | 2 +-
board/BuR/brppt1/Makefile | 2 +-
board/BuR/brppt1/board.c | 4 +-
board/BuR/brppt2/board.c | 6 +-
board/BuR/brppt2/config.mk | 2 +-
board/BuR/brsmarc1/Makefile | 2 +-
board/BuR/brsmarc1/board.c | 8 +-
board/BuR/brxre1/Makefile | 2 +-
board/BuR/brxre1/board.c | 4 +-
board/BuR/common/common.c | 4 +-
board/CZ.NIC/turris_1x/Makefile | 2 +-
board/CZ.NIC/turris_1x/tlb.c | 2 +-
board/CZ.NIC/turris_omnia/Makefile | 2 +-
board/CZ.NIC/turris_omnia/turris_omnia.c | 2 +-
board/Synology/ds414/Makefile | 2 +-
board/advantech/imx8mp_rsb3720a1/Makefile | 4 +-
board/advantech/imx8qm_dmsse20_a1/Makefile | 2 +-
board/advantech/imx8qm_rom7720_a1/Makefile | 2 +-
board/alliedtelesis/x530/Makefile | 2 +-
board/asus/grouper/Makefile | 2 +-
board/asus/transformer-t30/Makefile | 2 +-
.../atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 2 +-
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 2 +-
board/atmel/at91sam9x5ek/at91sam9x5ek.c | 2 +-
.../atmel/sama5d27_som1_ek/sama5d27_som1_ek.c | 2 +-
.../sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c | 2 +-
board/atmel/sama5d2_icp/sama5d2_icp.c | 2 +-
.../atmel/sama5d2_xplained/sama5d2_xplained.c | 2 +-
.../atmel/sama5d3_xplained/sama5d3_xplained.c | 2 +-
board/atmel/sama5d3xek/sama5d3xek.c | 2 +-
.../atmel/sama5d4_xplained/sama5d4_xplained.c | 2 +-
board/atmel/sama5d4ek/sama5d4ek.c | 2 +-
board/avionic-design/tec-ng/Makefile | 2 +-
board/beacon/imx8mm/Makefile | 2 +-
board/beacon/imx8mn/Makefile | 2 +-
board/beacon/imx8mp/Makefile | 2 +-
board/bitmain/antminer_s9/Makefile | 2 +-
board/bosch/acc/acc.c | 2 +-
board/bosch/guardian/Makefile | 2 +-
board/bosch/shc/board.c | 4 +-
board/bsh/imx6ulz_smm_m2/Makefile | 2 +-
board/bsh/imx8mn_smm_s2/Makefile | 2 +-
board/bticino/mamoj/Makefile | 2 +-
board/cloos/imx8mm_phg/Makefile | 2 +-
board/compulab/cl-som-imx7/Makefile | 2 +-
board/compulab/cl-som-imx7/common.h | 4 +-
board/compulab/cl-som-imx7/mux.c | 4 +-
board/compulab/cm_fx6/Makefile | 2 +-
board/compulab/cm_t43/Makefile | 2 +-
board/compulab/imx8mm-cl-iot-gate/Makefile | 2 +-
.../compulab/imx8mm-cl-iot-gate/eeprom_spl.c | 2 +-
board/comvetia/lxr2/lxr2.c | 2 +-
.../conclusive/kstr-sama5d27/kstr-sama5d27.c | 2 +-
board/congatec/cgtqmx8/Makefile | 2 +-
board/congatec/common/Makefile | 2 +-
board/coreboot/coreboot/Makefile | 2 +-
board/data_modul/common/common.c | 2 +-
board/data_modul/imx8mm_edm_sbc/Makefile | 2 +-
board/data_modul/imx8mp_edm_sbc/Makefile | 2 +-
board/davinci/da8xxevm/omapl138_lcdk.c | 2 +-
board/dhelectronics/dh_imx6/Makefile | 2 +-
board/dhelectronics/dh_imx8mp/Makefile | 2 +-
board/dhelectronics/dh_stm32mp1/board.c | 6 +-
board/ea/mx7ulp_com/mx7ulp_com.c | 2 +-
board/eets/pdu001/board.c | 2 +-
board/embest/mx6boards/mx6boards.c | 2 +-
board/engicam/common/Makefile | 2 +-
board/engicam/imx8mm/Makefile | 2 +-
board/engicam/imx8mp/Makefile | 2 +-
board/engicam/stm32mp1/Makefile | 2 +-
board/firefly/firefly-rk3288/firefly-rk3288.c | 2 +-
board/firefly/roc-pc-rk3399/roc-pc-rk3399.c | 2 +-
board/freescale/common/Makefile | 10 +-
board/freescale/common/cmd_esbc_validate.c | 2 +-
board/freescale/common/fsl_chain_of_trust.c | 8 +-
board/freescale/common/fsl_validate.c | 4 +-
board/freescale/common/qixis.c | 2 +-
board/freescale/imx8mm_evk/Makefile | 2 +-
board/freescale/imx8mn_evk/Makefile | 2 +-
board/freescale/imx8mp_evk/Makefile | 2 +-
board/freescale/imx8mq_evk/Makefile | 2 +-
board/freescale/imx8qm_mek/Makefile | 2 +-
board/freescale/imx8qxp_mek/Makefile | 2 +-
board/freescale/imx8ulp_evk/Makefile | 2 +-
board/freescale/imx93_evk/Makefile | 2 +-
board/freescale/imxrt1020-evk/imxrt1020-evk.c | 2 +-
board/freescale/imxrt1050-evk/imxrt1050-evk.c | 2 +-
board/freescale/imxrt1170-evk/imxrt1170-evk.c | 2 +-
board/freescale/ls1012afrdm/ls1012afrdm.c | 2 +-
board/freescale/ls1012aqds/ls1012aqds.c | 2 +-
board/freescale/ls1012ardb/ls1012ardb.c | 2 +-
board/freescale/ls1021aiot/ls1021aiot.c | 4 +-
board/freescale/ls1021aqds/ddr.c | 4 +-
board/freescale/ls1021aqds/ls1021aqds.c | 2 +-
board/freescale/ls1021atsn/ls1021atsn.c | 10 +-
board/freescale/ls1021atwr/ls1021atwr.c | 10 +-
board/freescale/ls1028a/ls1028a.c | 2 +-
board/freescale/ls1043aqds/Makefile | 2 +-
board/freescale/ls1043aqds/ddr.c | 2 +-
board/freescale/ls1043aqds/ls1043aqds.c | 2 +-
board/freescale/ls1043ardb/Makefile | 2 +-
board/freescale/ls1043ardb/ddr.c | 4 +-
board/freescale/ls1043ardb/ls1043ardb.c | 2 +-
board/freescale/ls1046aqds/Makefile | 2 +-
board/freescale/ls1046aqds/ddr.c | 2 +-
board/freescale/ls1046aqds/ls1046aqds.c | 2 +-
board/freescale/ls1046ardb/Makefile | 2 +-
board/freescale/ls1046ardb/ddr.c | 2 +-
board/freescale/ls1046ardb/ls1046ardb.c | 2 +-
board/freescale/ls1088a/Makefile | 2 +-
board/freescale/ls1088a/ddr.c | 6 +-
board/freescale/ls1088a/ls1088a.c | 8 +-
board/freescale/ls2080aqds/ddr.c | 2 +-
board/freescale/ls2080aqds/ls2080aqds.c | 4 +-
board/freescale/ls2080ardb/ddr.c | 2 +-
board/freescale/ls2080ardb/eth_ls2080rdb.c | 2 +-
board/freescale/lx2160a/lx2160a.c | 2 +-
board/freescale/mx23evk/Makefile | 2 +-
board/freescale/mx28evk/Makefile | 2 +-
board/freescale/mx6memcal/Makefile | 2 +-
board/freescale/mx6sabreauto/mx6sabreauto.c | 2 +-
board/freescale/mx6sabresd/mx6sabresd.c | 2 +-
board/freescale/mx6slevk/mx6slevk.c | 4 +-
.../mx6ul_14x14_evk/mx6ul_14x14_evk.c | 4 +-
board/freescale/p1010rdb/Makefile | 4 +-
board/freescale/p1010rdb/p1010rdb.c | 2 +-
board/freescale/p1010rdb/tlb.c | 2 +-
board/freescale/p1_p2_rdb_pc/Makefile | 4 +-
board/freescale/p1_p2_rdb_pc/tlb.c | 2 +-
board/freescale/t102xrdb/Makefile | 2 +-
board/freescale/t102xrdb/ddr.c | 4 +-
board/freescale/t102xrdb/tlb.c | 4 +-
board/freescale/t104xrdb/Makefile | 2 +-
board/freescale/t104xrdb/ddr.c | 4 +-
board/freescale/t104xrdb/tlb.c | 6 +-
board/freescale/t208xqds/Makefile | 2 +-
board/freescale/t208xqds/ddr.c | 2 +-
board/freescale/t208xqds/tlb.c | 4 +-
board/freescale/t208xrdb/Makefile | 2 +-
board/freescale/t208xrdb/ddr.c | 2 +-
board/freescale/t208xrdb/tlb.c | 4 +-
board/freescale/t4rdb/Makefile | 2 +-
board/freescale/t4rdb/cpld.c | 2 +-
board/freescale/t4rdb/ddr.c | 2 +-
board/freescale/t4rdb/tlb.c | 4 +-
board/gardena/smart-gateway-at91sam/Makefile | 2 +-
board/gardena/smart-gateway-mt7688/board.c | 2 +-
board/gateworks/gw_ventana/Makefile | 2 +-
board/gateworks/gw_ventana/eeprom.c | 2 +-
board/gateworks/venice/Makefile | 2 +-
board/gdsys/a38x/Makefile | 2 +-
board/gdsys/a38x/controlcenterdc.c | 12 +--
board/ge/b1x5v2/b1x5v2.c | 4 +-
board/ge/b1x5v2/spl.c | 2 +-
board/google/chromebook_coral/coral.c | 2 +-
board/google/gru/gru.c | 4 +-
board/google/imx8mq_phanbell/Makefile | 2 +-
board/google/veyron/veyron.c | 2 +-
board/grinn/chiliboard/board.c | 2 +-
board/grinn/liteboard/board.c | 2 +-
board/htc/endeavoru/Makefile | 2 +-
board/imgtec/ci20/ci20.c | 4 +-
board/isee/igep003x/Makefile | 2 +-
board/isee/igep003x/board.c | 2 +-
board/isee/igep00x0/Makefile | 2 +-
board/k+p/kp_imx6q_tpc/Makefile | 2 +-
board/kontron/pitx_imx8m/Makefile | 2 +-
board/kontron/sl-mx6ul/Makefile | 2 +-
board/kontron/sl-mx8mm/Makefile | 2 +-
board/kontron/sl28/Makefile | 4 +-
board/kontron/sl28/ddr.c | 2 +-
board/kosagi/novena/Makefile | 2 +-
board/lenovo/ideapad-yoga-11/Makefile | 2 +-
board/lg/sniper/sniper.c | 2 +-
board/lg/x3-t30/Makefile | 2 +-
board/liebherr/display5/Makefile | 2 +-
board/liebherr/mccmon6/Makefile | 2 +-
board/liebherr/xea/Makefile | 2 +-
board/liebherr/xea/xea.c | 6 +-
board/logicpd/am3517evm/am3517evm.c | 2 +-
board/logicpd/imx6/imx6logic.c | 2 +-
board/logicpd/omap3som/omap3logic.c | 2 +-
board/menlo/m53menlo/m53menlo.c | 2 +-
board/menlo/mx8menlo/Makefile | 4 +-
board/microsoft/surface-rt/Makefile | 2 +-
board/mntre/imx8mq_reform2/Makefile | 2 +-
board/msc/sm2s_imx8mp/Makefile | 2 +-
board/myir/mys_6ulx/Makefile | 2 +-
board/nvidia/beaver/Makefile | 2 +-
board/nvidia/cardhu/Makefile | 2 +-
board/olimex/mx23_olinuxino/Makefile | 2 +-
board/opalkelly/zynq/Makefile | 2 +-
board/phytec/common/Makefile | 2 +-
board/phytec/pcl063/Makefile | 2 +-
board/phytec/pcm058/pcm058.c | 2 +-
board/phytec/phycore_am335x_r2/Makefile | 2 +-
board/phytec/phycore_am335x_r2/board.c | 2 +-
board/phytec/phycore_am62x/phycore-am62x.c | 2 +-
board/phytec/phycore_imx8mm/Makefile | 2 +-
board/phytec/phycore_imx8mp/Makefile | 2 +-
board/phytec/phycore_imx93/Makefile | 2 +-
board/polyhex/imx8mp_debix_model_a/Makefile | 2 +-
board/purism/librem5/Makefile | 2 +-
board/purism/librem5/librem5.h | 4 +-
board/radxa/rockpi4-rk3399/rockpi4-rk3399.c | 4 +-
board/renesas/alt/Makefile | 2 +-
board/renesas/condor/Makefile | 2 +-
board/renesas/draak/Makefile | 2 +-
board/renesas/eagle/Makefile | 2 +-
board/renesas/ebisu/Makefile | 2 +-
board/renesas/falcon/Makefile | 2 +-
board/renesas/gose/Makefile | 2 +-
board/renesas/koelsch/Makefile | 2 +-
board/renesas/lager/Makefile | 2 +-
board/renesas/porter/Makefile | 2 +-
board/renesas/salvator-x/Makefile | 2 +-
board/renesas/silk/Makefile | 2 +-
board/renesas/stout/Makefile | 2 +-
board/renesas/ulcb/Makefile | 2 +-
board/renesas/v3hsk/Makefile | 2 +-
board/renesas/v3msk/Makefile | 2 +-
board/ronetix/imx7-cm/Makefile | 2 +-
board/ronetix/imx8mq-cm/Makefile | 2 +-
board/samsung/common/Makefile | 2 +-
board/samsung/origen/Makefile | 2 +-
board/samsung/smdkv310/Makefile | 2 +-
board/seeed/npi_imx6ull/Makefile | 2 +-
board/sielaff/imx6dl-sielaff/Makefile | 2 +-
board/siemens/capricorn/Makefile | 2 +-
board/siemens/capricorn/board.c | 8 +-
board/siemens/common/board_am335x.c | 12 +--
board/siemens/common/board_am335x.h | 4 +-
board/siemens/common/factoryset.c | 4 +-
board/siemens/corvus/board.c | 2 +-
board/siemens/draco/Makefile | 4 +-
board/siemens/draco/board.c | 14 +--
board/siemens/pxm2/Makefile | 4 +-
board/siemens/pxm2/board.c | 14 +--
board/siemens/rut/Makefile | 4 +-
board/siemens/rut/board.c | 8 +-
board/siemens/smartweb/smartweb.c | 2 +-
board/siemens/taurus/taurus.c | 4 +-
board/sifive/unleashed/Makefile | 2 +-
board/sifive/unmatched/Makefile | 2 +-
board/silinux/ek874/Makefile | 2 +-
board/softing/vining_2000/vining_2000.c | 2 +-
board/softing/vining_fpga/socfpga.c | 2 +-
board/solidrun/mx6cuboxi/mx6cuboxi.c | 2 +-
board/st/common/Makefile | 2 +-
board/st/common/cmd_stboard.c | 2 +-
board/st/stm32f746-disco/stm32f746-disco.c | 4 +-
board/st/stm32mp1/Makefile | 2 +-
board/starfive/visionfive2/Makefile | 2 +-
board/sunxi/board.c | 6 +-
board/tcl/sl50/Makefile | 2 +-
board/tcl/sl50/board.c | 14 +--
board/technexion/pico-imx6/spl.c | 2 +-
board/technexion/pico-imx6ul/spl.c | 2 +-
board/technexion/pico-imx7d/spl.c | 2 +-
board/technexion/pico-imx8mq/Makefile | 2 +-
board/theadorable/theadorable.c | 6 +-
.../theobroma-systems/jaguar_rk3588/Makefile | 2 +-
board/theobroma-systems/puma_rk3399/Makefile | 2 +-
.../theobroma-systems/ringneck_px30/Makefile | 2 +-
board/theobroma-systems/tiger_rk3588/Makefile | 2 +-
board/ti/am335x/Makefile | 2 +-
board/ti/am335x/board.c | 12 +--
board/ti/am43xx/Makefile | 2 +-
board/ti/am57xx/board.c | 10 +-
board/ti/am62x/evm.c | 2 +-
board/ti/am64x/evm.c | 2 +-
board/ti/common/board_detect.c | 6 +-
board/ti/dra7xx/evm.c | 6 +-
board/ti/j721e/evm.c | 6 +-
board/ti/j721s2/evm.c | 4 +-
board/ti/ks2_evm/board.c | 2 +-
board/ti/ks2_evm/board_k2e.c | 2 +-
board/ti/ks2_evm/board_k2g.c | 4 +-
board/ti/ks2_evm/board_k2hk.c | 2 +-
board/ti/ks2_evm/board_k2l.c | 2 +-
board/ti/omap3evm/evm.c | 4 +-
board/timll/devkit8000/devkit8000.c | 2 +-
board/topic/zynq/Makefile | 2 +-
board/toradex/apalis_imx6/apalis_imx6.c | 12 +--
board/toradex/apalis_imx6/do_fuse.c | 4 +-
board/toradex/apalis_imx6/pf0100.c | 4 +-
board/toradex/apalis_t30/Makefile | 2 +-
board/toradex/colibri_imx6/colibri_imx6.c | 12 +--
board/toradex/colibri_imx6/do_fuse.c | 4 +-
board/toradex/colibri_imx6/pf0100.c | 4 +-
board/toradex/colibri_t30/Makefile | 2 +-
board/toradex/common/Makefile | 2 +-
board/toradex/verdin-imx8mm/Makefile | 2 +-
board/toradex/verdin-imx8mp/Makefile | 2 +-
board/udoo/neo/neo.c | 2 +-
board/udoo/udoo_spl.c | 2 +-
board/variscite/common/imx9_eeprom.c | 2 +-
board/variscite/dart_6ul/Makefile | 2 +-
board/variscite/imx8mn_var_som/Makefile | 2 +-
.../variscite/imx8mn_var_som/imx8mn_var_som.c | 4 +-
board/variscite/imx93_var_som/Makefile | 2 +-
board/vscom/baltos/Makefile | 2 +-
board/vscom/baltos/board.c | 14 +--
board/wandboard/Makefile | 2 +-
board/wexler/qc750/Makefile | 2 +-
board/work-microwave/work_92105/Makefile | 2 +-
board/xilinx/common/Makefile | 2 +-
board/xilinx/common/board.c | 6 +-
.../microblaze-generic/microblaze-generic.c | 2 +-
board/xilinx/zynq/Makefile | 6 +-
board/xilinx/zynq/board.c | 4 +-
board/xilinx/zynqmp/Makefile | 8 +-
board/xilinx/zynqmp/zynqmp.c | 6 +-
boot/Makefile | 86 ++++++++--------
boot/fdt_simplefb.c | 2 +-
boot/image-android-dt.c | 2 +-
boot/image-android.c | 2 +-
boot/image-fit-sig.c | 2 +-
boot/vbe_simple_fw.c | 4 +-
cmd/Makefile | 6 +-
cmd/nvedit.c | 12 +--
cmd/vbe.c | 2 +-
common/Makefile | 42 ++++----
common/bloblist.c | 6 +-
common/board_f.c | 2 +-
common/bootstage.c | 6 +-
common/cli_readline.c | 2 +-
common/console.c | 2 +-
common/hash.c | 2 +-
common/init/Makefile | 2 +-
common/spl/Makefile | 58 +++++------
common/spl/spl.c | 61 ++++++------
common/spl/spl_fit.c | 2 +-
common/spl/spl_legacy.c | 2 +-
common/splash_source.c | 2 +-
config.mk | 2 +-
disk/Makefile | 18 ++--
disk/part.c | 2 +-
disk/part_dos.c | 2 +-
doc/develop/distro.rst | 4 +-
doc/develop/index.rst | 1 +
doc/develop/init.rst | 93 +++++++++++++++++
doc/develop/logging.rst | 2 +-
doc/develop/qconfig.rst | 2 +-
doc/develop/spl.rst | 83 ++++++++--------
doc/develop/tests_sandbox.rst | 2 +-
doc/develop/tests_writing.rst | 6 +-
doc/device-tree-bindings/bootph.yaml | 2 +-
drivers/Makefile | 88 ++++++++---------
drivers/adc/Makefile | 2 +-
drivers/ata/Makefile | 2 +-
drivers/block/Makefile | 12 +--
drivers/bus/Makefile | 4 +-
drivers/cache/Makefile | 2 +-
drivers/clk/Makefile | 18 ++--
drivers/clk/altera/clk-agilex.c | 2 +-
drivers/clk/altera/clk-agilex5.c | 2 +-
drivers/clk/altera/clk-n5x.c | 2 +-
drivers/clk/clk-uclass.c | 2 +-
drivers/clk/clk_vexpress_osc.c | 4 +-
drivers/clk/clk_zynq.c | 22 ++---
drivers/clk/exynos/Makefile | 2 +-
drivers/clk/imx/Makefile | 20 ++--
drivers/clk/imx/clk-imx8mm.c | 6 +-
drivers/clk/imx/clk-imx8mn.c | 6 +-
drivers/clk/imx/clk-imxrt1020.c | 2 +-
drivers/clk/imx/clk-imxrt1050.c | 2 +-
drivers/clk/rockchip/clk_px30.c | 6 +-
drivers/clk/rockchip/clk_rk3188.c | 6 +-
drivers/clk/rockchip/clk_rk3288.c | 8 +-
drivers/clk/rockchip/clk_rk3328.c | 4 +-
drivers/clk/rockchip/clk_rk3368.c | 14 +--
drivers/clk/rockchip/clk_rk3399.c | 10 +-
drivers/clk/rockchip/clk_rk3568.c | 10 +-
drivers/clk/rockchip/clk_rk3588.c | 14 +--
drivers/clk/sifive/sifive-prci.c | 2 +-
drivers/clk/starfive/clk-jh7110-pll.c | 4 +-
drivers/clk/stm32/clk-stm32mp1.c | 6 +-
drivers/clk/ti/Makefile | 4 +-
drivers/core/Makefile | 16 +--
drivers/core/ofnode.c | 4 +-
drivers/crypto/fsl/Makefile | 2 +-
drivers/crypto/fsl/jobdesc.c | 2 +-
drivers/crypto/fsl/jr.c | 6 +-
drivers/ddr/altera/Makefile | 2 +-
drivers/ddr/altera/sdram_gen5.c | 4 +-
drivers/ddr/fsl/lc_common_dimm_params.c | 6 +-
drivers/ddr/fsl/main.c | 6 +-
drivers/ddr/imx/imx8m/Makefile | 2 +-
drivers/ddr/imx/imx8ulp/Makefile | 2 +-
drivers/ddr/imx/imx9/Makefile | 2 +-
drivers/ddr/imx/phy/Makefile | 2 +-
drivers/ddr/marvell/a38x/Makefile | 44 ++++-----
drivers/ddr/marvell/a38x/old/Makefile | 28 +++---
drivers/ddr/marvell/axp/Makefile | 20 ++--
drivers/dfu/Makefile | 16 +--
drivers/firmware/Makefile | 2 +-
drivers/firmware/firmware-zynqmp.c | 10 +-
drivers/fpga/intel_sdm_mb.c | 2 +-
drivers/fpga/zynqpl.c | 6 +-
drivers/gpio/Makefile | 16 +--
drivers/gpio/gpio-uclass.c | 4 +-
drivers/gpio/pca953x.c | 2 +-
drivers/gpio/rk_gpio.c | 4 +-
drivers/gpio/s5p_gpio.c | 10 +-
drivers/gpio/sunxi_gpio.c | 2 +-
drivers/gpio/tca642x.c | 2 +-
drivers/gpio/tegra_gpio.c | 2 +-
drivers/i2c/Makefile | 16 +--
drivers/i2c/designware_i2c_pci.c | 4 +-
drivers/input/Makefile | 8 +-
drivers/led/Makefile | 2 +-
drivers/mailbox/Makefile | 2 +-
drivers/mailbox/zynqmp-ipi.c | 6 +-
drivers/misc/Makefile | 32 +++---
drivers/misc/gsc.c | 2 +-
drivers/misc/imx8/scu.c | 2 +-
drivers/misc/p2sb-uclass.c | 2 +-
drivers/mmc/Makefile | 14 +--
drivers/mmc/mmc-uclass.c | 4 +-
drivers/mmc/mmc.c | 20 ++--
drivers/mmc/mmc_legacy.c | 4 +-
drivers/mmc/mmc_private.h | 2 +-
drivers/mmc/omap_hsmmc.c | 4 +-
drivers/mmc/rockchip_dw_mmc.c | 2 +-
drivers/mmc/rockchip_sdhci.c | 2 +-
drivers/mmc/socfpga_dw_mmc.c | 2 +-
drivers/mmc/tmio-common.c | 2 +-
drivers/mmc/uniphier-sd.c | 4 +-
drivers/mmc/zynq_sdhci.c | 6 +-
drivers/mtd/Makefile | 6 +-
drivers/mtd/nand/Makefile | 4 +-
drivers/mtd/nand/raw/Makefile | 4 +-
drivers/mtd/nand/raw/atmel_nand.c | 4 +-
drivers/mtd/nand/raw/lpc32xx_nand_mlc.c | 6 +-
drivers/mtd/nand/raw/lpc32xx_nand_slc.c | 8 +-
drivers/mtd/nand/raw/nand_base.c | 10 +-
drivers/mtd/nand/raw/omap_gpmc.c | 4 +-
drivers/mtd/nand/raw/sand_nand.c | 4 +-
drivers/mtd/onenand/Makefile | 2 +-
drivers/mtd/spi/Makefile | 10 +-
drivers/mtd/spi/sf-uclass.c | 2 +-
drivers/mtd/spi/sf_dataflash.c | 2 +-
drivers/mtd/spi/spi-nor-core.c | 4 +-
drivers/mux/Makefile | 2 +-
drivers/net/Kconfig | 2 +-
drivers/net/dwc_eth_xgmac_socfpga.c | 2 +-
drivers/net/dwmac_socfpga.c | 2 +-
drivers/nvme/Makefile | 2 +-
drivers/pci/pci-uclass.c | 4 +-
drivers/pci/pci_rom.c | 4 +-
drivers/phy/Makefile | 6 +-
drivers/phy/cadence/Makefile | 4 +-
drivers/phy/ti/Makefile | 2 +-
drivers/pinctrl/Makefile | 8 +-
drivers/pinctrl/intel/pinctrl.c | 6 +-
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 4 +-
drivers/pinctrl/pinctrl_stm32.c | 4 +-
drivers/pinctrl/starfive/Makefile | 4 +-
drivers/pinctrl/tegra/Makefile | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier.h | 2 +-
drivers/power/Makefile | 10 +-
drivers/power/acpi_pmc/Makefile | 2 +-
drivers/power/acpi_pmc/acpi-pmc-uclass.c | 2 +-
drivers/power/domain/Makefile | 2 +-
drivers/power/pmic/Makefile | 34 +++----
drivers/power/pmic/rk8xx.c | 4 +-
drivers/power/pmic/stpmic1.c | 6 +-
drivers/power/power_core.c | 2 +-
drivers/power/regulator/Makefile | 48 ++++-----
drivers/power/regulator/rk8xx.c | 2 +-
drivers/power/sy8106a.c | 2 +-
drivers/ram/Makefile | 4 +-
drivers/ram/mediatek/ddr3-mt7629.c | 4 +-
drivers/ram/rockchip/sdram_rk3188.c | 12 +--
drivers/ram/rockchip/sdram_rk3288.c | 12 +--
drivers/ram/rockchip/sdram_rk3399.c | 6 +-
drivers/ram/rockchip/sdram_rv1126.c | 6 +-
drivers/ram/sifive/sifive_ddr.c | 6 +-
drivers/ram/starfive/Makefile | 4 +-
drivers/ram/stm32mp1/stm32mp1_ram.c | 2 +-
drivers/remoteproc/Makefile | 2 +-
drivers/reset/Makefile | 2 +-
drivers/reset/reset-socfpga.c | 2 +-
drivers/rng/Makefile | 2 +-
drivers/rtc/Makefile | 6 +-
drivers/scsi/Makefile | 6 +-
drivers/serial/Makefile | 6 +-
drivers/serial/atmel_usart.c | 2 +-
drivers/serial/ns16550.c | 8 +-
drivers/serial/serial-uclass.c | 2 +-
drivers/serial/serial.c | 2 +-
drivers/serial/serial_s5p.c | 2 +-
drivers/serial/serial_zynq.c | 2 +-
drivers/spi/Makefile | 2 +-
drivers/spi/designware_spi.c | 4 +-
drivers/spi/ich.c | 4 +-
drivers/spi/rockchip_sfc.c | 2 +-
drivers/spi/spi-uclass.c | 4 +-
drivers/sysreset/Makefile | 14 +--
drivers/sysreset/sysreset-uclass.c | 2 +-
drivers/sysreset/sysreset_ast.c | 2 +-
drivers/timer/Makefile | 8 +-
drivers/tpm/Makefile | 4 +-
drivers/usb/cdns3/Makefile | 4 +-
drivers/usb/cdns3/core.c | 6 +-
drivers/usb/common/Makefile | 2 +-
drivers/usb/dwc3/Makefile | 4 +-
drivers/usb/gadget/Makefile | 10 +-
drivers/usb/gadget/f_sdp.c | 10 +-
drivers/usb/gadget/udc/Makefile | 4 +-
drivers/usb/host/Makefile | 6 +-
drivers/usb/mtu3/mtu3_plat.c | 4 +-
drivers/video/Makefile | 18 ++--
drivers/video/console_truetype.c | 6 +-
drivers/video/tidss/Makefile | 2 +-
drivers/video/video-uclass.c | 6 +-
drivers/watchdog/Makefile | 2 +-
dts/Makefile | 2 +-
env/Makefile | 24 ++---
env/common.c | 4 +-
env/fat.c | 4 +-
env/flash.c | 6 +-
env/mmc.c | 6 +-
env/nand.c | 8 +-
env/nowhere.c | 2 +-
env/sf.c | 2 +-
fs/Makefile | 2 +-
fs/fat/Makefile | 4 +-
fs/fs.c | 6 +-
fs/sandbox/Makefile | 2 +-
fs/squashfs/Makefile | 2 +-
include/asm-generic/global_data.h | 2 +-
include/bootcount.h | 4 +-
include/config_distro_bootcmd.h | 10 +-
include/configs/P1010RDB.h | 4 +-
include/configs/am335x_evm.h | 4 +-
include/configs/am335x_guardian.h | 4 +-
include/configs/am335x_shc.h | 4 +-
include/configs/am43xx_evm.h | 4 +-
include/configs/am57xx_evm.h | 2 +-
include/configs/capricorn-common.h | 4 +-
include/configs/cgtqmx8.h | 2 +-
include/configs/da850evm.h | 2 +-
include/configs/dra7xx_evm.h | 4 +-
include/configs/ds116.h | 4 +-
include/configs/ds414.h | 4 +-
.../configs/gardena-smart-gateway-mt7688.h | 2 +-
include/configs/imx6q-bosch-acc.h | 2 +-
include/configs/imx6ulz_smm_m2.h | 4 +-
include/configs/imx8mm-cl-iot-gate.h | 2 +-
include/configs/imx8mm_beacon.h | 2 +-
include/configs/imx8mm_data_modul_edm_sbc.h | 2 +-
include/configs/imx8mm_evk.h | 2 +-
include/configs/imx8mm_icore_mx8mm.h | 4 +-
include/configs/imx8mm_phg.h | 2 +-
include/configs/imx8mm_venice.h | 2 +-
include/configs/imx8mp_rsb3720.h | 2 +-
include/configs/imx8mq_cm.h | 2 +-
include/configs/imx8mq_evk.h | 2 +-
include/configs/imx8mq_phanbell.h | 2 +-
include/configs/imx8mq_reform2.h | 2 +-
include/configs/imx8qm_mek.h | 2 +-
include/configs/imx8qxp_mek.h | 2 +-
include/configs/imx8ulp_evk.h | 2 +-
include/configs/imx93_evk.h | 2 +-
include/configs/kontron-sl-mx8mm.h | 4 +-
include/configs/kontron_pitx_imx8m.h | 2 +-
include/configs/librem5.h | 2 +-
include/configs/linkit-smart-7688.h | 2 +-
include/configs/ls1043a_common.h | 6 +-
include/configs/ls1046a_common.h | 6 +-
include/configs/ls1088a_common.h | 2 +-
include/configs/msc_sm2s_imx8mp.h | 2 +-
include/configs/mt7621.h | 2 +-
include/configs/mt7628.h | 2 +-
include/configs/n2350.h | 4 +-
include/configs/p1_p2_rdb_pc.h | 4 +-
include/configs/phycore_imx8mm.h | 2 +-
include/configs/pico-imx8mq.h | 2 +-
include/configs/rk3399_common.h | 4 +-
include/configs/rockchip-common.h | 2 +-
include/configs/socfpga_common.h | 2 +-
include/configs/stm32mp15_common.h | 4 +-
include/configs/stm32mp15_dh_dhsom.h | 2 +-
include/configs/ti_omap3_common.h | 2 +-
include/configs/ti_omap4_common.h | 2 +-
include/configs/turris_1x.h | 4 +-
include/configs/turris_omnia.h | 4 +-
include/configs/verdin-imx8mm.h | 2 +-
include/configs/verdin-imx8mp.h | 4 +-
include/configs/vining_2000.h | 2 +-
include/configs/xilinx_zynqmp.h | 2 +-
include/configs/zynq-common.h | 4 +-
include/env.h | 2 +-
include/env_callback.h | 2 +-
include/fdtdec.h | 2 +-
include/image-android-dt.h | 2 +-
include/iotrace.h | 2 +-
include/linux/kconfig.h | 8 +-
include/log.h | 12 +--
include/mmc.h | 2 +-
include/mtd/cfi_flash.h | 2 +-
include/net.h | 6 +-
include/part.h | 2 +-
include/sdp.h | 2 +-
include/search.h | 2 +-
include/spl.h | 82 ++++++++-------
include/stdio.h | 5 +-
include/sunxi_gpio.h | 2 +-
include/upl.h | 4 +-
include/vbe.h | 2 +-
lib/Makefile | 68 ++++++-------
lib/acpi/Makefile | 10 +-
lib/aes/Makefile | 2 +-
lib/crypto/Makefile | 18 ++--
lib/display_options.c | 2 +-
lib/ecdsa/Makefile | 2 +-
lib/fdtdec.c | 8 +-
lib/hang.c | 2 +-
lib/hashtable.c | 4 +-
lib/hexdump.c | 2 +-
lib/libfdt/Makefile | 2 +-
lib/lmb.c | 4 +-
lib/rsa/Makefile | 4 +-
lib/time.c | 2 +-
lib/uuid.c | 2 +-
net/Makefile | 12 +--
net/bootp.c | 2 +-
net/net.c | 8 +-
scripts/Kbuild.include | 14 +--
scripts/Makefile.autoconf | 6 +-
scripts/{Makefile.spl => Makefile.xpl} | 60 ++++++-----
test/Makefile | 24 ++---
test/cmd_ut.c | 2 +-
test/dm/Makefile | 6 +-
test/fuzz/Makefile | 2 +-
test/lib/Makefile | 2 +-
test/test-main.c | 2 +-
tools/qconfig.py | 32 +++---
906 files changed, 2256 insertions(+), 2238 deletions(-)
create mode 100644 doc/develop/init.rst
rename scripts/{Makefile.spl => Makefile.xpl} (92%)
--
2.34.1
2
40
Hi,
On ROCK 5B power is usually supplied via it's USB-C port. This port has the
data lines connected to RK3588, VBUS connected to the input regulator and
CC pins connected to FUSB302. FUSB302 is a USB-C controller, which can be
accessed via I2C from RK3588. The USB-C controller is needed to figure out
the USB-C cable orientation, but also to do USB PD communication. Thus it
would be great to enable support for it in the operating system.
But the USB-PD specification requires, that a device reacts to USB-PD messages
send by the power-supply within around 5 seconds. If that does not happen the
power-supply assumes, that the device does not support USB-PD. If a device
later starts sending USB-PD messages it is considered an error, which is solved
by doing a hard reset. A USB-PD hard reset means, that all supply voltages are
removed for a short period of time. For boards, which are solely powered
through their USB-C port, like the Radxa Rock 5B, this results in an machine
reset. This is currently worked around by not describing the FUSB302 in the
kernel DT, so nothing will ever speak USB-PD on the Rock 5B. This means
1. the USB-C port cannot be used at all
2. the board will be running via fallback supply, which provides limited
power capabilities
In order to avoid the hard reset, this adds FUSB302 support to U-Boot, so
that we react to the power-supply's queries in time. The code, which is
originally from the Linux kernel, consists of two parts:
1. the tcpm state machine, which implements the Type C port manager state
machine as described in the USB PD specification
2. the fusb302 driver, which knows about specific registers
Especially the first part has been heavily modified compared to the
kernel, which makes use of multiple delayed works and threads. For this
I used a priorly ported version from Rockchip, removed their hacks and
any states not necessary in U-Boot (e.g. audio accessory support).
This version has been tested on Radxa Rock 5B using the open source TF-A
(patches recently got merged into master branch) using the following power
supplies:
* non PD capable (reports 5V 0A)
* RavPower 90W
* UGREEN 100W
* Anker 45W
* RavPower PB
Changes since PATCHv5:
* Also avoid auto probing TCPM drivers when pd-disable property is set
* Add Tested-by from Soeren Moch
Changes since PATCHv4:
* Rebase to latest master (v2024.10-rc4)
* Fix regression introduced in PATCHv3: The exit code for fusb302_set_vconn()
when vconn stays the same should be 0 instead of undefined
* Fix regression introduced in PATCHv3: tcpm_set_polarity() needs to update
port->polarity when there is no driver specific set_polarity function
Changes since PATCHv3:
* Rebase to latest master (57949a99b7bd)
* Rework autoprobing; tcpm_post_bind tries to check if a probe is needed
based on DT properties and then sets the DM_FLAG_PROBE_AFTER_BIND flag.
If this accidently increases boot time on some boards they are probably
missing a 'self-powered;' flag in their USB-C connector node.
* Rock 5B ft_board_setup(): check for CONFIG_TYPEC_FUSB302 instead of
CONFIG_MISC_INIT_R to reflect the above change
* Drop adding 'CONFIG_MISC_INIT_R' to rock5b-rk3588_defconfig because of
the reworked autoprobing
* Log an error message if tcpm_send_queued_message() exits early
* Add R-b for the rockchip specific changes from Kever Yang
* Increase the timeout in tcpm_pd_transmit(), which seems to be the issue
Sören Moch ran into. I could not really reproduce it. Please test if this
helps with your supply (and share the logs if it does not help). I noticed
this version has issues with an old PD capable powerbank I own. I'm still
looking into that but wanted to share a new version so that the other
changes can get reviewed.
Changes since PATCHv2:
* Rebase to latest master (a70d991212c9)
* Drop Wang Jie from Cc, since his address bounces
* I did not add a test suite. I fully agree, that it would be nice to have
one, but it is also a lot of work. Just emulating a FUSB302 is not enough,
we also need to emulate the remote USB-PD device to make this useful.
Without that we would only test what happens when a non-responsive USB-PD
supply is attached and that is the boring, very simple path in this code.
On the other hand implementing an emulated USB-C PD remote side more or less
requires implementing another big state machine.
* Add documentation for the 'tcpm' command (Simon Glass)
* I also got asked to add more documentation for the feature in general. I'm
not really sure what is needed. At least Tim Harvey managed to use it
considering he got stusb4500 working on top of PATCHV2. If there are more
specific requests I can write something.
* Just like PATCHv1, PATCHv2 received a 'Tested-by: Soeren Moch <smoch(a)web.de>',
which I did not take over. This time the changes are a lot smaller, but
the different handling of timeouts might have broken something. (On my end
things still behave correctly of course, otherwise I wouldn't have sent
this series)
* Address feedback from Marek Vasut
- TCPM core
- drop useless "failure" function
- replace printf with log in TCPM command code
- invert some conditions to reduce indent
- use read_poll_timeout() in tcpm_pd_transmit()
- did not add any more 'static' keywords to functions, the non-static
TCPM functions are exported and called from the fusb302 driver.
- add a safety guard to tcpm_send_queued_message(), which stops
the loop if more than 100 messages are send directly after each
other. This should never happen anyways, but it's better to exit
cleanly if the code runs astray.
- FUSB302 driver
- Drop default initialization for most local ret variables
- Make some local variables constant
- Make set_polarity callback optional on the uclass level and drop the
empty FUSB302 implementation
- Change buffer initialization in send message function
- Create define for max. message length magic value
- Rock 5B board code
- Add comment why misc_init_r explicitly initializes PD
- Split defconfig and DT into separate patches (Kever Yang)
Changes since PATCHv1:
* tcpm: split uclass specific code to tcpm-uclass
* tcpm_print_info: move printing part to cmd/tcpm.c
* tcpm_print_info: report more information
- PD revision
- Cable orientation
- Power role
- Data role
- Print TCPM state based on connection status
* tcpm: use "struct udevice *dev" instead of "struct tcpm_port *port"
as function argument in most places and drop dev from the tcpm_port
struct
* tcpm: avoid useless kzalloc + copy + free for incoming events
* tcpm: use dev_get_uclass_plat() for tcpm_port
* tcpm: run tcpm_port_init() and tcpm_poll_event() from UCLASS post_probe()
* tcpm/fusb302: get rid of tcpc_dev by using dm_tcpm_ops() for the
function pointers and introducing get_connector_node() for the
ofnode
* fusb302: use "struct udevice *dev" instead of "struct fusb302_chip *chip"
as function argument and drop dev from the fusb302_chip struct
* fusb302: drop multiple unused members from fusb302_chip
* fusb302: directly use udelay instead of usleep_range define
* fusb302: use fusb302_ prefix for all functions. Afterwards tcpm_ prefix
is only used for the tcpm code itself
* fusb302: move fusb302_poll_event() to avoid forward defintion
* fusb302: drop probe function
* fusb302: drop unused LOG_BUFFER defines
* roughly 20% of all lines of the series changed between v1 and v2, so
I did not collect the Tested-by from Soeren Moch
Greetings,
-- Sebastian
Sebastian Reichel (6):
usb: tcpm: add core framework
usb: tcpm: fusb302: add driver
board: rock5b-rk3588: enable USB-C in operating system
rockchip: rk3588-rock-5b: Add USB-C controller to u-boot.dtsi
rockchip: rock5b-rk3588: Enable USB-C PD support
MAINTAINERS: add TCPM section
MAINTAINERS | 9 +
Makefile | 1 +
arch/arm/dts/rk3588-rock-5b-u-boot.dtsi | 28 +
board/radxa/rock5b-rk3588/Makefile | 6 +
board/radxa/rock5b-rk3588/rock5b-rk3588.c | 16 +
cmd/Kconfig | 7 +
cmd/Makefile | 1 +
cmd/tcpm.c | 136 ++
configs/rock5b-rk3588_defconfig | 4 +
doc/usage/cmd/tcpm.rst | 66 +
doc/usage/index.rst | 1 +
drivers/usb/Kconfig | 2 +
drivers/usb/tcpm/Kconfig | 16 +
drivers/usb/tcpm/Makefile | 4 +
drivers/usb/tcpm/fusb302.c | 1323 ++++++++++++
drivers/usb/tcpm/fusb302_reg.h | 177 ++
drivers/usb/tcpm/tcpm-internal.h | 173 ++
drivers/usb/tcpm/tcpm-uclass.c | 149 ++
drivers/usb/tcpm/tcpm.c | 2288 +++++++++++++++++++++
include/dm/uclass-id.h | 1 +
include/usb/pd.h | 516 +++++
include/usb/tcpm.h | 99 +
22 files changed, 5023 insertions(+)
create mode 100644 board/radxa/rock5b-rk3588/Makefile
create mode 100644 board/radxa/rock5b-rk3588/rock5b-rk3588.c
create mode 100644 cmd/tcpm.c
create mode 100644 doc/usage/cmd/tcpm.rst
create mode 100644 drivers/usb/tcpm/Kconfig
create mode 100644 drivers/usb/tcpm/Makefile
create mode 100644 drivers/usb/tcpm/fusb302.c
create mode 100644 drivers/usb/tcpm/fusb302_reg.h
create mode 100644 drivers/usb/tcpm/tcpm-internal.h
create mode 100644 drivers/usb/tcpm/tcpm-uclass.c
create mode 100644 drivers/usb/tcpm/tcpm.c
create mode 100644 include/usb/pd.h
create mode 100644 include/usb/tcpm.h
--
2.45.2
4
12
Based on the existing work done by Simon Glass this series adds
support for booting aarch64 devices using ACPI only.
As first target QEMU SBSA support is added, which relies on ACPI
only to boot an OS. As secondary target the Raspberry Pi4 was used,
which is broadly available and allows easy testing of the proposed
solution.
The series is split into ACPI cleanups and code movements, adding
Arm specific ACPI tables and finally SoC and mainboard related
changes to boot a Linux on the QEMU SBSA and RPi4. Currently only the
mandatory ACPI tables are supported, allowing to boot into Linux
without errors.
The QEMU SBSA support is feature complete and provides the same
functionality as the EDK2 implementation.
The changes were tested on real hardware as well on QEMU v9.0:
qemu-system-aarch64 -machine sbsa-ref -nographic -cpu cortex-a57 \
-pflash secure-world.rom \
-pflash unsecure-world.rom
qemu-system-aarch64 -machine raspi4b -kernel u-boot.bin -cpu cortex-a72 \
-smp 4 -m 2G -drive file=raspbian.img,format=raw,index=0 \
-dtb bcm2711-rpi-4-b.dtb -nographic
Tested against FWTS V24.03.00.
Known issues:
- The QEMU rpi4 support is currently limited as it doesn't emulate PCI,
USB or ethernet devices!
- The SMP bringup doesn't work on RPi4, but works in QEMU (Possibly
cache related).
- PCI on RPI4 isn't working on real hardware since the pcie_brcmstb
Linux kernel module doesn't support ACPI yet.
Maximilian Brune (3):
acpi: x86: Move SPCR and DBG2 into common code
acpi: x86: Write FADT in common code
serial: serial_pl01x: Implement .getinfo() for PL01
Patrick Rudolph (30):
acpi: x86: Move MADT to common code
acpi: Fix typo
acpi: Add define for GTDT
arm: acpi: Add generic ACPI methods
acpi: Add fill_madt to acpi_ops
acpi: acpi_table: Bump revisions
acpi: Add ACPITAB for PPTT and GTDT
acpi: acpi_table: Add IORT support
acpi: Move function prototype
acpi_table: Support platforms with unusable RSDT
efi_loader: Allocate and write ACPI tables
acpi: Add processor device
drivers: usb: Add generic XHCI
drivers: ata: Rename ahci_mvebu
drivers/cpu: Add generic armv8 cpu driver
arm: gic-v3-its: Rename objects
arm: gic-v3-its: Implement of_xlate
arm: lib: Add GICV2 driver
drivers: misc: irq-uclass: Update irq_get_by_index
drivers/arm: Implement acpi_fill_madt
common: Enable BLOBLIST_TABLES on arm
board: emulation: Add QEMU sbsa support
arm: mach-bcm283x: Map the ARM local MMIO as well
arm: bcm283x: Generate ACPI tables
arm: cpu: Add ACPI parking protocol support
armv8: cpu: Enable ACPI parking protocol
arm: mach-bcm283x: Add ARMV8_MULTIENTRY support
arm: mach-bcm283x: Enable ARMV8_MULTIENTRY
bloblist: Fix use of uninitialized variable
configs: Add RPI4 ACPI defconfig
Simon Glass (2):
arm: mach-bcm283x: Bring in some header files from tianocore
board: raspberrypi: Add ASL files from tianocore
MAINTAINERS | 2 +-
arch/arm/Kconfig | 9 +
arch/arm/cpu/armv8/Makefile | 1 +
arch/arm/cpu/armv8/acpi_park_v8.S | 113 ++++
arch/arm/cpu/armv8/start.S | 12 +
arch/arm/dts/qemu-sbsa.dts | 49 ++
arch/arm/include/asm/acpi_table.h | 147 +++++
arch/arm/include/asm/arch-qemu-sbsa/boot0.h | 33 +
arch/arm/lib/Makefile | 2 +
arch/arm/lib/acpi_table.c | 276 ++++++++
arch/arm/lib/gic-v2.c | 89 +++
arch/arm/lib/gic-v3-its.c | 118 +++-
arch/arm/mach-bcm283x/Kconfig | 18 +-
arch/arm/mach-bcm283x/Makefile | 4 +
arch/arm/mach-bcm283x/bcm2711_acpi.c | 128 ++++
.../mach-bcm283x/include/mach/acpi/bcm2711.h | 152 +++++
.../mach-bcm283x/include/mach/acpi/bcm2836.h | 127 ++++
.../include/mach/acpi/bcm2836_gpio.h | 19 +
.../include/mach/acpi/bcm2836_gpu.h | 47 ++
.../include/mach/acpi/bcm2836_pwm.h | 33 +
.../include/mach/acpi/bcm2836_sdhost.h | 18 +
.../include/mach/acpi/bcm2836_sdio.h | 21 +
arch/arm/mach-bcm283x/init.c | 12 +-
arch/arm/mach-qemu/Kconfig | 36 +-
arch/sandbox/dts/test.dts | 3 +
arch/sandbox/lib/Makefile | 9 +-
arch/sandbox/lib/acpi_table.c | 11 +
arch/x86/cpu/apollolake/acpi.c | 20 +-
arch/x86/cpu/baytrail/acpi.c | 17 +-
arch/x86/cpu/intel_common/acpi.c | 22 +-
arch/x86/cpu/quark/acpi.c | 19 +-
arch/x86/cpu/tangier/acpi.c | 33 +-
arch/x86/include/asm/acpi_table.h | 28 +-
arch/x86/lib/acpi_table.c | 245 +------
board/emulation/qemu-arm/MAINTAINERS | 2 +
board/emulation/qemu-sbsa/Kconfig | 58 ++
board/emulation/qemu-sbsa/Makefile | 8 +
board/emulation/qemu-sbsa/acpi.c | 197 ++++++
board/emulation/qemu-sbsa/dsdt.asl | 483 ++++++++++++++
board/emulation/qemu-sbsa/lowlevel_init.S | 22 +
board/emulation/qemu-sbsa/qemu-sbsa.c | 602 ++++++++++++++++++
board/emulation/qemu-sbsa/qemu-sbsa.env | 14 +
board/emulation/qemu-sbsa/qemu-sbsa.h | 38 ++
board/emulation/qemu-sbsa/smc.c | 72 +++
board/raspberrypi/rpi/.gitignore | 3 +
board/raspberrypi/rpi/Makefile | 2 +
board/raspberrypi/rpi/acpitables.h | 90 +++
board/raspberrypi/rpi/dsdt.asl | 290 +++++++++
board/raspberrypi/rpi/emmc.asl | 136 ++++
board/raspberrypi/rpi/gpudevs.asl | 372 +++++++++++
board/raspberrypi/rpi/pci.asl | 177 +++++
board/raspberrypi/rpi/pep.asl | 90 +++
board/raspberrypi/rpi/rhpx.asl | 195 ++++++
board/raspberrypi/rpi/rpi.c | 183 ++++++
board/raspberrypi/rpi/sdhc.asl | 111 ++++
board/raspberrypi/rpi/uart.asl | 208 ++++++
boot/bootflow.c | 8 +-
common/Kconfig | 1 +
common/bloblist.c | 2 +-
configs/clearfog_defconfig | 2 +-
configs/clearfog_gt_8k_defconfig | 2 +-
configs/clearfog_sata_defconfig | 2 +-
configs/clearfog_spi_defconfig | 2 +-
configs/db-88f6820-gp_defconfig | 2 +-
configs/ds116_defconfig | 2 +-
configs/helios4_defconfig | 2 +-
configs/mvebu_crb_cn9130_defconfig | 2 +-
configs/mvebu_db-88f3720_defconfig | 2 +-
configs/mvebu_db_armada8k_defconfig | 2 +-
configs/mvebu_db_cn9130_defconfig | 2 +-
configs/mvebu_espressobin-88f3720_defconfig | 2 +-
.../mvebu_espressobin_ultra-88f3720_defconfig | 2 +-
configs/mvebu_mcbin-88f8040_defconfig | 2 +-
configs/mvebu_puzzle-m801-88f8040_defconfig | 2 +-
configs/n2350_defconfig | 2 +-
configs/octeon_nic23_defconfig | 2 +-
configs/qemu-arm-sbsa_defconfig | 10 +
configs/rpi_4_acpi_defconfig | 70 ++
configs/turris_omnia_defconfig | 2 +-
doc/board/emulation/index.rst | 1 +
doc/board/emulation/qemu-sbsa.rst | 98 +++
doc/develop/driver-model/virtio.rst | 1 +
drivers/ata/Kconfig | 12 +-
drivers/ata/Makefile | 2 +-
drivers/ata/{ahci_mvebu.c => ahci_generic.c} | 17 +-
drivers/core/acpi.c | 16 +
drivers/cpu/Kconfig | 7 +
drivers/cpu/Makefile | 2 +
drivers/cpu/armv8_cpu.c | 151 +++++
drivers/cpu/armv8_cpu.h | 31 +
drivers/cpu/bcm283x_cpu.c | 218 +++++++
drivers/misc/irq-uclass.c | 66 +-
drivers/pci/pcie_brcmstb.c | 101 +--
drivers/serial/serial_pl01x.c | 24 +
drivers/usb/host/Kconfig | 8 +
drivers/usb/host/Makefile | 1 +
drivers/usb/host/xhci-generic.c | 77 +++
include/acpi/acpi_table.h | 324 +++++++++-
include/acpi/acpigen.h | 12 +
include/bloblist.h | 1 +
include/configs/qemu-sbsa.h | 104 +++
include/dm/acpi.h | 26 +
include/irq.h | 14 +
include/serial.h | 1 +
lib/Kconfig | 31 +-
lib/acpi/acpi_table.c | 564 +++++++++++++++-
lib/acpi/acpigen.c | 11 +
lib/efi_loader/efi_acpi.c | 80 ++-
test/dm/acpi.c | 43 ++
test/dm/irq.c | 15 +
test/py/tests/test_event_dump.py | 1 +
111 files changed, 6871 insertions(+), 542 deletions(-)
create mode 100644 arch/arm/cpu/armv8/acpi_park_v8.S
create mode 100644 arch/arm/dts/qemu-sbsa.dts
create mode 100644 arch/arm/include/asm/arch-qemu-sbsa/boot0.h
create mode 100644 arch/arm/lib/acpi_table.c
create mode 100644 arch/arm/lib/gic-v2.c
create mode 100644 arch/arm/mach-bcm283x/bcm2711_acpi.c
create mode 100644 arch/arm/mach-bcm283x/include/mach/acpi/bcm2711.h
create mode 100644 arch/arm/mach-bcm283x/include/mach/acpi/bcm2836.h
create mode 100644 arch/arm/mach-bcm283x/include/mach/acpi/bcm2836_gpio.h
create mode 100644 arch/arm/mach-bcm283x/include/mach/acpi/bcm2836_gpu.h
create mode 100644 arch/arm/mach-bcm283x/include/mach/acpi/bcm2836_pwm.h
create mode 100644 arch/arm/mach-bcm283x/include/mach/acpi/bcm2836_sdhost.h
create mode 100644 arch/arm/mach-bcm283x/include/mach/acpi/bcm2836_sdio.h
create mode 100644 arch/sandbox/lib/acpi_table.c
create mode 100644 board/emulation/qemu-sbsa/Kconfig
create mode 100644 board/emulation/qemu-sbsa/Makefile
create mode 100644 board/emulation/qemu-sbsa/acpi.c
create mode 100644 board/emulation/qemu-sbsa/dsdt.asl
create mode 100644 board/emulation/qemu-sbsa/lowlevel_init.S
create mode 100644 board/emulation/qemu-sbsa/qemu-sbsa.c
create mode 100644 board/emulation/qemu-sbsa/qemu-sbsa.env
create mode 100644 board/emulation/qemu-sbsa/qemu-sbsa.h
create mode 100644 board/emulation/qemu-sbsa/smc.c
create mode 100644 board/raspberrypi/rpi/.gitignore
create mode 100644 board/raspberrypi/rpi/acpitables.h
create mode 100644 board/raspberrypi/rpi/dsdt.asl
create mode 100644 board/raspberrypi/rpi/emmc.asl
create mode 100644 board/raspberrypi/rpi/gpudevs.asl
create mode 100644 board/raspberrypi/rpi/pci.asl
create mode 100644 board/raspberrypi/rpi/pep.asl
create mode 100644 board/raspberrypi/rpi/rhpx.asl
create mode 100644 board/raspberrypi/rpi/sdhc.asl
create mode 100644 board/raspberrypi/rpi/uart.asl
create mode 100644 configs/qemu-arm-sbsa_defconfig
create mode 100644 configs/rpi_4_acpi_defconfig
create mode 100644 doc/board/emulation/qemu-sbsa.rst
rename drivers/ata/{ahci_mvebu.c => ahci_generic.c} (71%)
create mode 100644 drivers/cpu/armv8_cpu.c
create mode 100644 drivers/cpu/armv8_cpu.h
create mode 100644 drivers/cpu/bcm283x_cpu.c
create mode 100644 drivers/usb/host/xhci-generic.c
create mode 100644 include/configs/qemu-sbsa.h
--
2.46.0
5
79

[PATCH] net: recv(): return -EAGAIN instead of 0 when no cleanup is expected
by Jerome Forissier 27 Sep '24
by Jerome Forissier 27 Sep '24
27 Sep '24
Some drivers do not behave properly when free_pkt() is called with a
length of zero. It is an issue I observed when developing the lwIP
series [1] (see "QEMU CI tests for r2dplus_i82557c, r2dplus_rtl8139"
in the change log) and which I fixed incorrectly by not calling
free_pkt() when recv() returns 0. That turned out to be wrong for two
reasons:
1. The DM documentation [2] clearly requires it:
"The **recv** function polls for availability of a new packet. [...]
If there is an error [...], return 0 if you require the packet to
be cleaned up normally, or a negative error code otherwise (cleanup
not necessary or already done).
If **free_pkt** is defined, U-Boot will call it after a received
packet has been processed [...]. free_pkt() will be called after
recv(), for the same packet [...]"
2. The imx8mp_evk platform will fail with OOM errors if free_pkt() is
not called after recv() returns 0:
u-boot=> tftp 192.168.0.16:50M
Using ethernet@30be0000 device
TFTP from server 192.168.0.16; our IP address is 192.168.0.48
Filename '50M'.
Load address: 0x40480000
Loading: #######################fecmxc_recv: error allocating packetp
fecmxc_recv: error allocating packetp
fecmxc_recv: error allocating packetp
...
Therefore, make recv() return -EINVAL instead of 0 when no packet is
available and the driver doesn't expect free_pkt() to be called
subsequently.
[1] https://lists.denx.de/pipermail/u-boot/2024-August/562861.html
[2] doc/develop/driver-model/ethernet.rst
Signed-off-by: Jerome Forissier <jerome.forissier(a)linaro.org>
---
drivers/net/eepro100.c | 2 +-
drivers/net/rtl8139.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index d18a8d577ca..f64dbb7d6a1 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -678,7 +678,7 @@ static int eepro100_recv_common(struct eepro100_priv *priv, uchar **packetp)
status = le16_to_cpu(desc->status);
if (!(status & RFD_STATUS_C))
- return 0;
+ return -EAGAIN;
/* Valid frame status. */
if (status & RFD_STATUS_OK) {
diff --git a/drivers/net/rtl8139.c b/drivers/net/rtl8139.c
index 2e0afad089f..5f4b1e2d3a0 100644
--- a/drivers/net/rtl8139.c
+++ b/drivers/net/rtl8139.c
@@ -433,7 +433,7 @@ static int rtl8139_recv_common(struct rtl8139_priv *priv, unsigned char *rxdata,
int length = 0;
if (inb(priv->ioaddr + RTL_REG_CHIPCMD) & RTL_REG_CHIPCMD_RXBUFEMPTY)
- return 0;
+ return -EAGAIN;
priv->rxstatus = inw(priv->ioaddr + RTL_REG_INTRSTATUS);
/* See below for the rest of the interrupt acknowledges. */
--
2.40.1
1
0
When cpu is enabled, the zynqmp tcminit throws an error message
when switching from r5-mode "split" to "lockstep". When cpu is
disabled, the zynqmp tcminit switch from r5-mode "split" to
"lockstep". The mode value is assigned based on string compare
for "lockstep", "0" or "split", "1".
Padmarao Begari (2):
arm64: zynqmp: Print an error for split to lock mode switch
arm64: zynqmp: Fix tcminit mode value based on argv
arch/arm/mach-zynqmp/cpu.c | 16 ++++++++++---
arch/arm/mach-zynqmp/include/mach/sys_proto.h | 1 +
arch/arm/mach-zynqmp/mp.c | 24 +++++++++++++++++++
arch/arm/mach-zynqmp/zynqmp.c | 16 ++++++-------
4 files changed, 45 insertions(+), 12 deletions(-)
--
2.25.1
1
2

27 Sep '24
This is part two of the series to have the EFI and LMB modules have a
coherent view of memory. Part one of this goal was to change the LMB
module to have a global and persistent memory map. Those patches have
now been applied to the next branch.
These patches are changing the EFI memory allocation API's such that
they rely on the LMB module to allocate RAM memory. This fixes the
current scenario where the EFI memory module has no visibility of the
allocations/reservations made by the LMB module. One thing to note
here is that this is limited to the RAM memory region, i.e. the
EFI_CONVENTIONAL_MEMORY type. Any other memory type that is to be
added to the EFI memory map, still gets handled by the EFI memory
module.
Note: To be applied on top of the next branch.
Sughosh Ganu (16):
lmb: add versions of the lmb API with flags
lmb: add a flag to allow suppressing memory map change notification
efi: memory: use the lmb API's for allocating and freeing memory
event: add event to notify lmb memory map changes
lib: Kconfig: add a config symbol for getting lmb memory map updates
add a function to check if an address is in RAM memory
lmb: notify of any changes to the LMB memory map
efi_memory: add an event handler to update memory map
ti: k3: remove efi_add_known_memory() function definition
stm32mp: remove efi_add_known_memory() function definition
lmb: allow for boards to specify memory map
layerscape: use the lmb API's to add RAM memory
x86: e820: use the lmb API for adding RAM memory
efi_memory: do not add RAM memory to the memory map
lmb: remove call to efi_lmb_reserve()
test: event: update the expected event dump output
arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 8 +-
arch/arm/mach-k3/common.c | 11 --
arch/arm/mach-stm32mp/dram_init.c | 11 --
arch/x86/lib/e820.c | 47 ++++--
common/board_r.c | 5 +
common/event.c | 2 +
include/efi_loader.h | 12 +-
include/event.h | 14 ++
include/lmb.h | 11 ++
lib/Kconfig | 30 ++++
lib/efi_loader/Kconfig | 3 +
lib/efi_loader/efi_memory.c | 184 ++++++++----------------
lib/lmb.c | 146 +++++++++++++------
test/py/tests/test_event_dump.py | 1 +
14 files changed, 276 insertions(+), 209 deletions(-)
--
2.34.1
4
46
When the SPL build-phase was first created it was designed to solve a
particular problem (the need to init SDRAM so that U-Boot proper could
be loaded). It has since expanded to become an important part of U-Boot,
with three phases now present: TPL, VPL and SPL
Due to this history, the term 'SPL' is used to mean both a particular
phase (the one before U-Boot proper) and all the non-proper phases.
This has become confusing.
For a similar reason CONFIG_SPL_BUILD is set to 'y' for all 'SPL'
phases, not just SPL. So code which can only be compiled for actual SPL,
for example, must use something like this:
#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TPL_BUILD)
In Makefiles we have similar issues. SPL_ has been used as a variable
which expands to either SPL_ or nothing, to chose between options like
CONFIG_BLK and CONFIG_SPL_BLK. When TPL appeared, a new SPL_TPL variable
was created which expanded to 'SPL_', 'TPL_' or nothing. Later it was
updated to support 'VPL_' as well.
This series starts a change in terminology and usage to resolve the
above issues:
- The word 'xPL' is used instead of 'SPL' to mean a non-proper build
- A new CONFIG_XPL_BUILD define indicates that the current build is an
'xPL' build
- The existing CONFIG_SPL_BUILD is changed to mean SPL; it is not now
defined for TPL and VPL phases
- The existing SPL_ Makefile variable is renamed to SPL_
- The existing SPL_TPL Makefile variable is renamed to PHASE_
It should be noted that xpl_phase() can generally be used instead of
the above CONFIGs without a code-space or run-time penalty.
This series does not attempt to convert all of U-Boot to use this new
terminology but it makes a start. In particular, renaming spl.h and
common/spl seems like a bridge too far at this point.
An attempt has been made to make this series bisectable, but this is a
little tricky, so some logic errors may be present.
Some more analysis is probably needed, e.g. to make sure that the code
size doesn't change for any board.
Simon Glass (42):
Makefile: Add a u-boot.cfg file for VPL
scripts: Rename Makefile.spl to Makefile.xpl
scripts: Add some comments about autoconf.mk
scripts: Define CONFIG_XPL_BUILD for all xPL builds
global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD
doc: Update SPL docs for the xPL changes
net: freescale: Drop use of SPL_BUILD dependency
x86: Update a comment to mention XPL
tegra: Use SPL instead of SPL_BUILD
log: global: Rename warn_non_spl() and update the condition
qconfig: Add XPL_BUILD to ignored symbols
boot: Drop unnecessary ifdef for LOAD_FIT
xpl: Define CONFIG_SPL_BUILD only for the SPL build
rockchip: Simplify check for SPL
mips: Simplify check for SPL
powerpc: Simplify check for SPL
x86: Simplify check for SPL
freescale: Simplify check for SPL
mtd: Simplify check for SPL
dm: Simplify check for SPL
spl: Simplify check for SPL
powerpc: Correct check for SPL
serial: Make use of the SERIAL define
stdio: Make use of the SERIAL define
drivers: Simplify Makefile checks
kconfig: binman: Check for SPL instead of XPL
rockchip: Simplify Makefile condition
drivers: Simplify Makefile condition
global: Rename SPL_ to XPL_
global: Rename SPL_TPL_ to PHASE_
spl: Rename SPL_TPL_NAME and SPL_TPL_PROMPT
qconfig: Update tool for new Makefile variables
xpl: Rename u_boot_first_phase to xpl_is_first_phase()
xpl: Rename spl_phase to xpl_phase_t
xpl: Rename spl_phase() to xpl_phase()
xpl: Rename spl_in_proper() to not_xpl()
xpl: Add a function to indicate when in xPL
xpl: Rename spl_next_phase() and spl_prev_phase()
xpl: Rename spl_phase_prefix() and spl_phase_name()
README: Drop SoC-specific comment about SPL
doc: Move init-related things out of README
doc: Update init docs for the xPL changes
Makefile | 14 +--
README | 99 +------------------
arch/arm/Makefile | 6 +-
arch/arm/config.mk | 12 +--
arch/arm/cpu/arm11/Makefile | 2 +-
arch/arm/cpu/arm1176/start.S | 2 +-
arch/arm/cpu/arm920t/Makefile | 2 +-
arch/arm/cpu/arm926ejs/Makefile | 4 +-
arch/arm/cpu/arm926ejs/mxs/Makefile | 4 +-
arch/arm/cpu/arm926ejs/sunxi/config.mk | 2 +-
arch/arm/cpu/armv7/Makefile | 4 +-
arch/arm/cpu/armv7/cpu.c | 2 +-
arch/arm/cpu/armv7/lowlevel_init.S | 4 +-
arch/arm/cpu/armv7/s5p-common/Makefile | 2 +-
arch/arm/cpu/armv7/start.S | 2 +-
arch/arm/cpu/armv7/sunxi/Makefile | 4 +-
arch/arm/cpu/armv8/Makefile | 12 +--
arch/arm/cpu/armv8/cache_v8.c | 2 +-
arch/arm/cpu/armv8/fsl-layerscape/Makefile | 2 +-
arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 14 +--
.../armv8/fsl-layerscape/fsl_lsch2_speed.c | 2 +-
.../armv8/fsl-layerscape/fsl_lsch3_serdes.c | 6 +-
arch/arm/cpu/armv8/fsl-layerscape/icid.c | 6 +-
arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S | 6 +-
.../arm/cpu/armv8/fsl-layerscape/ls1043_ids.c | 2 +-
.../arm/cpu/armv8/fsl-layerscape/ls1046_ids.c | 2 +-
arch/arm/cpu/armv8/fsl-layerscape/spl.c | 4 +-
arch/arm/cpu/armv8/start.S | 8 +-
arch/arm/dts/imx8qm-u-boot.dtsi | 2 +-
arch/arm/dts/imx8qxp-u-boot.dtsi | 2 +-
.../asm/arch-fsl-layerscape/fsl_icid.h | 6 +-
arch/arm/include/asm/arch-imx8/boot0.h | 2 +-
arch/arm/include/asm/arch-lpc32xx/sys_proto.h | 2 +-
arch/arm/include/asm/arch-mx6/litesom.h | 2 +-
arch/arm/include/asm/arch-mx6/mx6-ddr.h | 4 +-
arch/arm/include/asm/arch-mxs/sys_proto.h | 2 +-
arch/arm/include/asm/arch-rk3066/boot0.h | 4 +-
arch/arm/include/asm/arch-rockchip/boot0.h | 7 +-
.../include/asm/arch-rockchip/cru_rv1126.h | 10 +-
arch/arm/include/asm/arch-sunxi/boot0.h | 4 +-
arch/arm/include/asm/arch-sunxi/sys_proto.h | 2 +-
arch/arm/include/asm/fsl_secure_boot.h | 4 +-
arch/arm/include/asm/ti-common/sys_proto.h | 2 +-
arch/arm/lib/Makefile | 20 ++--
arch/arm/lib/cache.c | 2 +-
arch/arm/lib/crt0.S | 14 +--
arch/arm/lib/crt0_64.S | 10 +-
arch/arm/lib/eabi_compat.c | 2 +-
arch/arm/lib/stack.c | 2 +-
arch/arm/lib/vectors.S | 6 +-
arch/arm/lib/zimage.c | 4 +-
arch/arm/mach-aspeed/ast2600/Makefile | 2 +-
arch/arm/mach-aspeed/ast2600/lowlevel_init.S | 2 +-
arch/arm/mach-at91/Makefile | 2 +-
arch/arm/mach-at91/arm926ejs/Makefile | 4 +-
arch/arm/mach-at91/config.mk | 2 +-
arch/arm/mach-davinci/Makefile | 2 +-
arch/arm/mach-davinci/config.mk | 2 +-
arch/arm/mach-davinci/misc.c | 2 +-
arch/arm/mach-exynos/Makefile | 2 +-
arch/arm/mach-exynos/lowlevel_init.c | 4 +-
arch/arm/mach-exynos/pinmux.c | 2 +-
arch/arm/mach-imx/Makefile | 20 ++--
arch/arm/mach-imx/cpu.c | 6 +-
arch/arm/mach-imx/hab.c | 8 +-
arch/arm/mach-imx/imx8/cpu.c | 4 +-
arch/arm/mach-imx/imx8m/clock_imx8mm.c | 2 +-
arch/arm/mach-imx/imx8m/clock_imx8mq.c | 4 +-
arch/arm/mach-imx/imx8m/soc.c | 16 +--
arch/arm/mach-imx/imx8ulp/Makefile | 2 +-
arch/arm/mach-imx/imx8ulp/clock.c | 2 +-
arch/arm/mach-imx/imx8ulp/lowlevel_init.S | 2 +-
arch/arm/mach-imx/imx8ulp/soc.c | 12 +--
arch/arm/mach-imx/imx9/Makefile | 2 +-
arch/arm/mach-imx/imx9/clock.c | 4 +-
arch/arm/mach-imx/imx9/lowlevel_init.S | 2 +-
arch/arm/mach-imx/imx9/soc.c | 12 +--
arch/arm/mach-imx/mx5/clock.c | 2 +-
arch/arm/mach-imx/mx6/Makefile | 2 +-
arch/arm/mach-imx/mx6/clock.c | 2 +-
arch/arm/mach-imx/mx6/litesom.c | 2 +-
arch/arm/mach-imx/mx6/opos6ul.c | 4 +-
arch/arm/mach-imx/mx6/soc.c | 6 +-
arch/arm/mach-imx/mx7/clock.c | 2 +-
arch/arm/mach-imx/mx7/soc.c | 4 +-
arch/arm/mach-imx/mx7ulp/clock.c | 2 +-
arch/arm/mach-imx/mx7ulp/soc.c | 2 +-
arch/arm/mach-imx/syscounter.c | 2 +-
arch/arm/mach-k3/am62ax/Makefile | 2 +-
arch/arm/mach-k3/am62px/Makefile | 2 +-
arch/arm/mach-k3/am62x/Makefile | 2 +-
arch/arm/mach-k3/am64x/Makefile | 2 +-
arch/arm/mach-k3/am65x/Makefile | 2 +-
arch/arm/mach-k3/arm64/cache.S | 2 +-
arch/arm/mach-k3/j721e/Makefile | 2 +-
arch/arm/mach-k3/j721s2/Makefile | 2 +-
arch/arm/mach-k3/j721s2/j721s2_init.c | 2 +-
arch/arm/mach-k3/j722s/Makefile | 2 +-
arch/arm/mach-k3/j784s4/Makefile | 2 +-
arch/arm/mach-k3/r5/Makefile | 2 +-
arch/arm/mach-k3/security.c | 2 +-
arch/arm/mach-keystone/Makefile | 2 +-
arch/arm/mach-keystone/config.mk | 4 +-
arch/arm/mach-keystone/mon.c | 2 +-
arch/arm/mach-lpc32xx/Makefile | 2 +-
arch/arm/mach-mediatek/Makefile | 2 +-
arch/arm/mach-mediatek/mt7629/lowlevel_init.S | 2 +-
arch/arm/mach-mvebu/Makefile | 8 +-
arch/arm/mach-mvebu/cpu.c | 4 +-
arch/arm/mach-mvebu/include/mach/cpu.h | 8 +-
arch/arm/mach-mvebu/include/mach/soc.h | 2 +-
arch/arm/mach-mvebu/serdes/a38x/Makefile | 8 +-
arch/arm/mach-mvebu/serdes/axp/Makefile | 4 +-
arch/arm/mach-nexell/include/mach/display.h | 2 +-
arch/arm/mach-omap2/Makefile | 4 +-
arch/arm/mach-omap2/am33xx/Makefile | 2 +-
arch/arm/mach-omap2/am33xx/board.c | 20 ++--
arch/arm/mach-omap2/boot-common.c | 6 +-
arch/arm/mach-omap2/clocks-common.c | 2 +-
arch/arm/mach-omap2/config.mk | 2 +-
arch/arm/mach-omap2/config_secure.mk | 2 +-
arch/arm/mach-omap2/hwinit-common.c | 14 +--
arch/arm/mach-omap2/omap3/Makefile | 2 +-
arch/arm/mach-omap2/omap3/board.c | 6 +-
arch/arm/mach-omap2/omap3/sdrc.c | 4 +-
arch/arm/mach-omap2/omap5/hwinit.c | 2 +-
arch/arm/mach-omap2/sec-common.c | 2 +-
arch/arm/mach-orion5x/Makefile | 4 +-
arch/arm/mach-orion5x/cpu.c | 2 +-
arch/arm/mach-orion5x/lowlevel_init.S | 4 +-
arch/arm/mach-renesas/include/mach/boot0.h | 2 +-
arch/arm/mach-renesas/lowlevel_init_ca15.S | 2 +-
arch/arm/mach-rockchip/Makefile | 6 +-
arch/arm/mach-rockchip/px30/px30.c | 2 +-
arch/arm/mach-rockchip/rk3036/Makefile | 2 +-
arch/arm/mach-rockchip/rk3066/rk3066.c | 2 +-
arch/arm/mach-rockchip/rk3188/rk3188.c | 4 +-
arch/arm/mach-rockchip/rk322x/rk322x.c | 2 +-
arch/arm/mach-rockchip/rk3288/rk3288.c | 4 +-
arch/arm/mach-rockchip/rk3308/rk3308.c | 2 +-
arch/arm/mach-rockchip/rk3328/rk3328.c | 2 +-
arch/arm/mach-rockchip/rk3368/rk3368.c | 2 +-
arch/arm/mach-rockchip/rk3399/rk3399.c | 8 +-
arch/arm/mach-rockchip/rk3568/rk3568.c | 2 +-
arch/arm/mach-rockchip/rk3588/rk3588.c | 4 +-
arch/arm/mach-rockchip/rv1108/Makefile | 2 +-
arch/arm/mach-rockchip/rv1126/rv1126.c | 2 +-
arch/arm/mach-sc5xx/Makefile | 2 +-
arch/arm/mach-sc5xx/config.mk | 2 +-
arch/arm/mach-socfpga/Makefile | 2 +-
arch/arm/mach-socfpga/board.c | 6 +-
arch/arm/mach-socfpga/clock_manager.c | 2 +-
arch/arm/mach-socfpga/clock_manager_arria10.c | 2 +-
arch/arm/mach-socfpga/include/mach/boot0.h | 2 +-
.../include/mach/clock_manager_arria10.h | 2 +-
arch/arm/mach-socfpga/lowlevel_init_soc64.S | 2 +-
arch/arm/mach-socfpga/mailbox_s10.c | 2 +-
arch/arm/mach-socfpga/misc.c | 2 +-
arch/arm/mach-socfpga/misc_arria10.c | 2 +-
arch/arm/mach-socfpga/misc_gen5.c | 2 +-
arch/arm/mach-socfpga/reset_manager_s10.c | 2 +-
arch/arm/mach-socfpga/secure_vab.c | 2 +-
arch/arm/mach-socfpga/timer_s10.c | 4 +-
arch/arm/mach-socfpga/wrap_pll_config_soc64.c | 6 +-
arch/arm/mach-stm32mp/Makefile | 2 +-
arch/arm/mach-stm32mp/bsec.c | 12 +--
arch/arm/mach-stm32mp/stm32mp1/Makefile | 4 +-
arch/arm/mach-stm32mp/stm32mp1/cpu.c | 6 +-
arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c | 4 +-
arch/arm/mach-sunxi/Makefile | 2 +-
arch/arm/mach-sunxi/board.c | 10 +-
arch/arm/mach-sunxi/clock_sun4i.c | 4 +-
arch/arm/mach-sunxi/clock_sun50i_h6.c | 4 +-
arch/arm/mach-sunxi/clock_sun6i.c | 4 +-
arch/arm/mach-sunxi/clock_sun8i_a83t.c | 4 +-
arch/arm/mach-sunxi/clock_sun9i.c | 4 +-
arch/arm/mach-sunxi/gtbus_sun9i.c | 2 +-
arch/arm/mach-tegra/Makefile | 6 +-
arch/arm/mach-tegra/board.c | 2 +-
arch/arm/mach-tegra/board2.c | 2 +-
arch/arm/mach-tegra/tegra114/Makefile | 2 +-
arch/arm/mach-tegra/tegra124/Kconfig | 4 +-
arch/arm/mach-tegra/tegra124/Makefile | 4 +-
arch/arm/mach-tegra/tegra20/Makefile | 4 +-
arch/arm/mach-tegra/tegra30/Makefile | 4 +-
arch/arm/mach-uniphier/Makefile | 2 +-
arch/arm/mach-uniphier/arm32/Makefile | 2 +-
.../mach-uniphier/boot-device/boot-device.c | 4 +-
arch/arm/mach-uniphier/clk/Makefile | 2 +-
arch/arm/mach-uniphier/debug-uart/Makefile | 2 +-
.../arm/mach-uniphier/debug-uart/debug-uart.c | 4 +-
arch/arm/mach-uniphier/dram/Makefile | 2 +-
arch/arm/mach-zynq/Makefile | 2 +-
arch/arm/mach-zynq/cpu.c | 2 +-
arch/arm/mach-zynqmp/Makefile | 8 +-
arch/arm/mach-zynqmp/cpu.c | 4 +-
arch/microblaze/config.mk | 2 +-
arch/microblaze/cpu/Makefile | 2 +-
arch/microblaze/cpu/start.S | 8 +-
arch/mips/Makefile | 2 +-
arch/mips/config.mk | 2 +-
arch/mips/lib/Makefile | 2 +-
arch/mips/mach-jz47xx/Makefile | 2 +-
arch/mips/mach-jz47xx/include/mach/jz4780.h | 2 +-
arch/mips/mach-jz47xx/jz4780/jz4780.c | 4 +-
arch/mips/mach-jz47xx/start.S | 4 +-
arch/mips/mach-mtmips/Makefile | 2 +-
arch/mips/mach-mtmips/cpu.c | 2 +-
arch/mips/mach-mtmips/mt7620/Makefile | 2 +-
arch/mips/mach-mtmips/mt7621/Makefile | 11 +--
arch/mips/mach-mtmips/mt7628/Makefile | 2 +-
arch/powerpc/config.mk | 2 +-
arch/powerpc/cpu/mpc83xx/Makefile | 2 -
arch/powerpc/cpu/mpc83xx/start.S | 6 +-
arch/powerpc/cpu/mpc85xx/Makefile | 4 +-
arch/powerpc/cpu/mpc85xx/cpu_init_early.c | 2 +-
arch/powerpc/cpu/mpc85xx/start.S | 14 +--
arch/powerpc/cpu/mpc85xx/tlb.c | 4 +-
arch/powerpc/cpu/mpc8xxx/Makefile | 2 +-
arch/powerpc/cpu/mpc8xxx/fsl_pamu.c | 4 +-
arch/powerpc/cpu/mpc8xxx/law.c | 4 +-
arch/powerpc/cpu/mpc8xxx/pamu_table.c | 2 +-
arch/powerpc/include/asm/fsl_secure_boot.h | 8 +-
arch/powerpc/lib/Makefile | 6 +-
arch/riscv/Makefile | 2 +-
arch/riscv/cpu/fu540/Makefile | 2 +-
arch/riscv/cpu/fu740/Makefile | 2 +-
arch/riscv/cpu/jh7110/Makefile | 2 +-
arch/riscv/cpu/start.S | 8 +-
arch/riscv/lib/Makefile | 24 ++---
arch/riscv/lib/sifive_cache.c | 4 +-
arch/sandbox/cpu/Makefile | 2 +-
arch/sandbox/cpu/cpu.c | 2 +-
arch/sandbox/cpu/spl.c | 8 +-
arch/sandbox/cpu/start.c | 4 +-
arch/x86/Makefile | 10 +-
arch/x86/config.mk | 8 +-
arch/x86/cpu/Makefile | 22 ++---
arch/x86/cpu/apollolake/Makefile | 10 +-
arch/x86/cpu/apollolake/cpu_spl.c | 4 +-
arch/x86/cpu/apollolake/fsp_bindings.c | 4 +-
arch/x86/cpu/apollolake/hostbridge.c | 2 +-
arch/x86/cpu/apollolake/lpc.c | 2 +-
arch/x86/cpu/apollolake/pch.c | 2 +-
arch/x86/cpu/apollolake/pmc.c | 4 +-
arch/x86/cpu/apollolake/punit.c | 2 +-
arch/x86/cpu/apollolake/spl.c | 2 +-
arch/x86/cpu/broadwell/Makefile | 14 +--
arch/x86/cpu/broadwell/cpu.c | 2 +-
arch/x86/cpu/broadwell/cpu_full.c | 2 +-
arch/x86/cpu/broadwell/pch.c | 2 +-
arch/x86/cpu/config.mk | 2 +-
arch/x86/cpu/coreboot/Makefile | 2 +-
arch/x86/cpu/coreboot/coreboot.c | 2 +-
arch/x86/cpu/cpu.c | 4 +-
arch/x86/cpu/i386/cpu.c | 2 +-
arch/x86/cpu/intel_common/Makefile | 20 ++--
arch/x86/cpu/intel_common/mrc.c | 2 +-
arch/x86/cpu/intel_common/p2sb.c | 6 +-
arch/x86/cpu/ivybridge/Makefile | 8 +-
arch/x86/cpu/qemu/Makefile | 2 +-
arch/x86/include/asm/string.h | 2 +-
arch/x86/lib/Makefile | 27 +++--
arch/x86/lib/fsp/Makefile | 2 +-
arch/x86/lib/fsp2/fsp_dram.c | 2 +-
arch/x86/lib/fsp2/fsp_init.c | 4 +-
arch/x86/lib/tpl.c | 2 +-
board/BuR/brppt1/Makefile | 2 +-
board/BuR/brppt1/board.c | 4 +-
board/BuR/brppt2/board.c | 6 +-
board/BuR/brppt2/config.mk | 2 +-
board/BuR/brsmarc1/Makefile | 2 +-
board/BuR/brsmarc1/board.c | 8 +-
board/BuR/brxre1/Makefile | 2 +-
board/BuR/brxre1/board.c | 4 +-
board/BuR/common/common.c | 4 +-
board/CZ.NIC/turris_1x/Makefile | 2 +-
board/CZ.NIC/turris_1x/tlb.c | 2 +-
board/CZ.NIC/turris_omnia/Makefile | 2 +-
board/CZ.NIC/turris_omnia/turris_omnia.c | 2 +-
board/Synology/ds414/Makefile | 2 +-
board/advantech/imx8mp_rsb3720a1/Makefile | 4 +-
board/advantech/imx8qm_dmsse20_a1/Makefile | 2 +-
board/advantech/imx8qm_rom7720_a1/Makefile | 2 +-
board/alliedtelesis/x530/Makefile | 2 +-
board/asus/grouper/Makefile | 2 +-
board/asus/transformer-t30/Makefile | 2 +-
.../atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 2 +-
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 2 +-
board/atmel/at91sam9x5ek/at91sam9x5ek.c | 2 +-
.../atmel/sama5d27_som1_ek/sama5d27_som1_ek.c | 2 +-
.../sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c | 2 +-
board/atmel/sama5d2_icp/sama5d2_icp.c | 2 +-
.../atmel/sama5d2_xplained/sama5d2_xplained.c | 2 +-
.../atmel/sama5d3_xplained/sama5d3_xplained.c | 2 +-
board/atmel/sama5d3xek/sama5d3xek.c | 2 +-
.../atmel/sama5d4_xplained/sama5d4_xplained.c | 2 +-
board/atmel/sama5d4ek/sama5d4ek.c | 2 +-
board/avionic-design/tec-ng/Makefile | 2 +-
board/beacon/imx8mm/Makefile | 2 +-
board/beacon/imx8mn/Makefile | 2 +-
board/beacon/imx8mp/Makefile | 2 +-
board/bitmain/antminer_s9/Makefile | 2 +-
board/bosch/acc/acc.c | 2 +-
board/bosch/guardian/Makefile | 2 +-
board/bosch/shc/board.c | 4 +-
board/bsh/imx6ulz_smm_m2/Makefile | 2 +-
board/bsh/imx8mn_smm_s2/Makefile | 2 +-
board/bticino/mamoj/Makefile | 2 +-
board/cloos/imx8mm_phg/Makefile | 2 +-
board/compulab/cl-som-imx7/Makefile | 2 +-
board/compulab/cl-som-imx7/common.h | 4 +-
board/compulab/cl-som-imx7/mux.c | 4 +-
board/compulab/cm_fx6/Makefile | 2 +-
board/compulab/cm_t43/Makefile | 2 +-
board/compulab/imx8mm-cl-iot-gate/Makefile | 2 +-
.../compulab/imx8mm-cl-iot-gate/eeprom_spl.c | 2 +-
board/comvetia/lxr2/lxr2.c | 2 +-
.../conclusive/kstr-sama5d27/kstr-sama5d27.c | 2 +-
board/congatec/cgtqmx8/Makefile | 2 +-
board/congatec/common/Makefile | 2 -
board/coreboot/coreboot/Makefile | 2 +-
board/data_modul/common/common.c | 2 +-
board/data_modul/imx8mm_edm_sbc/Makefile | 2 +-
board/data_modul/imx8mp_edm_sbc/Makefile | 2 +-
board/davinci/da8xxevm/omapl138_lcdk.c | 2 +-
board/dhelectronics/dh_imx6/Makefile | 2 +-
board/dhelectronics/dh_imx8mp/Makefile | 2 +-
board/dhelectronics/dh_stm32mp1/board.c | 6 +-
board/ea/mx7ulp_com/mx7ulp_com.c | 2 +-
board/eets/pdu001/board.c | 2 +-
board/embest/mx6boards/mx6boards.c | 2 +-
board/engicam/common/Makefile | 2 +-
board/engicam/imx8mm/Makefile | 2 +-
board/engicam/imx8mp/Makefile | 2 +-
board/engicam/stm32mp1/Makefile | 2 +-
board/firefly/firefly-rk3288/firefly-rk3288.c | 2 +-
board/firefly/roc-pc-rk3399/roc-pc-rk3399.c | 2 +-
board/freescale/common/Makefile | 10 +-
board/freescale/common/cmd_esbc_validate.c | 2 +-
board/freescale/common/fsl_chain_of_trust.c | 8 +-
board/freescale/common/fsl_validate.c | 4 +-
board/freescale/common/qixis.c | 2 +-
board/freescale/imx8mm_evk/Makefile | 2 +-
board/freescale/imx8mn_evk/Makefile | 2 +-
board/freescale/imx8mp_evk/Makefile | 2 +-
board/freescale/imx8mq_evk/Makefile | 2 +-
board/freescale/imx8qm_mek/Makefile | 2 +-
board/freescale/imx8qxp_mek/Makefile | 2 +-
board/freescale/imx8ulp_evk/Makefile | 2 +-
board/freescale/imx93_evk/Makefile | 2 +-
board/freescale/imxrt1020-evk/imxrt1020-evk.c | 2 +-
board/freescale/imxrt1050-evk/imxrt1050-evk.c | 2 +-
board/freescale/imxrt1170-evk/imxrt1170-evk.c | 2 +-
board/freescale/ls1012afrdm/ls1012afrdm.c | 2 +-
board/freescale/ls1012aqds/ls1012aqds.c | 2 +-
board/freescale/ls1012ardb/ls1012ardb.c | 2 +-
board/freescale/ls1021aiot/ls1021aiot.c | 4 +-
board/freescale/ls1021aqds/ddr.c | 4 +-
board/freescale/ls1021aqds/ls1021aqds.c | 2 +-
board/freescale/ls1021atsn/ls1021atsn.c | 10 +-
board/freescale/ls1021atwr/ls1021atwr.c | 10 +-
board/freescale/ls1028a/ls1028a.c | 2 +-
board/freescale/ls1043aqds/Makefile | 2 +-
board/freescale/ls1043aqds/ddr.c | 2 +-
board/freescale/ls1043aqds/ls1043aqds.c | 2 +-
board/freescale/ls1043ardb/Makefile | 2 +-
board/freescale/ls1043ardb/ddr.c | 4 +-
board/freescale/ls1043ardb/ls1043ardb.c | 2 +-
board/freescale/ls1046aqds/Makefile | 2 +-
board/freescale/ls1046aqds/ddr.c | 2 +-
board/freescale/ls1046aqds/ls1046aqds.c | 2 +-
board/freescale/ls1046ardb/Makefile | 2 +-
board/freescale/ls1046ardb/ddr.c | 2 +-
board/freescale/ls1046ardb/ls1046ardb.c | 2 +-
board/freescale/ls1088a/Makefile | 2 +-
board/freescale/ls1088a/ddr.c | 6 +-
board/freescale/ls1088a/ls1088a.c | 8 +-
board/freescale/ls2080aqds/ddr.c | 2 +-
board/freescale/ls2080aqds/ls2080aqds.c | 4 +-
board/freescale/ls2080ardb/ddr.c | 2 +-
board/freescale/ls2080ardb/eth_ls2080rdb.c | 2 +-
board/freescale/lx2160a/lx2160a.c | 2 +-
board/freescale/mx23evk/Makefile | 2 +-
board/freescale/mx28evk/Makefile | 2 +-
board/freescale/mx6memcal/Makefile | 2 +-
board/freescale/mx6sabreauto/mx6sabreauto.c | 2 +-
board/freescale/mx6sabresd/mx6sabresd.c | 2 +-
board/freescale/mx6slevk/mx6slevk.c | 4 +-
.../mx6ul_14x14_evk/mx6ul_14x14_evk.c | 4 +-
board/freescale/p1010rdb/Makefile | 4 +-
board/freescale/p1010rdb/p1010rdb.c | 2 +-
board/freescale/p1010rdb/tlb.c | 2 +-
board/freescale/p1_p2_rdb_pc/Makefile | 4 +-
board/freescale/p1_p2_rdb_pc/tlb.c | 2 +-
board/freescale/t102xrdb/Makefile | 2 +-
board/freescale/t102xrdb/ddr.c | 4 +-
board/freescale/t102xrdb/tlb.c | 4 +-
board/freescale/t104xrdb/Makefile | 2 +-
board/freescale/t104xrdb/ddr.c | 4 +-
board/freescale/t104xrdb/tlb.c | 6 +-
board/freescale/t208xqds/Makefile | 2 +-
board/freescale/t208xqds/ddr.c | 2 +-
board/freescale/t208xqds/tlb.c | 4 +-
board/freescale/t208xrdb/Makefile | 2 +-
board/freescale/t208xrdb/ddr.c | 2 +-
board/freescale/t208xrdb/tlb.c | 4 +-
board/freescale/t4rdb/Makefile | 2 +-
board/freescale/t4rdb/cpld.c | 2 +-
board/freescale/t4rdb/ddr.c | 2 +-
board/freescale/t4rdb/tlb.c | 4 +-
board/gardena/smart-gateway-at91sam/Makefile | 2 +-
board/gardena/smart-gateway-mt7688/board.c | 2 +-
board/gateworks/gw_ventana/Makefile | 2 +-
board/gateworks/gw_ventana/eeprom.c | 2 +-
board/gateworks/venice/Makefile | 2 +-
board/gdsys/a38x/Makefile | 2 +-
board/gdsys/a38x/controlcenterdc.c | 12 +--
board/ge/b1x5v2/b1x5v2.c | 4 +-
board/ge/b1x5v2/spl.c | 2 +-
board/google/chromebook_coral/coral.c | 2 +-
board/google/gru/gru.c | 4 +-
board/google/imx8mq_phanbell/Makefile | 2 +-
board/google/veyron/veyron.c | 2 +-
board/grinn/chiliboard/board.c | 2 +-
board/grinn/liteboard/board.c | 2 +-
board/htc/endeavoru/Makefile | 2 +-
board/imgtec/ci20/ci20.c | 4 +-
board/isee/igep003x/Makefile | 2 +-
board/isee/igep003x/board.c | 2 +-
board/isee/igep00x0/Makefile | 2 +-
board/k+p/kp_imx6q_tpc/Makefile | 2 +-
board/kontron/pitx_imx8m/Makefile | 2 +-
board/kontron/sl-mx6ul/Makefile | 2 +-
board/kontron/sl-mx8mm/Makefile | 2 +-
board/kontron/sl28/Makefile | 4 +-
board/kontron/sl28/ddr.c | 2 +-
board/kosagi/novena/Makefile | 2 +-
board/lenovo/ideapad-yoga-11/Makefile | 2 +-
board/lg/sniper/sniper.c | 2 +-
board/lg/x3-t30/Makefile | 2 +-
board/liebherr/display5/Makefile | 2 +-
board/liebherr/mccmon6/Makefile | 2 +-
board/liebherr/xea/Makefile | 2 +-
board/liebherr/xea/xea.c | 6 +-
board/logicpd/am3517evm/am3517evm.c | 2 +-
board/logicpd/imx6/imx6logic.c | 2 +-
board/logicpd/omap3som/omap3logic.c | 2 +-
board/menlo/m53menlo/m53menlo.c | 2 +-
board/menlo/mx8menlo/Makefile | 4 +-
board/microsoft/surface-rt/Makefile | 2 +-
board/mntre/imx8mq_reform2/Makefile | 2 +-
board/msc/sm2s_imx8mp/Makefile | 2 +-
board/myir/mys_6ulx/Makefile | 2 +-
board/nvidia/beaver/Makefile | 2 +-
board/nvidia/cardhu/Makefile | 2 +-
board/olimex/mx23_olinuxino/Makefile | 2 +-
board/opalkelly/zynq/Makefile | 2 +-
board/phytec/common/Makefile | 2 +-
board/phytec/pcl063/Makefile | 2 +-
board/phytec/pcm058/pcm058.c | 2 +-
board/phytec/phycore_am335x_r2/Makefile | 2 +-
board/phytec/phycore_am335x_r2/board.c | 2 +-
board/phytec/phycore_am62x/phycore-am62x.c | 2 +-
board/phytec/phycore_imx8mm/Makefile | 2 +-
board/phytec/phycore_imx8mp/Makefile | 2 +-
board/phytec/phycore_imx93/Makefile | 2 +-
board/polyhex/imx8mp_debix_model_a/Makefile | 2 +-
board/purism/librem5/Makefile | 2 +-
board/purism/librem5/librem5.h | 4 +-
board/radxa/rockpi4-rk3399/rockpi4-rk3399.c | 4 +-
board/renesas/alt/Makefile | 2 +-
board/renesas/condor/Makefile | 2 +-
board/renesas/draak/Makefile | 2 +-
board/renesas/eagle/Makefile | 2 +-
board/renesas/ebisu/Makefile | 2 +-
board/renesas/falcon/Makefile | 2 +-
board/renesas/gose/Makefile | 2 +-
board/renesas/koelsch/Makefile | 2 +-
board/renesas/lager/Makefile | 2 +-
board/renesas/porter/Makefile | 2 +-
board/renesas/salvator-x/Makefile | 2 +-
board/renesas/silk/Makefile | 2 +-
board/renesas/stout/Makefile | 2 +-
board/renesas/ulcb/Makefile | 2 +-
board/renesas/v3hsk/Makefile | 2 +-
board/renesas/v3msk/Makefile | 2 +-
board/ronetix/imx7-cm/Makefile | 2 +-
board/ronetix/imx8mq-cm/Makefile | 2 +-
board/samsung/common/Makefile | 2 +-
board/samsung/origen/Makefile | 2 +-
board/samsung/smdkv310/Makefile | 2 +-
board/seeed/npi_imx6ull/Makefile | 2 +-
board/sielaff/imx6dl-sielaff/Makefile | 2 +-
board/siemens/capricorn/Makefile | 2 +-
board/siemens/capricorn/board.c | 8 +-
board/siemens/common/board_am335x.c | 12 +--
board/siemens/common/board_am335x.h | 4 +-
board/siemens/common/factoryset.c | 4 +-
board/siemens/corvus/board.c | 2 +-
board/siemens/draco/Makefile | 4 +-
board/siemens/draco/board.c | 14 +--
board/siemens/pxm2/Makefile | 4 +-
board/siemens/pxm2/board.c | 14 +--
board/siemens/rut/Makefile | 4 +-
board/siemens/rut/board.c | 8 +-
board/siemens/smartweb/smartweb.c | 2 +-
board/siemens/taurus/taurus.c | 4 +-
board/sifive/unleashed/Makefile | 2 +-
board/sifive/unmatched/Makefile | 2 +-
board/silinux/ek874/Makefile | 2 +-
board/softing/vining_2000/vining_2000.c | 2 +-
board/softing/vining_fpga/socfpga.c | 2 +-
board/solidrun/mx6cuboxi/mx6cuboxi.c | 2 +-
board/st/common/Makefile | 2 +-
board/st/common/cmd_stboard.c | 2 +-
board/st/stm32f746-disco/stm32f746-disco.c | 4 +-
board/st/stm32mp1/Makefile | 2 +-
board/starfive/visionfive2/Makefile | 2 +-
board/sunxi/board.c | 6 +-
board/tcl/sl50/Makefile | 2 +-
board/tcl/sl50/board.c | 14 +--
board/technexion/pico-imx6/spl.c | 2 +-
board/technexion/pico-imx6ul/spl.c | 2 +-
board/technexion/pico-imx7d/spl.c | 2 +-
board/technexion/pico-imx8mq/Makefile | 2 +-
board/theadorable/theadorable.c | 6 +-
.../theobroma-systems/jaguar_rk3588/Makefile | 2 +-
board/theobroma-systems/puma_rk3399/Makefile | 2 +-
.../theobroma-systems/ringneck_px30/Makefile | 2 +-
board/theobroma-systems/tiger_rk3588/Makefile | 2 +-
board/ti/am335x/Makefile | 2 +-
board/ti/am335x/board.c | 12 +--
board/ti/am43xx/Makefile | 2 +-
board/ti/am57xx/board.c | 10 +-
board/ti/am62x/evm.c | 2 +-
board/ti/am64x/evm.c | 2 +-
board/ti/common/board_detect.c | 6 +-
board/ti/dra7xx/evm.c | 6 +-
board/ti/j721e/evm.c | 6 +-
board/ti/j721s2/evm.c | 4 +-
board/ti/ks2_evm/board.c | 2 +-
board/ti/ks2_evm/board_k2e.c | 2 +-
board/ti/ks2_evm/board_k2g.c | 4 +-
board/ti/ks2_evm/board_k2hk.c | 2 +-
board/ti/ks2_evm/board_k2l.c | 2 +-
board/ti/omap3evm/evm.c | 4 +-
board/timll/devkit8000/devkit8000.c | 2 +-
board/topic/zynq/Makefile | 2 +-
board/toradex/apalis_imx6/apalis_imx6.c | 12 +--
board/toradex/apalis_imx6/do_fuse.c | 4 +-
board/toradex/apalis_imx6/pf0100.c | 4 +-
board/toradex/apalis_t30/Makefile | 2 +-
board/toradex/colibri_imx6/colibri_imx6.c | 12 +--
board/toradex/colibri_imx6/do_fuse.c | 4 +-
board/toradex/colibri_imx6/pf0100.c | 4 +-
board/toradex/colibri_t30/Makefile | 2 +-
board/toradex/common/Makefile | 2 +-
board/toradex/verdin-imx8mm/Makefile | 2 +-
board/toradex/verdin-imx8mp/Makefile | 2 +-
board/udoo/neo/neo.c | 2 +-
board/udoo/udoo_spl.c | 2 +-
board/variscite/common/imx9_eeprom.c | 2 +-
board/variscite/dart_6ul/Makefile | 2 +-
board/variscite/imx8mn_var_som/Makefile | 2 +-
.../variscite/imx8mn_var_som/imx8mn_var_som.c | 4 +-
board/variscite/imx93_var_som/Makefile | 2 +-
board/vscom/baltos/Makefile | 2 +-
board/vscom/baltos/board.c | 14 +--
board/wandboard/Makefile | 2 +-
board/wexler/qc750/Makefile | 2 +-
board/work-microwave/work_92105/Makefile | 2 +-
board/xilinx/common/Makefile | 2 +-
board/xilinx/common/board.c | 6 +-
.../microblaze-generic/microblaze-generic.c | 2 +-
board/xilinx/zynq/Makefile | 6 +-
board/xilinx/zynq/board.c | 4 +-
board/xilinx/zynqmp/Makefile | 8 +-
board/xilinx/zynqmp/zynqmp.c | 6 +-
boot/Makefile | 86 ++++++++--------
boot/fdt_simplefb.c | 2 +-
boot/image-android-dt.c | 2 +-
boot/image-android.c | 2 +-
boot/image-fit-sig.c | 2 +-
boot/vbe_simple_fw.c | 4 +-
cmd/Makefile | 6 +-
cmd/nvedit.c | 12 +--
cmd/vbe.c | 2 +-
common/Makefile | 42 ++++----
common/bloblist.c | 6 +-
common/board_f.c | 2 +-
common/bootstage.c | 6 +-
common/cli_readline.c | 2 +-
common/console.c | 2 +-
common/hash.c | 2 +-
common/init/Makefile | 2 +-
common/spl/Makefile | 58 +++++------
common/spl/spl.c | 61 ++++++------
common/spl/spl_fit.c | 2 +-
common/spl/spl_legacy.c | 2 +-
common/splash_source.c | 2 +-
config.mk | 2 +-
disk/Makefile | 18 ++--
disk/part.c | 2 +-
disk/part_dos.c | 2 +-
doc/develop/distro.rst | 4 +-
doc/develop/index.rst | 1 +
doc/develop/init.rst | 93 +++++++++++++++++
doc/develop/logging.rst | 2 +-
doc/develop/qconfig.rst | 2 +-
doc/develop/spl.rst | 83 ++++++++--------
doc/develop/tests_sandbox.rst | 2 +-
doc/develop/tests_writing.rst | 6 +-
doc/device-tree-bindings/bootph.yaml | 2 +-
drivers/Makefile | 90 ++++++++---------
drivers/adc/Makefile | 2 +-
drivers/ata/Makefile | 2 +-
drivers/block/Makefile | 12 +--
drivers/bus/Makefile | 4 +-
drivers/cache/Makefile | 2 +-
drivers/clk/Makefile | 18 ++--
drivers/clk/altera/clk-agilex.c | 2 +-
drivers/clk/altera/clk-agilex5.c | 2 +-
drivers/clk/altera/clk-n5x.c | 2 +-
drivers/clk/clk-uclass.c | 2 +-
drivers/clk/clk_vexpress_osc.c | 4 +-
drivers/clk/clk_zynq.c | 22 ++---
drivers/clk/exynos/Makefile | 2 +-
drivers/clk/imx/Makefile | 20 ++--
drivers/clk/imx/clk-imx8mm.c | 6 +-
drivers/clk/imx/clk-imx8mn.c | 6 +-
drivers/clk/imx/clk-imxrt1020.c | 2 +-
drivers/clk/imx/clk-imxrt1050.c | 2 +-
drivers/clk/rockchip/clk_px30.c | 6 +-
drivers/clk/rockchip/clk_rk3188.c | 6 +-
drivers/clk/rockchip/clk_rk3288.c | 8 +-
drivers/clk/rockchip/clk_rk3328.c | 4 +-
drivers/clk/rockchip/clk_rk3368.c | 14 +--
drivers/clk/rockchip/clk_rk3399.c | 10 +-
drivers/clk/rockchip/clk_rk3568.c | 10 +-
drivers/clk/rockchip/clk_rk3588.c | 14 +--
drivers/clk/sifive/sifive-prci.c | 2 +-
drivers/clk/starfive/clk-jh7110-pll.c | 4 +-
drivers/clk/stm32/clk-stm32mp1.c | 6 +-
drivers/clk/ti/Makefile | 4 +-
drivers/core/Makefile | 16 +--
drivers/core/ofnode.c | 4 +-
drivers/crypto/fsl/Makefile | 2 +-
drivers/crypto/fsl/jobdesc.c | 2 +-
drivers/crypto/fsl/jr.c | 6 +-
drivers/ddr/altera/Makefile | 2 +-
drivers/ddr/altera/sdram_gen5.c | 4 +-
drivers/ddr/fsl/lc_common_dimm_params.c | 6 +-
drivers/ddr/fsl/main.c | 6 +-
drivers/ddr/imx/imx8m/Makefile | 2 +-
drivers/ddr/imx/imx8ulp/Makefile | 2 +-
drivers/ddr/imx/imx9/Makefile | 2 +-
drivers/ddr/imx/phy/Makefile | 2 +-
drivers/ddr/marvell/a38x/Makefile | 44 ++++-----
drivers/ddr/marvell/a38x/old/Makefile | 28 +++---
drivers/ddr/marvell/axp/Makefile | 20 ++--
drivers/dfu/Makefile | 16 +--
drivers/firmware/Makefile | 2 +-
drivers/firmware/firmware-zynqmp.c | 10 +-
drivers/fpga/intel_sdm_mb.c | 2 +-
drivers/fpga/zynqpl.c | 6 +-
drivers/gpio/Makefile | 16 +--
drivers/gpio/gpio-uclass.c | 4 +-
drivers/gpio/pca953x.c | 2 +-
drivers/gpio/rk_gpio.c | 4 +-
drivers/gpio/s5p_gpio.c | 10 +-
drivers/gpio/sunxi_gpio.c | 2 +-
drivers/gpio/tca642x.c | 2 +-
drivers/gpio/tegra_gpio.c | 2 +-
drivers/i2c/Makefile | 16 +--
drivers/i2c/designware_i2c_pci.c | 4 +-
drivers/input/Makefile | 8 +-
drivers/led/Makefile | 2 +-
drivers/mailbox/Makefile | 2 +-
drivers/mailbox/zynqmp-ipi.c | 6 +-
drivers/misc/Makefile | 32 +++---
drivers/misc/gsc.c | 2 +-
drivers/misc/imx8/scu.c | 2 +-
drivers/misc/p2sb-uclass.c | 2 +-
drivers/mmc/Makefile | 14 +--
drivers/mmc/mmc-uclass.c | 4 +-
drivers/mmc/mmc.c | 20 ++--
drivers/mmc/mmc_legacy.c | 4 +-
drivers/mmc/mmc_private.h | 2 +-
drivers/mmc/omap_hsmmc.c | 4 +-
drivers/mmc/rockchip_dw_mmc.c | 2 +-
drivers/mmc/rockchip_sdhci.c | 2 +-
drivers/mmc/socfpga_dw_mmc.c | 2 +-
drivers/mmc/tmio-common.c | 2 +-
drivers/mmc/uniphier-sd.c | 4 +-
drivers/mmc/zynq_sdhci.c | 6 +-
drivers/mtd/Makefile | 6 +-
drivers/mtd/nand/Makefile | 4 +-
drivers/mtd/nand/raw/Makefile | 4 +-
drivers/mtd/nand/raw/atmel_nand.c | 4 +-
drivers/mtd/nand/raw/lpc32xx_nand_mlc.c | 6 +-
drivers/mtd/nand/raw/lpc32xx_nand_slc.c | 8 +-
drivers/mtd/nand/raw/nand_base.c | 10 +-
drivers/mtd/nand/raw/omap_gpmc.c | 4 +-
drivers/mtd/nand/raw/sand_nand.c | 4 +-
drivers/mtd/onenand/Makefile | 2 +-
drivers/mtd/spi/Makefile | 10 +-
drivers/mtd/spi/sf-uclass.c | 2 +-
drivers/mtd/spi/sf_dataflash.c | 2 +-
drivers/mtd/spi/spi-nor-core.c | 4 +-
drivers/mux/Makefile | 2 +-
drivers/net/Kconfig | 2 +-
drivers/net/dwc_eth_xgmac_socfpga.c | 2 +-
drivers/net/dwmac_socfpga.c | 2 +-
drivers/nvme/Makefile | 2 +-
drivers/pci/pci-uclass.c | 4 +-
drivers/pci/pci_rom.c | 4 +-
drivers/phy/Makefile | 6 +-
drivers/phy/cadence/Makefile | 4 +-
drivers/phy/ti/Makefile | 2 +-
drivers/pinctrl/Makefile | 8 +-
drivers/pinctrl/intel/pinctrl.c | 6 +-
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 4 +-
drivers/pinctrl/pinctrl_stm32.c | 4 +-
drivers/pinctrl/starfive/Makefile | 4 +-
drivers/pinctrl/tegra/Makefile | 2 +-
drivers/pinctrl/uniphier/pinctrl-uniphier.h | 2 +-
drivers/power/Makefile | 10 +-
drivers/power/acpi_pmc/Makefile | 2 +-
drivers/power/acpi_pmc/acpi-pmc-uclass.c | 2 +-
drivers/power/domain/Makefile | 2 +-
drivers/power/pmic/Makefile | 34 +++----
drivers/power/pmic/rk8xx.c | 4 +-
drivers/power/pmic/stpmic1.c | 6 +-
drivers/power/power_core.c | 2 +-
drivers/power/regulator/Makefile | 48 ++++-----
drivers/power/regulator/rk8xx.c | 2 +-
drivers/power/sy8106a.c | 2 +-
drivers/ram/Makefile | 4 +-
drivers/ram/mediatek/ddr3-mt7629.c | 4 +-
drivers/ram/rockchip/sdram_rk3188.c | 12 +--
drivers/ram/rockchip/sdram_rk3288.c | 2 +-
drivers/ram/rockchip/sdram_rk3399.c | 4 +-
drivers/ram/rockchip/sdram_rv1126.c | 9 +-
drivers/ram/sifive/sifive_ddr.c | 6 +-
drivers/ram/starfive/Makefile | 4 +-
drivers/ram/stm32mp1/stm32mp1_ram.c | 2 +-
drivers/remoteproc/Makefile | 2 +-
drivers/reset/Makefile | 2 +-
drivers/reset/reset-socfpga.c | 2 +-
drivers/rng/Makefile | 2 +-
drivers/rtc/Makefile | 6 +-
drivers/scsi/Makefile | 6 +-
drivers/serial/Makefile | 6 +-
drivers/serial/atmel_usart.c | 2 +-
drivers/serial/ns16550.c | 8 +-
drivers/serial/serial-uclass.c | 2 +-
drivers/serial/serial.c | 2 +-
drivers/serial/serial_s5p.c | 2 +-
drivers/serial/serial_zynq.c | 2 +-
drivers/spi/Makefile | 2 +-
drivers/spi/designware_spi.c | 4 +-
drivers/spi/ich.c | 4 +-
drivers/spi/rockchip_sfc.c | 2 +-
drivers/spi/spi-uclass.c | 4 +-
drivers/sysreset/Makefile | 14 +--
drivers/sysreset/sysreset-uclass.c | 2 +-
drivers/sysreset/sysreset_ast.c | 2 +-
drivers/timer/Makefile | 8 +-
drivers/tpm/Makefile | 4 +-
drivers/usb/cdns3/Makefile | 4 +-
drivers/usb/cdns3/core.c | 6 +-
drivers/usb/common/Makefile | 2 +-
drivers/usb/dwc3/Makefile | 4 +-
drivers/usb/gadget/Makefile | 10 +-
drivers/usb/gadget/f_sdp.c | 10 +-
drivers/usb/gadget/udc/Makefile | 4 +-
drivers/usb/host/Makefile | 6 +-
drivers/usb/mtu3/mtu3_plat.c | 4 +-
drivers/video/Makefile | 18 ++--
drivers/video/console_truetype.c | 6 +-
drivers/video/tidss/Makefile | 2 +-
drivers/video/video-uclass.c | 6 +-
drivers/watchdog/Makefile | 2 +-
dts/Makefile | 2 +-
env/Makefile | 24 ++---
env/common.c | 4 +-
env/fat.c | 4 +-
env/flash.c | 6 +-
env/mmc.c | 6 +-
env/nand.c | 8 +-
env/nowhere.c | 2 +-
env/sf.c | 2 +-
fs/Makefile | 2 +-
fs/fat/Makefile | 4 +-
fs/fs.c | 6 +-
fs/sandbox/Makefile | 2 +-
fs/squashfs/Makefile | 2 +-
include/asm-generic/global_data.h | 2 +-
include/bootcount.h | 4 +-
include/config_distro_bootcmd.h | 10 +-
include/configs/P1010RDB.h | 4 +-
include/configs/am335x_evm.h | 4 +-
include/configs/am335x_guardian.h | 4 +-
include/configs/am335x_shc.h | 4 +-
include/configs/am43xx_evm.h | 4 +-
include/configs/am57xx_evm.h | 2 +-
include/configs/capricorn-common.h | 4 +-
include/configs/cgtqmx8.h | 2 +-
include/configs/da850evm.h | 2 +-
include/configs/dra7xx_evm.h | 4 +-
include/configs/ds116.h | 4 +-
include/configs/ds414.h | 4 +-
.../configs/gardena-smart-gateway-mt7688.h | 2 +-
include/configs/imx6q-bosch-acc.h | 2 +-
include/configs/imx6ulz_smm_m2.h | 4 +-
include/configs/imx8mm-cl-iot-gate.h | 2 +-
include/configs/imx8mm_beacon.h | 2 +-
include/configs/imx8mm_data_modul_edm_sbc.h | 2 +-
include/configs/imx8mm_evk.h | 2 +-
include/configs/imx8mm_icore_mx8mm.h | 4 +-
include/configs/imx8mm_phg.h | 2 +-
include/configs/imx8mm_venice.h | 2 +-
include/configs/imx8mp_rsb3720.h | 2 +-
include/configs/imx8mq_cm.h | 2 +-
include/configs/imx8mq_evk.h | 2 +-
include/configs/imx8mq_phanbell.h | 2 +-
include/configs/imx8mq_reform2.h | 2 +-
include/configs/imx8qm_mek.h | 2 +-
include/configs/imx8qxp_mek.h | 2 +-
include/configs/imx8ulp_evk.h | 2 +-
include/configs/imx93_evk.h | 2 +-
include/configs/kontron-sl-mx8mm.h | 4 +-
include/configs/kontron_pitx_imx8m.h | 2 +-
include/configs/librem5.h | 2 +-
include/configs/linkit-smart-7688.h | 2 +-
include/configs/ls1043a_common.h | 6 +-
include/configs/ls1046a_common.h | 6 +-
include/configs/ls1088a_common.h | 2 +-
include/configs/msc_sm2s_imx8mp.h | 2 +-
include/configs/mt7621.h | 2 +-
include/configs/mt7628.h | 2 +-
include/configs/n2350.h | 4 +-
include/configs/p1_p2_rdb_pc.h | 4 +-
include/configs/phycore_imx8mm.h | 2 +-
include/configs/pico-imx8mq.h | 2 +-
include/configs/rk3399_common.h | 4 +-
include/configs/rockchip-common.h | 2 +-
include/configs/socfpga_common.h | 2 +-
include/configs/stm32mp15_common.h | 4 +-
include/configs/stm32mp15_dh_dhsom.h | 2 +-
include/configs/ti_omap3_common.h | 2 +-
include/configs/ti_omap4_common.h | 2 +-
include/configs/turris_1x.h | 4 +-
include/configs/turris_omnia.h | 4 +-
include/configs/verdin-imx8mm.h | 2 +-
include/configs/verdin-imx8mp.h | 4 +-
include/configs/vining_2000.h | 2 +-
include/configs/xilinx_zynqmp.h | 2 +-
include/configs/zynq-common.h | 4 +-
include/env.h | 2 +-
include/env_callback.h | 2 +-
include/fdtdec.h | 2 +-
include/image-android-dt.h | 2 +-
include/iotrace.h | 2 +-
include/linux/kconfig.h | 8 +-
include/log.h | 12 +--
include/mmc.h | 2 +-
include/mtd/cfi_flash.h | 2 +-
include/net.h | 6 +-
include/part.h | 2 +-
include/sdp.h | 2 +-
include/search.h | 2 +-
include/spl.h | 78 ++++++++-------
include/stdio.h | 5 +-
include/sunxi_gpio.h | 2 +-
include/upl.h | 4 +-
include/vbe.h | 2 +-
lib/Makefile | 68 ++++++-------
lib/acpi/Makefile | 10 +-
lib/aes/Makefile | 2 +-
lib/crypto/Makefile | 18 ++--
lib/display_options.c | 2 +-
lib/ecdsa/Makefile | 2 +-
lib/fdtdec.c | 8 +-
lib/hang.c | 2 +-
lib/hashtable.c | 4 +-
lib/hexdump.c | 2 +-
lib/libfdt/Makefile | 2 +-
lib/lmb.c | 4 +-
lib/rsa/Makefile | 4 +-
lib/time.c | 2 +-
lib/uuid.c | 2 +-
net/Makefile | 12 +--
net/bootp.c | 2 +-
net/net.c | 8 +-
scripts/Kbuild.include | 14 +--
scripts/Makefile.autoconf | 6 +-
scripts/{Makefile.spl => Makefile.xpl} | 60 ++++++-----
test/Makefile | 24 ++---
test/cmd_ut.c | 2 +-
test/dm/Makefile | 6 +-
test/fuzz/Makefile | 2 +-
test/lib/Makefile | 2 +-
test/test-main.c | 2 +-
tools/qconfig.py | 32 +++---
906 files changed, 2243 insertions(+), 2257 deletions(-)
create mode 100644 doc/develop/init.rst
rename scripts/{Makefile.spl => Makefile.xpl} (92%)
--
2.43.0
3
45
This series provides a number of patches to make VBE easier to
implement, particularly with the new OF_UPSTREAM option.
Simon Glass (15):
binman: Fix up test coverage for mkeficapsule
binman: Correct the comment for fdtgrep
binman: Tidy up comments for Entry.GetEntryArgsOrProps()
binman: Tidy up comments and pylint warnings in fit
binman: Avoid setting the image_pos attribute directly
binman: Update fdt-list-dir to use the provided directory
binman: fit: Avoid assuming that a FIT member is a section
binman: fit: Set the image_pos attributes only once
binman: fit: Refine handling of devicetrees for OF_UPSTREAM
binman: Adjust naming for reading symbols
binman: Add minor improvements to symbol-writing
binman: Provide a way to set the symbol base address
binman: Unwind the end-at-4gb special-case a little
binman: Allow image_pos to be None when writing symbols
binman: Make a start on an iMX8 test
tools/binman/binman.rst | 19 ++-
tools/binman/btool/fdtgrep.py | 3 +-
tools/binman/elf.py | 14 +-
tools/binman/elf_test.py | 4 +-
tools/binman/entry.py | 25 ++-
tools/binman/etype/atf_fip.py | 2 +-
tools/binman/etype/blob_phase.py | 5 +
tools/binman/etype/cbfs.py | 2 +-
tools/binman/etype/efi_capsule.py | 2 +
tools/binman/etype/fit.py | 116 ++++++++-----
tools/binman/etype/nxp_imx8mimage.py | 3 +-
tools/binman/etype/section.py | 31 ++--
tools/binman/ftest.py | 152 +++++++++++++++---
tools/binman/image.py | 21 ++-
tools/binman/image_test.py | 8 +-
tools/binman/test/336_symbols_base.dts | 23 +++
tools/binman/test/337_symbols_base_expand.dts | 24 +++
tools/binman/test/338_symbols_comp.dts | 26 +++
tools/binman/test/339_nxp_imx8.dts | 17 ++
19 files changed, 386 insertions(+), 111 deletions(-)
create mode 100644 tools/binman/test/336_symbols_base.dts
create mode 100644 tools/binman/test/337_symbols_base_expand.dts
create mode 100644 tools/binman/test/338_symbols_comp.dts
create mode 100644 tools/binman/test/339_nxp_imx8.dts
--
2.34.1
3
34
Allow to disable serial console in SPL. Weak dependency is already used
with TPL serial.
Signed-off-by: Daniel Semkowicz <dse(a)thaumatec.com>
---
arch/arm/mach-rockchip/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index fc1b638ff01..269c219a6f8 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -257,7 +257,6 @@ config ROCKCHIP_RK3399
select SPL_SYSCON if SPL
select TPL_NEEDS_SEPARATE_STACK if TPL
select SPL_SEPARATE_BSS
- select SPL_SERIAL
select CLK
select FIT
select PINCTRL
@@ -288,6 +287,7 @@ config ROCKCHIP_RK3399
imply SPL_DM_SEQ_ALIAS
imply SPL_FIT_SIGNATURE
imply SPL_ROCKCHIP_COMMON_BOARD
+ imply SPL_SERIAL
imply SYS_BOOTCOUNT_SINGLEWORD if BOOTCOUNT_LIMIT
imply TPL_CLK
imply TPL_DM
--
2.46.1
4
3