summaryrefslogtreecommitdiff
path: root/board
AgeCommit message (Collapse)Author
8 dayssata: Rework the CMD_SATA and SATA symbolsTom Rini
Today we typically enable CMD_SATA in order to have the SATA functionality itself enabled, despite there being a clean split between the two symbols. This in turn leads to potential configuration problems. Split things so that SATA continues to be separate and not CMD_SATA instead depends, functionally, on AHCI being enabled. To do all of this: - Have X86 select AHCI directly rather than "default y" it later. - Make CMD_SATA be a default y option, given the split of platforms that enabled SATA and did, or did not, enable CMD_SATA. - Change "imply CMD_SATA" to "imply SATA" - Correct TARGET_VEXPRESS64_JUNO because you cannot select SATA_SIL without PCI (and in turn, SATA is needed for SATA_SIL). - Update a number of defconfigs to have no functional change. Signed-off-by: Tom Rini <[email protected]>
8 daysglobal: Audit Kconfig usage of PARTITION_TYPE_GUIDTom Rini
It is not functionally possible to use the code enabled by PARTITION_TYPE_GUID without having EFI_PARTITION be enabled as well. Not all users of the former had ensured that the latter was enabled however, so audit all current users and then as appropriate select or imply EFI_PARTITION as needed. Signed-off-by: Tom Rini <[email protected]>
9 daystqma6: remove board MAINTAINERSMax Merchel
All information is contained in the global MAINTAINERS or TQ board MAINTAINERS. Signed-off-by: Max Merchel <[email protected]>
9 daystq: add TQ board MAINTAINERSMax Merchel
Add MAINTAINERS file containing board-specific information and the name of the board maintainer. Signed-off-by: Max Merchel <[email protected]>
9 daysarm64: imx8mp: Add 4G 1r DRAM timings on DH i.MX8MP DHCOM SoMMarek Vasut
Introduce timing patch which converts 2 GiB DRAM timings to 4 GiB 1-rank timings. This is a new configuration which carries IS43LQ32K01B DRAM part. The 512 MiB SoM strapping that was never used is repurposed for this part. Signed-off-by: Marek Vasut <[email protected]>
9 daysarm64: imx8mp: Deduplicate 2G and 4G 2r DRAM timings on DH i.MX8MP DHCOM SoMMarek Vasut
The 2 GiB and 4 GiB 2-rank DRAM timings on i.MX8MP DHCOM are very similar. Instead of carrying around two copies of almost identical timing tables, implement a patch of the 2 GiB table to convert it into 4 GiB 2-rank table and pass the result to DRAM initialization code. This saves us 13640 Bytes in SPL, and frees up space for more DRAM initialization tables. Signed-off-by: Marek Vasut <[email protected]>
9 daysarm64: imx8mp: Deduplicate DRAM size tables on DH i.MX8MP DHCOM SoMMarek Vasut
The DRAM size tables are shared by SPL and U-Boot proper, deduplicate those tables into lpddr4_timing.h . No functional change. Signed-off-by: Marek Vasut <[email protected]>
9 daysarm64: imx8mp: Fold inline ECC into spl.c on DH i.MX8MP DHCOM SoMMarek Vasut
The inline ECC configuration is identical for 2 GiB DRAM variants and 4 GiB DRAM variants of the SoM, no matter the rank count. Fold the ECC configuration directly into spl.c to simplify the upcoming deduplication. No functional change. Signed-off-by: Marek Vasut <[email protected]>
9 daysimx8mp: icore-edimm2.2: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]>
9 daysimx8mp: libra-fpsc: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Yannic Moog <[email protected]> Reviewed-by: Teresa Remmet <[email protected]>
9 daysimx8mp: verdin: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Tested-by: Ernest Van Hoecke <[email protected]>
9 daysimx8mp: phyboard-pollux-rdk: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Yannic Moog <[email protected]> Reviewed-by: Teresa Remmet <[email protected]>
9 daysarm: dts: imx95-toradex-smarc: migrate to OF_UPSTREAMFranz Schnyder
Allow CONFIG_OF_UPSTREAM to receive automatic device tree updates for the Toradex SMARC iMX95. Remove the now obsolete device tree files: - imx95-toradex-smarc-dev.dts - imx95-toradex-smarc.dtsi Signed-off-by: Franz Schnyder <[email protected]>
9 dayslibrem5: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]>
9 dayso4-imx6ull-nano: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]>
9 daysmx6ullevk: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
9 daysmx6sxsabreauto: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
9 daysmx6sllevk: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
9 daysimx93_frdm: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]>
9 daysimx8ulp_evk: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
9 daysosm-s-mx93: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Frieder Schrempf <[email protected]>
9 daysengicam: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
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. Signed-off-by: Tom Rini <[email protected]>
9 daysboard: tqma6: update eMMC DSR handlingPaul Gerber
New SoM revision use series termination for eMMC signals while older do not. To prevent signal overshot on older revisions, DSR must be set and limited. The eMMC type is used to differentiate between revisions. Keep a table with all types, that are known to require DSR. Signed-off-by: Paul Gerber <[email protected]> Signed-off-by: Max Merchel <[email protected]>
9 daysboard: tqma6: use common TQ mmc functionMax Merchel
Add function from common mmc header and select TQ_COMMON_SDMMC Kconfig option for MBa6 Signed-off-by: Max Merchel <[email protected]>
9 daysboard/tq: Add common mmc APIMax Merchel
Reduce code duplication by adding a default implementation Signed-off-by: Max Merchel <[email protected]>
9 daysboard: tqma6: use common TQ baseboardPaul Gerber
Update functions to use the common baseboard header and select TQ_COMMON_BB Kconfig option for MBa6 and WRU4. While at it, remove empty implementations that are now covered by board/tq/common. Signed-off-by: Paul Gerber <[email protected]> Signed-off-by: Max Merchel <[email protected]>
9 daysboard/tq: Add common baseboard APIMarkus Niebel
TQMa6 and other SoMs from TQ-Systems GmbH need a baseboard. Therefore functionality of U-Boot board callbacks may be distributed between SoM and baseboard implementation. To prevent code duplication and boilerplate implement a baseboard specific API for TQ boards with weak defaults that can be filled out for baseboard implementations as needed. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
9 daysconfigs: tqma6: change to include tqma6.h in baseboard headersMax Merchel
The SoM (TQMa6) can be used on various baseboards. No modifications to the SoM files should be required to use the SoM on different baseboards. Therefore, include the SoM headers in the baseboard. Signed-off-by: Max Merchel <[email protected]>
9 daysboard: tqma6: change to use shareable tq environmentMax Merchel
Create tqma6 environment file and remove CFG_FEC_MXC_PHYADDR as it comes from device tree. Signed-off-by: Max Merchel <[email protected]>
9 daysboard: phytec: phycore-imx91-93: Add phyCORE-i.MX91 supportPrimoz Fiser
As the PHYTEC phyCORE-i.MX91 [1] is just another variant of the existing PHYTEC phyCORE-i.MX93 SoM but with i.MX91 SoC populated instead, add it to the existing board-code "phycore_imx93", and rename that board to "phycore_imx91_93" to reflect the dual SoCs support. While at it, also rename and change common files accordingly. This way i.MX91 and i.MX93 SoC variants of the phyCORE SoM share most of the code and documentation without duplication, while maintaining own device-tree and defconfigs for each CPU variant. Supported features: - 1GB LPDDR4 RAM - Debug UART - EEPROM - eMMC - Ethernet - SD-card - USB Product page SoM: [1] https://www.phytec.eu/en/produkte/system-on-modules/phycore-imx-91-93/ Signed-off-by: Primoz Fiser <[email protected]>
2026-03-27Merge tag 'xilinx-for-v2026.07-rc1-v2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze into next AMD/Xilinx/FPGA changes for v2026.07-rc1 v2 Kconfig: - Correct XILINX_TIMER entry - Rework TARGET_MICROBLAZE_GENERIC - Fix CPU_MICROBLAZE PVR logic - Remove non existing SPL_BINMAN_FDT i2c: - Wire pca9848 support spi/cadence-qspi: - Disable DAC mode - Do reset pulse net/gem: - Disable broadcast packets - Clear TXSR transfer complete - Add support for dma-coherent versal2: - Enable GIC600 support - Fix UFS distro boot wiring
2026-03-25Merge branch 'staging' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tegra into next
2026-03-23Merge patch series "DDR configuration refactor and 16GB dual-rank support"Tom Rini
Emanuele Ghidoli <[email protected]> says: From: Emanuele Ghidoli <[email protected]> This series refactors the DDR configuration handling for the Toradex Aquila AM69 board and adds support for a 16GB dual-rank memory configuration, while changing the HW_CFG pins value to DDR configurations mapping. Link: https://lore.kernel.org/r/[email protected]
2026-03-23board: toradex: aquila-am69: Add support for 16GB dual rank memory configurationEmanuele Ghidoli
Move the existing 16GB single-rank configuration to HW_CFG 0x03 and use the previous HW_CFG 0x01 value for the new 16GB dual-rank configuration. There is no hardware using the former 16GB single-rank configuration, so reuse the HW_CFG value for the new 16GB dual-rank configuration, which will be used in production. Signed-off-by: Emanuele Ghidoli <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2026-03-23board: toradex: aquila-am69: refactor memory configurationEmanuele Ghidoli
The memory controller configuration doesn't depend only on the memory size, so refactor the code to use the memory configuration read from the HW_CFG pin instead of the memory size. Additionally, make use of one header file for all the memory configurations. Signed-off-by: Emanuele Ghidoli <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2026-03-23include: env: ti: move board specific scripts out of ti_commonAnshul Dalal
bootcmd_ti_mmc had cpsw0_qsgmii_phyinit related scripts even though this was only relevant for the j721e/j7200 SoCs. This patch instead factors out those scripts into a generic 'board_init' which is called as part of bootcmd_ti_mmc. This allows boards to more easily add custom behaviour to the ti_mmc bootflow instead of having to modify the ti_common.env file. Signed-off-by: Anshul Dalal <[email protected]>
2026-03-23board/BuR/zynq: don't select non-existent SPL_BINMAN_FDTHeinrich Schuchardt
Symbol CONFIG_SPL_BINMAN_FDT does not exist. Don't select it. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Wolfgang Wallner <[email protected]> Tested-by: Wolfgang Wallner <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-03-22board: lg: star: make panel fix optionalSvyatoslav Ryhel
Currently, U-Boot fails with an FDT patching error if the LG Optimus 2X device tree lacks a panel node. Since the panel is optional hardware, patching should be optional as well. Fix this by allowing bootflow to continue if the panel node is missing. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-18Merge patch series "led: remove legacy API"Tom Rini
Quentin Schulz <[email protected]> says: This migrates the last user of the legacy LED API, IMX233-OLinuXino and net/bootp.c, to the modern LED framework. I do have concern about being able to use BOOTP in SPL? In which case, I should probably add an additional check on CONFIG_IS_ENABLED(LED) in addition to IS_ENABLED(CONFIG_LED_BOOT)? I haven't tested this as I do not own an IMX233-OLinuXino, so please give this a try if you own this device. Then, since there's no user left of this legacy API, it is entirely removed. Link: https://lore.kernel.org/r/[email protected]
2026-03-18led: remove legacy APIQuentin Schulz
No user of the legacy LED API anymore (except Sunxi with the PinePhone but that is now a Sunxi-specific implementation), so let's remove anything related. Signed-off-by: Quentin Schulz <[email protected]>
2026-03-18led: migrate last legacy LED user (olinuxino+net) to modern LED frameworkQuentin Schulz
This migrates the last user of the legacy LED API, IMX233-OLinuXino, to the modern LED framework. The current implementation does the following: - lit the LED when booting, - turn off the LED the moment a BOOTP packet is received, The first step is easily reproduced by using the /options/u-boot/boot-led property to point at the LED. Unfortunately, the boot-led is only lit by U-Boot proper at the very end of the boot process, much later than currently. We can however force the LED on whenever the GPIO LED driver is bound by marking the LED as default-state = "on", and this happens slightly before board_init() is called. We then do not need /options/u-boot/boot-led property for that anymore. However, the second step relies on /options/u-boot/boot-led and CONFIG_LED_BOOT being set to reproduce the same behavior and requires us to migrate net/bootp.c to the modern LED framework at the same time to keep bisectability. I couldn't figure out how to map CONFIG_LED_STATUS_BIT=778 to an actual GPIO on the SoC but according to the schematics[1] only one LED is present. I couldn't also map the SoC pin number to an actual GPIO from the IMX23 manual, but there's already one GPIO LED specified in the Device Tree so my guess is all of those are one and the same. This was only build tested as I do not own this device. [1] https://github.com/OLIMEX/OLINUXINO/blob/master/HARDWARE/iMX233-OLinuXino-Mini/1.%20Latest%20hardware%20revision/iMX233-OLINUXINO-MINI%20hardware%20revision%20E/iMX233-OLINUXINO-MINI_Rev_E.pdf Signed-off-by: Quentin Schulz <[email protected]>
2026-03-18Merge tag 'u-boot-imx-next-20260318' 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/29557 - Add support for i.MX952. - Add support for XPI1 on imx943_evk.
2026-03-18Merge branch 'master' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sunxi into next For once, replacing the legacy LED API with a more lean alternative, just for sunxi's SPL. IIUC, this would be one step closer to dropping this deprecated subsystem altogether. Also adding two DRAM cleanups for the A133 SoC. There is a third patch which requires some changes, will care about that later. Gitlab CI passed, and I booted that briefly on an A133 board and some board with a GPIO controlled power LED.
2026-03-18Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv ↵Tom Rini
into next CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/29548 - board: starfive: Add Xunlong OrangePi RV - board: starfive: Add VisionFive 2 Lite - board: beagle: Add BeagleV-Fire
2026-03-17riscv: Add support for BeagleV-FireJamie Gibbons
Bring U-Boot support for the BeagleV-Fire by adding a device tree and supporting board files etc. Signed-off-by: Jamie Gibbons <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2026-03-16imx94_evk: Get ownership of XSPI control registers protected by GMID in SPLYe Li
To gain access to certain registers that are protected by GMID, the SPL must release XSPI ownership to the current core. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-03-16liebherr: btt: Fix buffer overflow in board_fit_config_name_matchFrancois Berder
The maximum length of the board name is not 11 characters but 14: 11 bytes for the prefix + 3 bytes for the u8 + 1 NULL byte. Hence, this commit increases the size of the name buffer variable to 15. Also, this commit fixes the format specifier for the rev_id variable. Signed-off-by: Francois Berder <[email protected]>
2026-03-16board: nxp: imx952_evk: Add i.MX952 15x15 lpddr4x board supportPeng Fan
Add support for i.MX952 15x15 lpddr4x board support. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]>
2026-03-16imx95/imx94: Remove board_phys_sdram_size from each boardYe Li
Change to use default board_phys_sdram_size implementation in soc.c, which will call SM API to get DDR size. If board has special implementation for DDR size, then board_phys_sdram_size could be implemented in board file to override the default one in soc.c. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-03-16sunxi: remove usage of legacy LED APIQuentin Schulz
We are trying to get rid of the legacy LED API and PinePhone is one of the last ones requiring it. Unlike all other users of the legacy LED API, PinePhone is controlling the GPIO LED in SPL. Unfortunately, Sunxi doesn't enable DM support in SPL because of tight space constraints, so we cannot make use of the modern LED framework as that is based on DM_GPIO. Since PinePhone is the last user of this API, I'm moving the logic to Sunxi SPL code and will let this community decide how to handle this hot potato. The logic is extremely simplified as only one GPIO LED is currently controlled in SPL by PinePhone. No need for handling multiple LEDs or inverted polarity, let's keep it simple. This however allows us to use the modern LED framework once in U-Boot proper since this logic won't collide with the new framework. Since the only misc drivers that were compiled in SPL were guarded by CONFIG_LED_STATUS and CONFIG_LED_STATUS_GPIO, we can also disable CONFIG_SPL_DRIVERS_MISC (which does nothing anymore). This also saves some space for PinePhone in SPL and proper. Tested-by: Andre Przywara <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>