summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-13Tegra30: Add funcmux for UART over SD slotJonas Schwöbel
Tegra 3 has UART-E exposable via SD card slot which may be handy for debugging. This change only adds funcmux part, to use UART-E on the device you additionally would need: - set stdout-path to serial@70006400 (uarte) - configure sdmmc1_dat3_py4 and sdmmc1_dat2_py5 pinmux for uarte - disable or remove sdhci@7800000 node - enable CONFIG_TEGRA_ENABLE_UARTE in defconfig - set CFG_SYS_NS16550_COM to NV_PA_APB_UARTE_BASE in device header Signed-off-by: Jonas Schwöbel <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2024-10-13board: tegra: convert boards to text envSvyatoslav Ryhel
Convert boards to use text based env. This is the first stage of conversion, common inclusions should be converted next. Acked-by: Francesco Dolcini <[email protected]> # Toradex Apalis TK1 Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2024-10-13disk: add TegraPT supportSvyatoslav Ryhel
TegraPT is compatible with EFI part but it can't pass Protective MBR check. Skip this check if CONFIG_TEGRA_PARTITION is enabled, storage uclass is MMC and devnum is 0. Note, eMMC on supported devices MUST be aliased to mmc0. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2024-10-13clk: imx8mp: Add i.MX8MP Dummy clkPeng Fan
i.MX8MP SDHC use CLK_IMX8MP_DUMMY clk entry. Without the clk, the bulk api will return failure. The correct entry should be replaced with IMX8MP_IPG_ROOT clk in device tree. This will be done in Kernel device tree and sync to U-Boot in future: https://lore.kernel.org/all/[email protected]/ Fixes: 76332fae769 ("mmc: fsl_esdhc_imx: Enable AHB/IPG clk with clk bulk API") Reported-by: Gilles Talis <[email protected]> Tested-by: Gilles TALIS <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2024-10-13arm64: imx: imx8mp-debix-model-a: Migrate to OF_UPSTREAMGilles Talis
Device tree for this board can be deleted. Device tree location now points to the freescale/ directory. Use absolute path to PMIC node entry and its regulators as device tree in kernel does not provide corresponding labels Signed-off-by: Gilles Talis <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2024-10-13imx8: Correct the SCU API return value checkPeng Fan
The SCU API alreay has been converted to return Linux error code, using SCU error code is not correct here, although SC_ERR_NONE is value as 0. Signed-off-by: Peng Fan <[email protected]>
2024-10-13binman: add fast authentication method for i.MX8M signingBrian Ruley
Using the PKI tree with SRKs as intermediate CA isn't necessary or even desirable in some situations (boot time, for example). Add the possibility to use the "fast authentication" method where the image and CSF are both signed using the SRK [1, p.63]. [1] https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors/202591/1/CST_UG.pdf Signed-off-by: Brian Ruley <[email protected]> Cc: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-10-13binman: cosmetic: refactor `nxp_imx8mcst' etype codeBrian Ruley
Simplify code and conform to the style guide used in the project by making the following changes: * Capitalize global constants * Use single quotes for multiline strings (except docstrings) * Fix line width to 79 cols * Use f-string instead of formatting a regular string or using a complicated concatenation * Move common suffix used in keys to a global variable "KEY_NAME" to reduce the likelihood of typos and making future changes easier Signed-off-by: Brian Ruley <[email protected]> Cc: Marek Vasut <[email protected]>
2024-10-13ARM: imx: Update MAINTAINERS file globs for i.MX8MP DHSOMMarek Vasut
Update the MAINTAINERS file glob to cover all of i.MX8MP DHSOM related files. Signed-off-by: Marek Vasut <[email protected]>
2024-10-13ARM: imx: Update MAINTAINERS file globs for i.MX6 DHSOMMarek Vasut
Update the MAINTAINERS file glob to cover all of i.MX6 DHSOM related files. Signed-off-by: Marek Vasut <[email protected]>
2024-10-13misc: fuse: Update fuse driverYe Li
When OSCCA is enabled, FSB fuse shadow (offset 0x8000) access is disabled for SOC. So update the driver to read fuse from ELE API. The ELE has supported to read all shadow fuses like FSB, reuse the table of FSB for the word index used by ELE API. Add ELE shadow fuse read and write to current ELE fuse driver. But when LC is OEM closed, the ELE read/write shadow fuse APIs are forbidden. Reading from any fuse will return error. This causes problem to u-boot which must read out some fuse no matter whatever LC. So we have to change back to read from FSB and ELE common fuse read API. For using ELE shadow read API for development purpose like checking the ELE shadow fuse write result, user can set env variable "enable_ele_shd" to y to switch it. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2024-10-13misc: fuse: Fix FSB redundancy fuse word check and clear resYe Li
There is a bug when checking fuse word with redundancy fuse in FSB table. The redundancy fuses are combined into 4 words, so we can't directly use word index to do the check, otherwise the high 4 words will fail to match. And When calling ELE API, res parameter will pass to ELE API to get ELE response value for failure. So most of usage does not initialize this variable and print it after calling ELE API. However, when ELE API returns failure, we can't ensure this res is always set because there may be other failure like MU failure. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2024-10-13misc: ele_api: Add read/write shadow fuse APIsYe Li
Add ELE APIs to support read and write shadow fuses Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2024-10-13misc: ele_api: Update ELE read common fuse APIPeng Fan
On iMX8ULP, the word index 1 is used to read OTP_UNIQ_ID with 4 words data responsed. However this special index does not apply others. So restrict the check to i.MX8ULP to avoid problem when reading from fuse word 1 for others, such as i.MX93. Also update header order Signed-off-by: Peng Fan <[email protected]>
2024-10-13misc: ele_mu: Clear RR when initialize MUPeng Fan
When OS is doing ELE API call, before OS get the response, OS is force reseted, then it is possible that MU RR has data during initialization in SPL stage. So clear the RR registers, otherwise SPL ELE API call will work abnormal. Cc: Alice Guo <[email protected]> Cc: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2024-10-13misc: ele_mu: Update ELE MU to get TR/RR number from HWYe Li
The MU parameter register can provide the TR and RR number. For i.MX95 which has 8 RR is different with i.MX93 and i.MX8ULP, so update the driver to read the PAR for exact TR and RR number. Also update compatible string for i.MX95 ELE MU. Cc: Alice Guo <[email protected]> Cc: Marek Vasut <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]>
2024-10-12board: bcm96846: Switch to using OF_UPSTREAMLinus Walleij
This board clearly develops first in Linux which had more hardware listed, so let's start to use OF_UPSTREAM. This makes the NAND driver work. Suggested-by: Neil Armstrong <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2024-10-12board: bcm96846: Enable NAND optionsLinus Walleij
This adds reasonable NAND options to the BCM96846 reference design: - CMD_NAND, MTD_RAW_NAND - Disable SYS_NAND_ONFI_DETECTION as this just give error messages - MTD, MTDPARTS with DM and related config options - CMD_UBI and CMD_UBIFS as this is likely used with ubi/ubifs What I didn't add was something like the following: CONFIG_MTDPARTS_DEFAULT="nand0:256k(cfi),257024k(image)" Because I don't actually have a BCM96846 reference design. These are only available to Broadcom and their customers I think, but perhaps the people at Broadcom can provide the detail of the flash layout for BCM96846 so we can add this too so the bcm96846_config is usable out of the box. Signed-off-by: Linus Walleij <[email protected]>
2024-10-12drivers: nand: bcmbca: Enable on BCM6846Linus Walleij
The BCM6846 has the BRCMBCA NAND controller so enable it. Reviewed-by: Michael Trimarchi <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2024-10-12mtd: rawnand: brcmnand: Add BCMBCA RAW NAND driverLinus Walleij
The Broadcom BCA platforms are broadband access SoCs. This is a port of the upstream Linux driver to U-Boot. It was based on drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c from Linux v6.11. Reviewed-by: Michael Trimarchi <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2024-10-12mtd: nand: raw: atmel: Use ONFI ECC params if availableZixun LI
When ECC parameters are not specified in DT, first try ONFI ECC parameters before fallback to maximum strength. It's the Linux driver behavior since the driver rewriting in f88fc12. From then 2 nand system refactors have been done in 6a1b66d6 and 53576c7b, chip->ecc_strength_ds and chip->ecc_step_ds became nanddev_get_ecc_requirements(). U-Boot didn't follow the refactor and always use these 2 fields. v2: Fix formatting, add upstream commit hash. Signed-off-by: Zixun LI <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]> Acked-by: Balamanikandan Gunasundar
2024-10-11Merge patch series "Tidy up use of 'SPL' and CONFIG_SPL_BUILD"Tom Rini
Simon Glass <[email protected]> says: 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. The series is fully bisectable. It has also been checked to ensure there are no code-size changes on any commit.
2024-10-11qconfig: Update tool for new Makefile variablesSimon Glass
Take account of the new XPL_ and PHASE_ instead of the old SPL_ and SPL_TPL_ Signed-off-by: Simon Glass <[email protected]>
2024-10-11spl: Rename SPL_TPL_NAME and SPL_TPL_PROMPTSimon Glass
Rename these to use the word PHASE instead. Signed-off-by: Simon Glass <[email protected]>
2024-10-11global: Rename SPL_TPL_ to PHASE_Simon Glass
Use PHASE_ as the symbol to select a particular XPL build. This means that SPL_TPL_ is no-longer set. Update the comment in bootstage to refer to this symbol, instead of SPL_ Signed-off-by: Simon Glass <[email protected]>
2024-10-11global: Rename SPL_ to XPL_Simon Glass
Use XPL_ as the symbol to indicate an SPL build. This means that SPL_ is no-longer set. Signed-off-by: Simon Glass <[email protected]>
2024-10-11kconfig: binman: Check for SPL instead of XPLSimon Glass
Now that SPL means SPL (only) and is not defined for other phases, update kconfig rules. This is done in one patch since otherwise many Binman tests fail. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Define CONFIG_SPL_BUILD only for the SPL buildSimon Glass
Make this define mean SPL only, not TPL, VPL, etc. Signed-off-by: Simon Glass <[email protected]>
2024-10-11global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Complete this rename for all directories outside arch/ board/ drivers/ and include/ Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-10-11include: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-10-11drivers: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-10-11board: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-10-11arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-10-11doc: Update init docs for the xPL changesSimon Glass
Update the documentation here to cover the meaning of xPL Signed-off-by: Simon Glass <[email protected]>
2024-10-11doc: Move init-related things out of READMESimon Glass
Move this section to rst, changing it just enough so that it builds. Signed-off-by: Simon Glass <[email protected]>
2024-10-11README: Drop SoC-specific comment about SPLSimon Glass
This should not be in the generic README file, so drop it. Signed-off-by: Simon Glass <[email protected]>
2024-10-11doc: Update SPL docs for the xPL changesSimon Glass
Update the various references to SPL in this document. Make sure to refer to 'phases' instead of 'stages', which is not a U-Boot term. Fix a few U-boot typos and try to improve grammar a little while we are here. Signed-off-by: Simon Glass <[email protected]>
2024-10-11log: global: Rename warn_non_spl()Simon Glass
This should now refer to xPL rather than SPL, so update it throughout the tree. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Rename spl_phase_prefix() and spl_phase_name()Simon Glass
Use simpler names for these functions. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Rename spl_next_phase() and spl_prev_phase()Simon Glass
Rename this to use the xpl prefix. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Add a function to indicate when in xPLSimon Glass
Add the opposite function to not_xpl() for completeness. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Rename spl_in_proper() to not_xpl()Simon Glass
Give this function a slightly easier name. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Rename spl_phase() to xpl_phase()Simon Glass
Rename this function to indicate that it refers to any xPL phase. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Rename spl_phase to xpl_phase_tSimon Glass
This name fits better with the new naming scheme, so update it. Signed-off-by: Simon Glass <[email protected]>
2024-10-11xpl: Rename u_boot_first_phase to xpl_is_first_phase()Simon Glass
This is a better name for this function, so update it. Tidy up the function comment to mention VPL. Signed-off-by: Simon Glass <[email protected]>
2024-10-11qconfig: Add XPL_BUILD to ignored symbolsSimon Glass
This now appears in the code base, so add it to the list of ignored symbols in qconfig Signed-off-by: Simon Glass <[email protected]>
2024-10-11scripts: Define CONFIG_XPL_BUILD for all xPL buildsSimon Glass
The new name 'xPL' is intended to indicate a build of any phase which is not U-Boot proper. Define it for all such phases. Note that we also define CONFIG_SPL_BUILD for all xPL builds. This preserves existing behaviour, but future patches will adjust that. Signed-off-by: Simon Glass <[email protected]>
2024-10-11scripts: Add some comments about autoconf.mkSimon Glass
Now that the conversion of all CONFIG options to Kconfig is complete, these files only contain the xPL_BUILD defines. Add a comment to make this clear. Signed-off-by: Simon Glass <[email protected]>
2024-10-11scripts: Rename Makefile.spl to Makefile.xplSimon Glass
Rename this file to indicate that it refers to any non-U-Boot-proper phase, not just SPL, which is the phase immediately before U-Boot proper. Signed-off-by: Simon Glass <[email protected]>
2024-10-11stdio: Make use of the SERIAL defineSimon Glass
This is always enabled for U-Boot proper, so simplify the condition in the common Makefile. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>