summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-13arm: mach-sc5xx: Remove manual bss_clearGreg Malysa
The arm library includes an implementation of bss_clear that is already called from crt0.S. This re-clearing of BSS should not be performed in the machine code and should therefore be removed. Signed-off-by: Greg Malysa <malysagreg@gmail.com>
2025-02-28Merge patch series "boards: siemens: iot2050: SM variant, sysinfo support, ↵Tom Rini
fixes & cleanups" Baocheng Su <baocheng.su@siemens.com> says: This introduces a sysinfo driver which also permits SMBIOS support. The first 10 patches of v2 have already been applied. The remaining is solely the sysinfo driver. To maintain consistency and ease of searching through the history, the series title remains unchanged. Link: https://lore.kernel.org/r/20250218023614.52574-1-baocheng.su@siemens.com
2025-02-28board: siemens: iot2050: Use sysinfo for board initializationBaocheng Su
Drop the info structure parsing of the board in favor of our new sysinfo driver to avoid code duplication. Signed-off-by: Baocheng Su <baocheng.su@siemens.com> Signed-off-by: Li Hua Qian <huaqian.li@siemens.com> [Jan: rebasing, split-up, cleanup] Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2025-02-28sysinfo: Add driver for IOT2050 boardsBaocheng Su
This brings a sysinfo driver and DT entry for the IOT2050 board series. It translates the board information passed from SE-Boot to SPL into values that can be retrieved via the sysinfo API. Will is already used to fill the SMBIOS table when booting via EFI. Signed-off-by: Baocheng Su <baocheng.su@siemens.com> Signed-off-by: Li Hua Qian <huaqian.li@siemens.com> [Jan: split-off as separate patch, cleanup] Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2025-02-28sysinfo: Add SYSID_BOARD_RAM_SIZE_MBBaocheng Su
Add a new field SYSID_BOARD_RAM_SIZE_MB to sysinfo structure to store the size of RAM in MB. dram_init can use this field to get the RAM size via sysinfo driver. Signed-off-by: Baocheng Su <baocheng.su@siemens.com>
2025-02-28sysinfo: Add API for accessing data elementsBaocheng Su
This commit introduces a new API to the sysinfo module, allowing access to data elements. This is particularly useful for handling data with multiple instances, such as MAC addresses. Signed-off-by: Baocheng Su <baocheng.su@siemens.com>
2025-02-28smbios: Fill UUID from sysinfo when availableBaocheng Su
Allow for the sysinfo drivers to provide a system UUID to SMBIOS. Will be first used by the IOT2050 boards. Signed-off-by: Li Hua Qian <huaqian.li@siemens.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Baocheng Su <baocheng.su@siemens.com>
2025-02-28dma: ti: k3-udma: Avoid Memory leak issues during dma memcpyPrasanth Babu Mantena
During dma memcpy, bcdma descriptor gets allocated for each transaction and not freed after completion of that transaction. So, avoid the memory allocation for every transaction. Add one descriptor per dma device and allocate it once in resource setup. This descriptor can now be used for all dma memcpy transactions optimally. Signed-off-by: Prasanth Babu Mantena <p-mantena@ti.com>
2025-02-28serial: ns16550: Fix pointer type mismatchJ. Neuschäfer
serial_out_dynamic() takes a u8* addr and uses it for 8-bit or 32-bit accesses, depending on the value of plat->reg_width. This results in a pointer type mismatch that the compiler may even turn into an error: drivers/serial/ns16550.c: In function ‘serial_out_dynamic’: drivers/serial/ns16550.c:115:42: error: passing argument 1 of ‘out_be32’ from incompatible pointer type [-Wincompatible-pointer-types] 115 | out_be32(addr, value); | ^~~~ | | | u8 * {aka unsigned char *} This error was observed on PowerPC. Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
2025-02-28mtd: mtdpart: Support MTD_SIZE_REMAINING with unallocated memory areaAlexander Stein
If there is an unallocated memory area before the last, filling parting the size calculation for MTD_SIZE_REMAINING does not take this hole into account. Fix this by calculating the remaining size just based on total size and partition offset. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
2025-02-28Merge patch series "env: mmc: Make redundant env in both eMMC boot ↵Tom Rini
partitions consider DT properties" This series from Marek Vasut <marex@denx.de> clarifies and makes a bit more configurable the case of redundant environment storage using the eMMC boot partitions. Link: https://lore.kernel.org/r/20250221184732.202336-1-marex@denx.de
2025-02-28env: mmc: Clean up env_mmc_load() ifdefferyMarek Vasut
Rename the variants of env_mmc_load() for redundant and non-redundant environment to env_mmc_load_redundant() and env_mmc_load_singular() respectively and convert the env_mmc_load() implementation to use of if (IS_ENABLED(...)). As a result, drop __maybe_unused from mmc_env_is_redundant_in_both_boot_hwparts(). Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2025-02-28env: mmc: Make redundant env in both eMMC boot partitions consider DT propertiesMarek Vasut
Introduce a new function mmc_env_is_redundant_in_both_boot_hwparts() which replaces IS_ENABLED(ENV_MMC_HWPART_REDUND) and internally does almost the same check as the macro which assigned ENV_MMC_HWPART_REDUND did, and call it in place of IS_ENABLED(ENV_MMC_HWPART_REDUND). The difference compared to IS_ENABLED(ENV_MMC_HWPART_REDUND) is in the last conditional, which does not do plain macro compare (CONFIG_ENV_OFFSET == CONFIG_ENV_OFFSET_REDUND), but instead does mmc_offset(mmc, 0) == mmc_offset(mmc, 1). If OF_CONTROL is not in use, this gets optimized back to original macro compare, but if OF_CONTROL is in use, this also takes into account the DT properties u-boot,mmc-env-offset and u-boot,mmc-env-offset-redundant. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-02-27Merge tag 'u-boot-imx-next-20250227' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/24876 - Convert imx6q-lxr and imxrt1050 to OF_UPSTREAM. - Fix potential memory leak on ]imx/imx8/imx8m]image. - Restrict DDR_SI_TEST to only Siemens Capricorn board. - Fix CONFIG_BOOTCOUNT_ALTBOOTCMD on Data Modul and DH imx8m boards.
2025-02-27imx6q-lxr: Convert to OF_UPSTREAMFabio Estevam
The imx6q-lxr devicetree has landed in kernel 6.13. Switch to OF_UPSTREAM to make use of the upstream devicetree. Signed-off-by: Fabio Estevam <festevam@denx.de>
2025-02-27ARM: imx: Introduce DH i.MX6 DHSOM board specific defconfigsMarek Vasut
Move content of dh_imx6_defconfig into dh_imx6.config. Retain legacy dh_imx6_defconfig as multi-config for all DH i.MX6 DHSOM based boards. Introduce separate imx6_dhcom_drc02_defconfig, imx6_dhcom_pdk2_defconfig and imx6_dhcom_picoitx_defconfig for each i.MX6 DHSOM based board, to make build for those boards easier. No functional change. Signed-off-by: Marek Vasut <marex@denx.de>
2025-02-27ARM: imx: Fix CONFIG_BOOTCOUNT_ALTBOOTCMD duplication on DH i.MX8MP DHCOMMarek Vasut
Deduplicate the config files again, move CONFIG_BOOTCOUNT_ALTBOOTCMD into common imx8mp_dhsom.config . Fixes: 940135eea5df ("Kconfig: Move CONFIG_BOOTCOUNT_ALTBOOTCMD to Kconfig") Signed-off-by: Marek Vasut <marex@denx.de>
2025-02-27ARM: imx: Fix CONFIG_BOOTCOUNT_ALTBOOTCMD duplication on Data Modul i.MX8M ↵Marek Vasut
eDM SBC Deduplicate the config files again, move CONFIG_BOOTCOUNT_ALTBOOTCMD into common imx8m_data_modul.config . Fixes: 940135eea5df ("Kconfig: Move CONFIG_BOOTCOUNT_ALTBOOTCMD to Kconfig") Signed-off-by: Marek Vasut <marex@denx.de>
2025-02-27ARM: imx: Fix CONFIG_BOOTCOUNT_ALTBOOTCMD update on Data Modul i.MX8M Mini ↵Marek Vasut
eDM SBC The environment is missing quotes for string variable, add them. Fixes: 940135eea5df ("Kconfig: Move CONFIG_BOOTCOUNT_ALTBOOTCMD to Kconfig") Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-02-27tools: imx8mimage: Fix potential memory leakMaks Mishin
Dynamic memory, referenced by 'line', is allocated at imx8mimage.c:187 by calling function 'getline' and lost at imx8mimage.c:210. Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>
2025-02-27tools: imx8image: Fix potential memory leakMaks Mishin
Dynamic memory, referenced by 'line', is allocated at imx8image.c:270 by calling function 'getline' and lost at imx8image.c:294. Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>
2025-02-27tools: imximage: Fix potential memory leakMaks Mishin
Dynamic memory, referenced by 'line', is allocated at imximage.c:761 by calling function 'getline' and lost at imximage.c:793. Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>
2025-02-27siemens: common: Make DDR_SI_TEST depend on TARGET_CAPRICORNLiya Huang
The DDR_SI_TEST config option is only relevant to the i.MX8 Capricorn board. Make DDR_SI_TEST depend on DDR_SI_TEST so that it does not show up on other targets. Signed-off-by: Liya Huang <1425075683@qq.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2025-02-27ARM: dts: imxrt1050: Migrate to OF_UPSTREAMJesse Taube
The device tree for imxrt1050 is now available in the /dts/upstream directory. Migrate board to use OF_UPSTREAM. Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2025-02-26Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-sh ↵Tom Rini
into next bbmiiphy clean up and DM alignment, finally gets rid of the static bbmiiphy variables and plugs bbmiiphy into MDIO framework.
2025-02-26net: miiphybb: Drop bb_miiphy_buses and bb_miiphy_buses_numMarek Vasut
Neither bb_miiphy_buses nor bb_miiphy_buses_num are used anymore. Drop both of them. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26net: sh_eth: Drop use of miiphy_get_dev_by_name()Marek Vasut
Instead of doing another lookup, trivially access the struct mii_dev embedded in struct bb_miiphy_bus . No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: ravb: Drop use of miiphy_get_dev_by_name()Marek Vasut
Instead of doing another lookup, trivially access the struct mii_dev embedded in struct bb_miiphy_bus . No functional change. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26arm: mvebu: a38x: Drop use of miiphy_get_dev_by_name()Marek Vasut
Instead of doing another lookup, trivially access the struct mii_dev embedded in struct bb_miiphy_bus . No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: miiphybb: Drop name field from struct bb_miiphy_busMarek Vasut
The struct bb_miiphy_bus embeds struct struct mii_dev, which already contains one copy of name field. Drop the duplicate top level copy of name field. The a38x code does static assignment of disparate names, use snprintf(...) to fill in matching name in probe to avoid any breakage. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26net: miiphybb: Use container_of() in bb_miiphy_getbus()Marek Vasut
Replace the name based look up in bb_miiphy_getbus() with trivial container_of() call. This works because the struct bb_miiphy_bus always embeds the matching struct mii_dev . This also makes the code much simpler and more efficient. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26net: designware: Allocate bb_miiphy using bb_miiphy_alloc() and fill in ↵Marek Vasut
callbacks Allocate bb_miiphy using bb_miiphy_alloc() and fill in callbacks currently listed in bb_miiphy_buses[] array. This is a temporary duplication of assignment to avoid breakage, which will be removed in follow up patches. At this point, the bb_miiphy callbacks can reach these accessors by doing container_of() on struct mii_dev. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: sh_eth: Allocate bb_miiphy using bb_miiphy_alloc() and fill in callbacksMarek Vasut
Allocate bb_miiphy using bb_miiphy_alloc() and fill in callbacks currently listed in bb_miiphy_buses[] array. This is a temporary duplication of assignment to avoid breakage, which will be removed in follow up patches. At this point, the bb_miiphy callbacks can reach these accessors by doing container_of() on struct mii_dev. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: ravb: Allocate bb_miiphy using bb_miiphy_alloc() and fill in callbacksMarek Vasut
Allocate bb_miiphy using bb_miiphy_alloc() and fill in callbacks currently listed in bb_miiphy_buses[] array. This is a temporary duplication of assignment to avoid breakage, which will be removed in follow up patches. At this point, the bb_miiphy callbacks can reach these accessors by doing container_of() on struct mii_dev. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26arm: mvebu: a38x: Allocate bb_miiphy using bb_miiphy_alloc() and fill in ↵Marek Vasut
callbacks Allocate bb_miiphy using bb_miiphy_alloc() and fill in callbacks currently listed in bb_miiphy_buses[] array. This is a temporary duplication of assignment to avoid breakage, which will be removed in follow up patches. At this point, the bb_miiphy callbacks can reach these accessors by doing container_of() on struct mii_dev. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: miiphybb: Introduce bb_miiphy_alloc()/bb_miiphy_free() wrappersMarek Vasut
Introduce bb_miiphy_alloc()/bb_miiphy_free() wrappers to allocate and free struct bb_miiphy_bus. Make struct bb_miiphy_bus wrap struct mii_dev, which will become useful later in bb_miiphy_bus accessors, which would be able to access struct bb_miiphy_bus using container_of, even if the PHY stack only passes in the inner struct mii_dev . Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26net: miiphy: Introduce mdio_init()Marek Vasut
Introduce mdio_init() split off from mdio_alloc(), which is used to initialize already allocated struct mii_dev. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26net: designware: Extract bbmiiphy initialization into dedicated functionMarek Vasut
Pull the bbmiiphy initialization code from designware_eth_probe() into dedicated function, dw_bb_mdio_init(), just like all the other MDIO initialization functions. Keep check for "snps,bitbang-mii" in the designware_eth_probe(), so the driver can initialize this MDIO only in case the property is present, and initialize regular DW MDIO in case it is not present. The dw_bb_mdio_init() allocates its own MDIO instance, because thus far code gated behind "snps,bitbang-mii" did depend on allocation of MDIO bus by the other two MDIO bus options and then rewrote the newly allocated MDIO bus callbacks, which is wrong, instead allocate proper MDIO bus with the correct callbacks outright. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: designware: Drop bus indexMarek Vasut
There is literally one single bbmiiphy bus in this driver, remove the bus index handling. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: miiphybb: Drop bb_miiphy_init() and .init callbackMarek Vasut
The .init callback is not called by any function, drop it. There are no more users of the init callback, drop the entire mechanism. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26arm: mvebu: a38x: Call bb_miiphy init directly in driver probeMarek Vasut
All the resources needed by this .init callback should already be available by the time probe function runs, simply call the init callback directly and set the bb_miiphy init callback to NULL. This shouldn't break anything on this hardware, but would be nice if someone could double-check and test that. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: designware: Reorder bb_miiphy functionsMarek Vasut
Move the bb_miiphy functions before MDIO registration. This is a preparatory patch, the functions will be referenced around the MDIO registration in the follow up patches. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26arm: mvebu: a38x: Reorder bb_miiphy functionsMarek Vasut
Move the bb_miiphy functions before MDIO registration. This is a preparatory patch, the functions will be referenced around the MDIO registration in the follow up patches. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: sh_eth: Reorder bb_miiphy functionsMarek Vasut
Move the bb_miiphy functions before MDIO registration. This is a preparatory patch, the functions will be referenced around the MDIO registration in the follow up patches. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-02-26net: ravb: Reorder bb_miiphy functionsMarek Vasut
Move the bb_miiphy functions before MDIO registration. This is a preparatory patch, the functions will be referenced around the MDIO registration in the follow up patches. No functional change. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26net: designware: Drop NULL priv assignmentMarek Vasut
This is unnecessary, the unset structure member is initialized to NULL by default, drop the assignment. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26net: sh_eth: Drop empty init callbackMarek Vasut
The init function does nothing, the bb_miiphy_init() already checks whether the .init callback is assigned, and if not, skips calling it. Remove the empty init function. The entire init callback will be removed in follow up patches. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-26net: ravb: Drop empty init callbackMarek Vasut
The init function does nothing, the bb_miiphy_init() already checks whether the .init callback is assigned, and if not, skips calling it. Remove the empty init function. The entire init callback will be removed in follow up patches. Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-02-25Merge patch series "Remove "saveenv" functionality from am57xx evms"Tom Rini
Anurag Dutta <a-dutta@ti.com> says: Previously saved environment introduce discrepancies and may lead to incompatibilities without default settings. This series removes the saved environment functionality on am57xx evms so that the default configuration is always loaded Test result: https://gist.github.com/anuragdutta731/b253ddb0a5538ab6588a3535d7bbecf7 Link: https://lore.kernel.org/r/20250208043938.52832-1-a-dutta@ti.com
2025-02-25configs: am57xx: Remove saved environmentsAnurag Dutta
Saved environments lead to inconsistencies leading to conflicts with the default environment that U-boot should update during development. Remove the previously saved environment so that the default environment is always loaded. Signed-off-by: Anurag Dutta <a-dutta@ti.com>