summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-13spl: Use CONFIG_VAL() to obtain the SPL stackSimon Glass
Now that we have the same option for SPL and TPL, simplify the logic for determining the initial stack. Note that this changes behaviour as current SPL_STACK is a fallback for TPL. However, that was likely unintended and can be handled with Kconfig defaults if needed. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Suggested-by: Tom Rini <trini@konsulko.com>
2025-03-13spl: Add an SPL_HAVE_INIT_STACK optionSimon Glass
At present there is a hex value SPL_STACK which both determines whether SPL has its own initial stack and the hex value of that stack. Split off the former into SPL_HAVE_INIT_STACK with SPL_STACK depending on that and only providing the latter. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Resync defconfig files]
2025-03-13tpl: Rename TPL_NEEDS_SEPARATE_STACK to TPL_HAVE_INIT_STACKSimon Glass
The most common word for features that make a platform work is to use 'HAVE_xxx'. Rename this option to match. Update the help to use the word 'phase' rather than 'stage', since that is the current terminology. Also clarify that, absent this setting, the stack pointer generally comes from the value used by U-Boot proper, rather than SPL. Move the option just above TPL_STACK which depends on it. Signed-off-by: Simon Glass <sjg@chromium.org>
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>
2025-02-25configs: am57xx_hs: Remove saved environmentsAnurag Dutta
Saved environments cause 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>
2025-02-25Merge tag 'u-boot-socfpga-next-20250225' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-socfpga into next CI: https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/24816 Please pull the SoCFPGA changes for next from u-boot-socfpga, containing boot support for the Altera SoCFPGA Agilex 5 platform in U-Boot. The changes include: 1. Board-specific configurations and setup required to enable Agilex 5 operation in U-Boot. 2. Integration of cache coherency unit (CCU) initialization routine, including CCU conguration in DT. 3. Clock, firewall (configured in DT), SMMU, low level initialization specific to Agilex 5. 4. Integration of memory initialization routine, including DDR setup. This patch set has been tested on Agilex 5 devkit with QSPI boot (UBI/UBIFS) and RAM boot (TFTP & ARM DS debugger).
2025-02-25configs: agilex5: Enable watchdog autostartAlif Zakuan Yuslaimi
Automatically start watchdog timer for Agilex5. This configuration is enabled by default in the Kconfig, hence removing this configuration from Agilex5 defconfig. Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-02-25configs: socfpga: soc64: agilex5: Enable QSPI boot with UBI / UBIFSAlif Zakuan Yuslaimi
Add the required configuration in the U-Boot env to enable Linux QSPI boot with UBI / UBIFS. Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-02-25arm: socfpga: soc64: Add support for board_boot_order()Tien Fong Chee
Add board_boot_order() to retrieve the list of boot devices from spl-boot-order property in device tree. This board_boot_order() would be used for all Intel SOC64 devices. Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-02-25configs: socfpga: soc64: agilex5: Enable XGMACTien Fong Chee
Enable XGMAC for SoCFPGA Agilex5 devkit. Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-02-25configs: socfpga: soc64: agilex5: Use common ARMv8 linker scriptAlif Zakuan Yuslaimi
Use default common ARMv8 linker script instead of a separate SoC64 linker script Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
2025-02-25arm: armv8: Improve SPL data save and restore implementationAlif Zakuan Yuslaimi
Introduce a new symbol in the beginning of .data section in the common ARMv8 linker script and use that as a reference for data save and restore. Previously, the code would rely on calculating the start of the .data section address via data size, however, we observed that the data size does not really reflect the SPL mapped addresses. In our case, the binman_sym section size was not included in the data size, which will result in a wrong address for the .data start section, which prevents us from properly saving and restoring SPL data. This approach skips the calculation for the starting address of the .data section, and instead just defines the beginning address of the .data section and calling the symbol as needed, in which we think as a simpler and much more robust method. Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-02-25arm: socfpga: agilex5: Add SPL for Agilex5 SoCFPGATien Fong Chee
Add SPL support for Agilex5 SoCFPGA. Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-02-25ddr: altera: Add DDR driver for Agilex5 seriesTingting Meng
Adding DDR driver support for Agilex5 series. Signed-off-by: Tingting Meng <tingting.meng@altera.com>