Paul HENRYS [Tue, 31 Mar 2026 08:06:36 +0000 (10:06 +0200)]
tools: u_boot_pylib: ensure all Python modules are installed
Add setuptools package configuration to pyproject.toml so that
u_boot_pylib is installed as a proper Python package without changing
the existing flat directory structure and making sure all modules are
installed.
Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com> Reviewed-by: Simon Glass <sjg@chromium.org>
- Add env variables to assist boot for various LS boards
- Add gpio scmi driver
- Fix setting the function for scmi pinctrl
- Use standard device tree pin muxing format for scmi pinctrl
- Fix protocol version fetch for non-CCF platforms in scmi clk
drivers: net: fsl-mc: add the nowait option when applying the DPL
The process through which the MC firmware parses the DPL and initializes
all the requested DPAA2 objects is a complex one which can take quite a
bit of time. For the those circumstances in which a fast boot is
required on DPAA2 based SoCs, add the 'nowait' optional parameter for
the fsl_mc [lazy]apply dpl command.
When this option is used, the Linux kernel fsl-mc bus must wait for
the firmware to finish parsing the DPL before proceeding with probing
all the DPAA2 objects.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers: net: fsl-mc: cleanup the fsl_mc command help text
All the parameters that can be currently passed to the fsl_mc command
are positional arguments which are mandatory. This is not perfectly
clear when reading the help text because of the use of square brackets.
Fix this by changing the square brackets, which are commonly used for
optional parameters, with < .. >.
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Dan Carpenter [Thu, 26 Mar 2026 12:08:25 +0000 (15:08 +0300)]
pinctrl: scmi: Use standard device tree pin muxing format
In the original code, I wrote a custom pin muxing parser but the
upstream device trees wouldn't accept something like that so it would
have complicated mergine the device tree files.
Use the standard device tree format with function and groups:
pinmux1: pinmux1 {
function = "f_gpio1";
groups = "grp_1", "grp_3";
};
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Acked-by: Linus Walleij <linusw@kernel.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
In this GPIO driver the one thing which is different is that in the
gpio-ranges the first numbers which represent how the pins are exposed
to the users have to start at zero and it can't have gaps.
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
clk: scmi: Fix protocol version fetch for non-CCF platforms
The SCMI clock protocol version was only being fetched when CLK_CCF
was enabled. On non-CCF platforms, the probe function returned early
without fetching the version, leaving priv->version as 0.
This caused issues because code paths like scmi_clk_gate() and
scmi_clk_get_permissions() depend on priv->version to determine
which protocol message format to use, even in non-CCF mode.
Fix this by moving the scmi_generic_protocol_version() call before
the CLK_CCF check, ensuring the version is fetched for both CCF and
non-CCF platforms.
Tested on am62lx_evm.
Fixes: ae7e0330ce22 ("clk: scmi: add compatibility with clock protocol 2.0") Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Marek Vasut [Sun, 15 Mar 2026 23:58:26 +0000 (00:58 +0100)]
ufs: Remap CPU to bus addresses using dev_phys_to_bus()
Use dev_phys_to_bus() to convert CPU addresses of DMA descriptors
into bus addresses of DMA descriptors. This is necessary on hardware
which does not have 1:1 mapping between CPU and memory addressed by
the DMA. This has no impact on other hardware which does not need
this conversion.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Sun, 15 Mar 2026 23:55:33 +0000 (00:55 +0100)]
serial: sh: Handle HSCIF on all 64-bit R-Car SoC
The HSCIF variant present on Renesas R-Car Gen5 SoC is compatible
with the HSCIF variant present on Renesas R-Car Gen4 SoC. Enable
HSSRR register programming for HSCIF present on all 64-bit R-Car
SoCs, which covers R-Car Gen3, Gen4 and newly also Gen5.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Tue, 17 Mar 2026 00:33:54 +0000 (01:33 +0100)]
ram: renesas: dbsc: Use macro in renesas_dbsc5_board_config channel count
Use DRAM_CH_CNT macro in renesas_dbsc5_board_config channel count.
The macro is defined in the same file a few lines above. This way,
the maximum channel count in the structure and the macro can not
diverge.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Sun, 15 Mar 2026 23:52:33 +0000 (00:52 +0100)]
arm64: renesas: Separate 64bit only code
Conditionally compile code that is only compatible with 64bit ARMv8
on 64bit R-Car Gen3/4/5 SoCs. Protect such code with CONFIG_ARM64.
This split is implemented in preparation for build of Cortex-M33
version of R-Car Gen5 U-Boot for its RSIPM core.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Wed, 25 Mar 2026 01:18:28 +0000 (02:18 +0100)]
arm64: renesas: Make R-Car board code 32-bit ARMv8-M compatible
The 64-bit R-Car board code is currently unbuildable on 32-bit ARM
cores. Skip DRAM initialization bits to make the code compatible with
these cores, because those cores do not use the DRAM, they only use
SRAM.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Sun, 5 Apr 2026 03:53:03 +0000 (05:53 +0200)]
arm64: renesas: Enable SMC command on all R-Car 64-bit systems
Enable the 'smc' command on all R-Car 64-bit systems. This command is
useful for interacting with EL3 firmware, testing interaction with the
PSCI provider or OPTEE-OS.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Sun, 15 Mar 2026 23:51:01 +0000 (00:51 +0100)]
arm: renesas: Use stock lowlevel_init function and remove s_init
Replace s_init() early initialization at the end of lowlevel_init
by invoking the same code in mach_cpu_init(). The mach_cpu_init()
is called a bit later, but as the code initializes timer and no
code uses timer until mach_cpu_init(), this does not pose a problem.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Sun, 5 Apr 2026 03:51:40 +0000 (05:51 +0200)]
arm: renesas: Enable preboot environment variable on all R-Car systems
Enable the 'preboot' variable on all R-Car systems. This variable can
optionally be set and contain a script which is executed before the
autoboot timeout starts. This can be used to run critical scripts or
similar tasks. By default, the "preboot" variable is empty.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Sun, 15 Mar 2026 23:51:35 +0000 (00:51 +0100)]
arm: renesas: Enable modern HUSH parser on all R-Car systems
Enable modern HUSH parser on all Renesas R-Car systems. This replaces
the old HUSH parser and includes matching updates to the command line
parser. No functional change expected.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Tom Rini [Wed, 8 Apr 2026 17:07:19 +0000 (11:07 -0600)]
Merge patch series "env: scsi: support SCSI env without partition UUID"
David Lechner <dlechner@baylibre.com> says:
This is a series adding support for reading U-Boot env directly from
SCSI devices that do not have a partition table, similar to how we can
already do this for MMC devices.
The motivation behind this is that MediaTek's BSP is already using the
same disk images for both MMC and UFS devices, so we need to be able to
read the env from SCSI devices without requiring a partition UUID.
The series starts with cleaning up a few oddities we noticed in the
existing code. Then some refactoring so that the env code manages
calling scsi_scan() so that we don't have to duplicate that for the
new code path. Then finally, the last few patches add and document the
new functionality.
David Lechner [Thu, 26 Mar 2026 22:59:27 +0000 (17:59 -0500)]
env: scsi: add CONFIG_ENV_SCSI_HW_PARTITION
Add CONFIG_ENV_SCSI_HW_PARTITION and supporting code to allow loading
the environment directly from a SCSI device without a partition table.
Some platforms store the environment directly on the SCSI device without
a way to look it up by partition UUID.
Signed-off-by: David Lechner <dlechner@baylibre.com>
David Lechner [Thu, 26 Mar 2026 22:59:26 +0000 (17:59 -0500)]
scsi: move scsi_scan() call out of scsi_get_blk_by_uuid()
Move scsi_scan() call out of scsi_get_blk_by_uuid().
The only caller, env_scsi_get_part(), should be managing this call since
it may also want to use different ways to get the partition information
in the future.
Signed-off-by: David Lechner <dlechner@baylibre.com>
David Lechner [Thu, 26 Mar 2026 22:59:24 +0000 (17:59 -0500)]
scsi: return ENODEV in scsi_get_blk_by_uuid()
Change scsi_get_blk_by_uuid() to return -ENODEV instead of -1 on error.
Other scsi_* functions return an error code rather than -1.
1 is EPERM, which doesn't make sense here. So we use ENODEV instead. The
only caller only checks for !success, so changing the value has no
effect on the caller.
Signed-off-by: David Lechner <dlechner@baylibre.com>
David Lechner [Thu, 26 Mar 2026 20:39:52 +0000 (15:39 -0500)]
cmd/scsi: drop scsi reset command
Since commit b630f8b3aefc ("scsi: Forceably finish migration to DM_SCSI")
the "scsi reset" command has no possibility of actually resetting any
SCSI controller. Drop the command to avoid confusion that the command is
actually resetting the SCSI controller.
Signed-off-by: David Lechner <dlechner@baylibre.com>
Marek Vasut [Sun, 15 Mar 2026 23:57:23 +0000 (00:57 +0100)]
dm: Respect dma-ranges size
Rework dev_phys_to_bus() and dev_bus_to_phys() to respect the size
of the area specified in dma-ranges DT property. The area outside
of ranges is remapped 1:1, while the area in the ranges is remapped
according to the description in the dma-ranges property.
Adjust the test to test the area within the remapped range, not area
outside the remapped range, which was incorrect.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Markus Schneider-Pargmann <msp@baylibre.com>
Tom Rini [Wed, 25 Mar 2026 19:00:33 +0000 (13:00 -0600)]
hikey960: Drop unnecessary BOARD_EARLY_INIT_F usage
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.
The option CONFIG_SPL_FRAMEWORK_BOARD_INIT_F enables a simple
board_init_f function in SPL. This however is never enabled, so remove
this function and option.
The symbol SPL_SYS_MALLOC_F defaults to y when visible and
TPL_SYS_MALLOC_F defaults to y when visible and SPL_SYS_MALLOC_F is
enabled. Remove the places from Kconfig files that had unneccsary
"default y" for these options.
Paresh Bhagat [Wed, 25 Mar 2026 07:08:04 +0000 (12:38 +0530)]
board: ti: am62dx: Separate resource management config from am62ax
AM62d currently shares resource management configuration files with
AM62a. However, AM62a resource management needs to be modified for DMA
resource sharing scheme for CPSW3G Ethernet functionality to support
multi-core traffic handling.
Add separate AM62d-specific resource management configuration files to
decouple from the AM62a changes and maintain proper resource allocation
for AM62d.
Tom Rini [Tue, 7 Apr 2026 19:51:37 +0000 (13:51 -0600)]
Merge tag 'mediatek-for-master-2026-04-07' of https://source.denx.de/u-boot/custodians/u-boot-mediatek
This is the first wave of MediaTek changes for this merge window. We
also expect to be sending another decent-sized pull request later for
the backlog of patches that are currently waiting on dependencies or
need little more time for review.
* Fixes for cargo-culted issues in mach-mediatek init.c files.
* Some consistency cleanups of recently added Genio boards (510/700/1200).
* Some pinctrl improvements to support newer MediaTek SOCs (mt8189 compatible).
* New devicetree and config for Genio 520/720 EVK boards (can boot to eMMC or SD).
* New CPU-specific functions to read vendor-specific CPU info at runtime.
David Lechner [Mon, 30 Mar 2026 20:23:18 +0000 (15:23 -0500)]
arm: mediatek: add SIP platform bininfo lookups
Add a couple of functions to look up the segment and part name using SIP
calls. These will be used to print more accurate CPU information in
print_cpuinfo().
Simon Glass [Tue, 24 Mar 2026 19:45:20 +0000 (13:45 -0600)]
sandbox: Adjust how OS-interface files are built
The current mechanism uses a completely separate build rule for each
file which must be built with system headers. This is tricky to
maintain.
Add a foreach template in the sandbox cpu Makefile which generates the
custom compile rules from a CFLAGS_USE_SYSHDRS list. This keeps the
rules data-driven without needing changes to the common
scripts/Makefile.lib, which could affect other architectures.
Move initjmp.o into the template since it uses the same pattern. Add
sdl.o to the list too, with an override for its command since it also
needs -fshort-wchar removed and -fno-lto added.
Philip Molloy [Tue, 24 Mar 2026 10:09:44 +0000 (10:09 +0000)]
arm: mach-sc5xx: Align header paths with SYS_SOC convention
Define CONFIG_SYS_SOC in the mach-sc5xx Kconfig. Follow the standard
U-Boot include path convention by moving the SC5xx SoC headers from
arch/arm/include/asm/arch-adi/sc5xx/ to the conventional
arch/arm/include/asm/arch-sc5xx/ location. Update includes from
<asm/arch-adi/sc5xx/*.h> to <asm/arch/*.h> across mach-sc5xx and board
files.
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
The U_BOOT_DRIVER macro creates a list of drivers used at link time, and
all entries here must be unique. This in turn means that all entries in
the code should also be unique in order to not lead to build failures
later with unexpected build combinations. Typically, the problem we have
here is when a driver is obviously based on another driver and didn't
update this particular field and so while the name field reflects
something unique the linker entry itself is not. In a few places this
provides a more suitable string name as well, however.
Reviewed-by: Marek Vasut <marek.vasut+usb@mailbox.org> Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com> # Tegra Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Reviewed-by: Heiko Schocher <hs@nabladev.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Mon, 23 Mar 2026 19:53:13 +0000 (13:53 -0600)]
tpl: Correct dependencies for TPL_OF_CONTROL
The TPL_OF_CONTROL option can only select TPL_OF_LIBFDT functionality if
we also have enabled TPL_LIBGENERIC_SUPPORT, so express this dependency
in Kconfig.
Tom Rini [Mon, 23 Mar 2026 19:53:06 +0000 (13:53 -0600)]
serial: omap: Fix "unused" warnings with SERIAL_PRESENT=n and OF_REAL=y
The definition of our ID table (and of_to_plat function) is guarded with
OF_REAL however the U_BOOT_DRIVER that would in turn use the table is
guarded with SERIAL_PRESENT. To avoid a potential warning we must also
guard both with SERIAL_PRESENT.
Tom Rini [Mon, 23 Mar 2026 19:53:04 +0000 (13:53 -0600)]
serial: ns16550: Fix an "unused" warning with SERIAL_PRESENT=n and OF_REAL=y
The definition of our ID table is guarded with OF_REAL however the
U_BOOT_DRIVER that would in turn use the table is guarded with
SERIAL_PRESENT. To avoid a potential warning we must also guard the
ID table with SERIAL_PRESENT.
Tom Rini [Mon, 23 Mar 2026 19:52:55 +0000 (13:52 -0600)]
spl: env: Correct dependencies for SPL_SAVEENV and MMC
The SPL_SAVEENV functionality, when working with an MMC device, can only
work with SPL_MMC_WRITE enabled. This however only works with SPL_MMC
also being enabled. Update the dependencies to show that if we have
enabled SPL_ENV_IS_IN_MMC then we select SPL_MMC_WRITE and make
SPL_ENV_IS_IN_MMC depends on SPL_MMC.
Tom Rini [Mon, 23 Mar 2026 19:52:47 +0000 (13:52 -0600)]
lmb: boot: Update dependencies within BOOT_DEFAULTS_CMDS
The CMD_BOOT[IZ] symbols have a dependency on LMB, correctly,
currently. Make sure that in BOOT_DEFAULTS_CMDS we only select these
commands if LMB is enabled.
Tom Rini [Mon, 23 Mar 2026 19:52:45 +0000 (13:52 -0600)]
lmb: Rework the LMB_ARCH_MEM_MAP symbol
This symbol should not be enabled by the user directly but rather
selected when implemented in a given platform. This converts all of the
current users of this feature and hides the symbol.
Tom Rini [Mon, 23 Mar 2026 19:51:06 +0000 (13:51 -0600)]
env: remote: Disallow CMD_SAVEENV
Looking at how the saveenv portion of this driver was implemented, it
does not appear that it could actually result in changes being saved on
the remote end. Update Kconfig to disallow CMD_SAVEENV for
ENV_IS_IN_REMOTE and then remove the relevant code.
Tom Rini [Mon, 23 Mar 2026 19:51:05 +0000 (13:51 -0600)]
env: Make more use of the ENV_SAVE_PTR macro
With commit 82b2f4135719 ("env_internal.h: add alternative ENV_SAVE_PTR
macro") we introduced the ENV_SAVE_PTR macro but as explained in the
commit message, left full conversion for a later time. This commit
makes more progress on that front by doing the remaining easy
conversions to the new macro.
Signed-off-by: Tom Rini <trini@konsulko.com>
Changes in v2:
- Reduce the number of conversions, some didn't work as expected once
CMD_SAVEENV was actually disabled.
- Finish converting UBI
David Lechner [Mon, 16 Mar 2026 21:55:15 +0000 (16:55 -0500)]
arm: dts: add U-Boot overrides for Genio 520 and 720 SD card
Add U-Boot-specific device tree overrides for the Genio 520 and 720 EVK
boards. These are needed to enable SD card support in U-Boot due to
current driver limitations. It is expected that these files will remain
after eventually converting these to CONFIG_OF_UPSTREAM, so we use
separate .u-boot.dtsi files for this.
David Lechner [Mon, 16 Mar 2026 21:55:14 +0000 (16:55 -0500)]
arm: dts: mt8371: add SD card nodes
Add SD card nodes to the MT8371 Genio common and MT8189 SoC device tree
files. This is coming from what has been submitted upstream in Linux
[1]. The process is going slow, so we a copy in U-Boot until we can
switch to CONFIG_OF_UPSTREAM.
David Lechner [Mon, 30 Mar 2026 16:00:36 +0000 (11:00 -0500)]
pinctrl: mediatek: mtk8189: set get_pinconf functions
Set the get_pinconf functions for the mt8189 pinctrl driver. This will
append pinconf bias info to the output of the pinmux status command.
This is useful for debugging pin configuration issues.
David Lechner [Mon, 30 Mar 2026 16:00:34 +0000 (11:00 -0500)]
pinctrl: mediatek: mt8189: fix pinconf bias
Fix setting pinconf bias for MT8189.
Using mtk_pinconf_bias_set_v1() was wrong because MT8189 does not have
PULLEN/PULLSEL registers. It has PU and PD registers for most pins.
MSDC pins need special handling since they have PUPD/R1/R0 registers.
I2C pins need special handling since they have PU/PD/RSEL registers.
New groups are added for MSDC and I2C pins and the bias_set callback
is now set appropriately for all groups.
A new table is needed for the RSEL registers since those were missing.
Some new macros are introduced to avoid repeating the same info many
times in MTK_TYPED_PIN(). This also fixes the semantically incorrect
use of DRV_GRPX for the IO_TYPE_GRPX field.
David Lechner [Thu, 19 Mar 2026 20:00:20 +0000 (15:00 -0500)]
arm: mediatek: mt8518: remove call to fdtdec_setup_memory_banksize()
Remove an incorrect call to fdtdec_setup_memory_banksize() in
dram_init() for mt8518.
fdtdec_setup_memory_banksize() populates gd->bd->bi_dram[bank].start
and gd->bd->bi_dram[bank].size base on the "memory" node in the device
tree. However, calling it from dram_init() is too early because gd->bd
has not been allocated yet.
gd->bd->bi_dram[0].start and gd->bd->bi_dram[0].size are already
correctly initialized later in dram_init_banksize(), so we do not need
to replace the removed function call with anything else.
David Lechner [Thu, 19 Mar 2026 20:00:19 +0000 (15:00 -0500)]
arm: mediatek: mt8518: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt8518. This is
effectively the same as the default implementation, so we do not need
to override it.
David Lechner [Thu, 19 Mar 2026 20:00:18 +0000 (15:00 -0500)]
arm: mediatek: mt8516: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt8516. This is
effectively the same as the default implementation, so we do not need
to override it.
David Lechner [Thu, 19 Mar 2026 20:00:17 +0000 (15:00 -0500)]
arm: mediatek: mt8512: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt8512. This is
exactly the same as the default implementation, so we do not need to
override it.
David Lechner [Thu, 19 Mar 2026 20:00:16 +0000 (15:00 -0500)]
arm: mediatek: mt8365: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt8365. This is
effectively the same as the default implementation, so we do not need
to override it.
David Lechner [Thu, 19 Mar 2026 20:00:15 +0000 (15:00 -0500)]
arm: mediatek: mt8195: fix gd->ram_top limit
Fix the implementation of the gd->ram_top limit for mt8195.
The intention of the comment about MMC/DMA is correct, but the
implementation was wrong. gd->mon_len is set to the code size of U-Boot,
so trying to set it to limit gd->ram_top does not make sense.
Instead, there is already a get_effective_memsize() weak function that
we can override to implement the required limit on the usable memory
size. This is used to set gd->ram_top in setup_dest_addr().
The comment about the extra SZ_1M needing to be reserved is not correct
as U-Boot already takes care of this (with the actual size of U-Boot) in
the various board_f functions, so it is removed.
David Lechner [Thu, 19 Mar 2026 20:00:14 +0000 (15:00 -0500)]
arm: mediatek: mt8195: remove call to fdtdec_setup_memory_banksize()
Remove an incorrect call to fdtdec_setup_memory_banksize() in
dram_init() for mt8195.
fdtdec_setup_memory_banksize() populates gd->bd->bi_dram[bank].start
and gd->bd->bi_dram[bank].size base on the "memory" node in the device
tree. However, calling it from dram_init() is too early because gd->bd
has not been allocated yet.
gd->bd->bi_dram[0].start and gd->bd->bi_dram[0].size are already
correctly initialized later in dram_init_banksize(), so we do not need
to replace the removed function call with anything else.
David Lechner [Thu, 19 Mar 2026 20:00:13 +0000 (15:00 -0500)]
arm: mediatek: mt8195: check return value of fdtdec_setup_mem_size_base()
Check and propagate the return value of fdtdec_setup_mem_size_base() in
dram_init() for mt8195. This function could fail if the device tree is
malformed.
David Lechner [Thu, 19 Mar 2026 20:00:12 +0000 (15:00 -0500)]
arm: mediatek: mt8195: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt8195. This is
effectively the same as the default implementation, so we do not need
to override it.
David Lechner [Thu, 19 Mar 2026 20:00:11 +0000 (15:00 -0500)]
arm: mediatek: mt8188: fix gd->ram_top limit
Fix the implementation of the gd->ram_top limit for mt8188.
The intention of the comment about MMC/DMA is correct, but the
implementation was wrong. gd->mon_len is set to the code size of U-Boot,
so trying to set it to limit gd->ram_top does not make sense.
Instead, there is already a get_effective_memsize() weak function that
we can override to implement the required limit on the usable memory
size. This is used to set gd->ram_top in setup_dest_addr().
The comment about the extra SZ_1M needing to be reserved is not correct
as U-Boot already takes care of this (with the actual size of U-Boot) in
the various board_f functions, so it is removed.
David Lechner [Thu, 19 Mar 2026 20:00:10 +0000 (15:00 -0500)]
arm: mediatek: mt8188: remove call to fdtdec_setup_memory_banksize()
Remove an incorrect call to fdtdec_setup_memory_banksize() in
dram_init() for mt8188.
fdtdec_setup_memory_banksize() populates gd->bd->bi_dram[bank].start
and gd->bd->bi_dram[bank].size base on the "memory" node in the device
tree. However, calling it from dram_init() is too early because gd->bd
has not been allocated yet.
gd->bd->bi_dram[0].start and gd->bd->bi_dram[0].size are already
correctly initialized later in dram_init_banksize(), so we do not need
to replace the removed function call with anything else.
David Lechner [Thu, 19 Mar 2026 20:00:09 +0000 (15:00 -0500)]
arm: mediatek: mt8188: check return value of fdtdec_setup_mem_size_base()
Check and propagate the return value of fdtdec_setup_mem_size_base() in
dram_init() for mt8188. This function could fail if the device tree is
malformed.
David Lechner [Thu, 19 Mar 2026 20:00:08 +0000 (15:00 -0500)]
arm: mediatek: mt8188: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt8188. This is
effectively the same as the default implementation, so we do not need
to override it.
David Lechner [Thu, 19 Mar 2026 20:00:07 +0000 (15:00 -0500)]
arm: mediatek: mt8183: remove call to fdtdec_setup_memory_banksize()
Remove an incorrect call to fdtdec_setup_memory_banksize() in
dram_init() for mt8183.
fdtdec_setup_memory_banksize() populates gd->bd->bi_dram[bank].start
and gd->bd->bi_dram[bank].size base on the "memory" node in the device
tree. However, calling it from dram_init() is too early because gd->bd
has not been allocated yet.
gd->bd->bi_dram[0].start and gd->bd->bi_dram[0].size are already
correctly initialized later in dram_init_banksize(), so we do not need
to replace the removed function call with anything else.
David Lechner [Thu, 19 Mar 2026 20:00:06 +0000 (15:00 -0500)]
arm: mediatek: mt8183: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt8183. This is
effectively the same as the default implementation, so we do not need
to override it.
David Lechner [Thu, 19 Mar 2026 20:00:05 +0000 (15:00 -0500)]
arm: mediatek: mt7988: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt7988. This is
effectively the same as the default implementation, so we do not need
to override it.
David Lechner [Thu, 19 Mar 2026 20:00:04 +0000 (15:00 -0500)]
arm: mediatek: mt7987: drop dram_init_banksize()
Drop override of dram_init_banksize() weak function for mt7987. This is
effectively the same as the default implementation, so we do not need
to override it.
Peter Robinson [Mon, 6 Apr 2026 17:28:00 +0000 (18:28 +0100)]
Add an initial CONTRIBUTE.rst
Add a contributors file to provide a high level overview
for people who wish to contribute to the project outlining
basic details and setting some project expectations.
This isn't intended to replace any of the existing documentation
but rather provide a succinct top level document that's easy
to find to enable users to understand the project and get
started as quickly as possible.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
[trini: Correct merge window length, release day and typo in the main
index] Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sun, 5 Apr 2026 15:10:21 +0000 (09:10 -0600)]
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Two trivial fixes for 2026.04 , one fix for possible NULL pointer
dereference which was not triggered thus far but got detected on Gen5
RSIP, and one basic disablement of SCIF1 in DT to which a driver was
never bound. But it would be nice to have them corrected.
Disable incorrectly enabled SCIF1 in Renesas R-Car X5H R8A78000 SoC DT.
The SCIF1 should be enabled on board DT level in case it is needed, but
should be disabled in SoC DT by default. This had no adverse effect on
the currently upstream platforms, because those managed to probe only
the HSCIF0 device and SCIF1 was ignored.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Marek Vasut [Wed, 25 Mar 2026 01:09:05 +0000 (02:09 +0100)]
net: rswitch: Avoid NULL pointer dereference during PHY access
At the very early stage when PHY ID is being auto-detected, the
PHY device is not yet instantiated and rswitch_etha .phydev is
still NULL. Add missing check for this condition and perform C22
fallback access in this PHY ID auto-detection case.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>