summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-06spl: Drop the switch() statement for OS selectionSimon Glass
This code is pretty ugly, with many #ifdefs There are quite a lot of IH_OS_U_BOOT values so the compiler struggles to create a jump table here. Also, most of the options are normally disabled. Change it to an else...if construct instead. Add an accessor for the spl_image field behind an #ifdef to avoid needing #ifdef in the C code. Signed-off-by: Simon Glass <[email protected]>
2023-10-06spl: Avoid #ifdef with CONFIG_SPL_PAYLOAD_ARGS_ADDRSimon Glass
Move the condition to the header file to improve readability. Signed-off-by: Simon Glass <[email protected]>
2023-10-06spl: Drop #ifdefs for BOARD_INIT and watchdogSimon Glass
Avoid using the preprocessor for these checks. Signed-off-by: Simon Glass <[email protected]>
2023-10-06spl: mx6: powerpc: Drop the condition on timer_init()Simon Glass
It doesn't make sense to have some boards do this differently. Drop the condition in the hope that the maintainers can figure out any run-time problems. This has been tested on qemu-ppce500 Signed-off-by: Simon Glass <[email protected]> Acked-by: Christophe Leroy <[email protected]>
2023-10-06spl: Avoid #ifdef with CONFIG_SPL_SYS_MALLOCSimon Glass
Use IF_ENABLED_INT() to avoid needing to use the preprocessor. Signed-off-by: Simon Glass <[email protected]>
2023-10-06spl: Rename SYS_SPL_ARGS_ADDR to SPL_PAYLOAD_ARGS_ADDRSimon Glass
Rename this so that SPL is first, as per U-Boot convention. Also add PAYLOAD_ since this is where in memory the parameters for the payload have been stored. Signed-off-by: Simon Glass <[email protected]>
2023-10-06spl: Use CONFIG_SPL... instead of CONFIG_..._SPL_...Simon Glass
We like to put the SPL first so it is clear that it relates to SPL. Rename various malloc-related options which have crept in, to stick to this convention. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Marcel Ziswiler <[email protected]> Reviewed-by: Martyn Welch <[email protected]> Reviewed-by: Svyatoslav Ryhel <[email protected]>
2023-10-05Merge https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
+ ae350: modify memory layout and target name + ae350: use generic RISC-V timer driver in S-mode + Support bootstage report for RISC-V + Support C extension exception command for RISC-V + Add Starfive timer support
2023-10-05Merge branch '2023-10-04-TI-dts-updates'Tom Rini
- Resync some TI K3 DTS files, to fix booting on them.
2023-10-04Merge tag 'dm-pull-4oct23' of https://source.denx.de/u-boot/custodians/u-boot-dmTom Rini
moveconfig: enhance output; rename to qconfig
2023-10-04arm: dts: k3-j721e: Sync with v6.6-rc1Neha Malcom Francis
Sync k3-j721e DTS with kernel.org v6.6-rc1. * Use mcu_timer0 defined in k3-j721e-mcu-wakeup.dtsi and remove timer0, we have its clocks set up in clk-data now * Remove hbmc node as support is buggy and needs to be fixed * Remove aliases and chosen node, use them from Kernel * Remove /delete-property/ and clock-frequency from sdhci, usbss, and mcu_uart nodes as we have them in clk and dev data * Remove dummy_clocks as they are not needed * Remove cpsw node as it is not required since it has been fixed in U-Boot * Remove pcie nodes, they are not needed * Remove mcu_i2c0 as it is used for tps659413 PMIC in j721e-sk for which support is not yet added * Change secproxy nodes to their Linux definitions * Remove overriding of ti,cluster-mode in MAIN R5 to default to lockstep mode same as Kernel * Retain tps6594 node as TPS6594 PMIC support is still under review in the Kernel [1], cleanup will be taken post its merge [1] https://lore.kernel.org/all/[email protected]/ Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Manorit Chawdhry <[email protected]>
2023-10-04arm: dts: k3-j721e-r5: Clean up inclusion hierarchyNeha Malcom Francis
Get rid of k3-j721e-r5-*-u-boot.dtsi as it is not necessary. Change the inclusion hierarchy to be as follows: k3-j721e-<board>.dts--- - -->k3-j721e-r5-<board>.dts - k3-j721e-<board>-u-boot.dtsi--- Reason for explicitly mentioning the inclusion of -u-boot.dtsi in code although it could've been automatically done by U-Boot is to resolve some of the dependencies that R5 file requires. Also remove duplicate phandles while making this shift as well as remove firmware-loader as it serves no purpose without "phandlepart" property. Signed-off-by: Neha Malcom Francis <[email protected]>
2023-10-04configs: j721e: Remove HBMC_AM654 configNeha Malcom Francis
Kernel commit d93036b47f35 ("arm64: dts: ti: k3-j721e-mcu_wakeup: Add HyperBus node") was merged to kernel without its dependent patch [1]. Similar fix is needed in U-Boot, and hbmc currently breaks boot. Till this gets fixed in U-Boot, disable the config by default so that the hbmc probe that happens in board/ti/j721e/evm.c will not take place and lead to boot failure. [1] https://lore.kernel.org/all/[email protected]/ Signed-off-by: Neha Malcom Francis <[email protected]>
2023-10-04drivers: firmware: ti_sci: Get SCI revision only if TIFS/SYSFW is upNeha Malcom Francis
When setting up boot media to load the TIFS binary in legacy boot flow (followed by J721E), get_timer() is called which calls dm_timer_init() which then gets the tick-timer: mcu_timer0. mcu_timer0 uses k3_clks (clock controller) and k3_pds (power controller) from the dmsc node that forces probe of the ti_sci driver of TIFS that hasn't been loaded yet! Running ti_sci_cmd_get_revision from the probe leads to panic since no TIFS and board config binaries have been loaded yet. Resolve this by moving ti_sci_cmd_get_revision to ti_sci_get_handle_from_sysfw as a common point of invocation for both legacy and combined boot flows. Before doing this, it is important to go through whether any sync points exist where revision is needed before ti_sci_get_handle_from_sysfw is invoked. Going through the code along with boot tests on both flows ensures that there are none. Signed-off-by: Neha Malcom Francis <[email protected]>
2023-10-04arm: mach-k3: j721e_init: Move clk_k3 probe before loading TIFSNeha Malcom Francis
When setting boot media to load the TIFS binary in legacy boot flow (followed by J721E), get_timer() is called which eventually calls dm_timer_init() to grab the tick-timer, which is mcu_timer0. Since we need to set up the clocks before using the timer, move clk_k3 driver probe before k3_sysfw_loader to ensure we have all necessary clocks set up before. Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Reviewed-by: Manorit Chawdhry <[email protected]>
2023-10-04arm: mach-k3: j721e: dev-data: Add mcu_timer0 IDNeha Malcom Francis
U-Boot uses mcu_timer0 as the tick-timer, so add it to device list. Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Manorit Chawdhry <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-10-04arm: dts: k3-am625-beagleplay: Fix BootNishanth Menon
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation. To fix this we mark all nodes in u-boot.dtsi as 'bootph-all'. [1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation") Reported-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Roger Quadros <[email protected]>
2023-10-04arm: dts: k3-am625-sk: Mark dependent nodes for pre-relocation phaseRoger Quadros
CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. main_conf is required for phy_gmii_sel. Mark them as 'bootph-all' so they are available in all pre-relocation phases. Fixes the below dts warnings: <stdout>: Warning (reg_format): /bus@f0000/syscon@100000/phy@4044:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (reg_format): /bus@f0000/ethernet@8000000/ethernet-ports/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (unit_address_vs_reg): /bus@f0000/syscon@100000: node has a unit name, but no reg or ranges property <stdout>: Warning (pci_device_reg): Failed prerequisite 'reg_format' <stdout>: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' <stdout>: Warning (simple_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (spi_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (avoid_default_addr_size): /bus@f0000/syscon@100000/phy@4044: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/syscon@100000/phy@4044: Relying on default #size-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/ethernet@8000000/ethernet-ports/port@1: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/ethernet@8000000/ethernet-ports/port@1: Relying on default #size-cells value <stdout>: Warning (avoid_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size' Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-10-04arm: dts: k3-am625-sk: Fix bootRoger Quadros
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation. To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'. [1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation") Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-10-04arm: dts: k3-am642-sk: Mark dependent nodes for pre-relocation phaseRoger Quadros
CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. Mark them as 'bootph-all' so they are available in all pre-relocation phases. Fixes below dts warnings: <stdout>: Warning (reg_format): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (unit_address_vs_reg): /bus@f4000/ethernet@8000000/mdio@f00: node has a unit name, but no reg or ranges property <stdout>: Warning (pci_device_reg): Failed prerequisite 'reg_format' <stdout>: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' <stdout>: Warning (simple_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (spi_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (avoid_default_addr_size): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1: Relying on default #size-cells value <stdout>: Warning (avoid_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (msi_parent_property): /bus@f4000/bus@48000000/dma-controller@485c0100:msi-parent: Could not get phandle node for (cell 0) <stdout>: Warning (msi_parent_property): /bus@f4000/bus@48000000/dma-controller@485c0000:msi-parent: Could not get phandle node for (cell 0) <stdout>: Warning (phys_property): /bus@f4000/ethernet@8000000/ethernet-ports/port@2:phys: Could not get phandle node for (cell 0) Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-10-04arm: dts: k3-am642-sk: Fix bootRoger Quadros
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation. To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'. Move cbass_mcu node to -r5-sk.dts as it is only required for R5 SPL. [1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation") Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-10-04arm: dts: k3-am64-evm: Mark dependent nodes for pre-relocation phaseRoger Quadros
CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. USB and MMC nodes need pinmux. Mark them as 'bootph-all' so they are available in all pre-relocation phases. Fixes below dts warning: <stdout>: Warning (dmas_property): /bus@f4000/ethernet@8000000:dmas: Could not get phandle node for (cell 0) Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-10-04arm: dts: k3-am64-evm: Fix bootRoger Quadros
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation. To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'. Move vtt_supply and cbass_mcu node to -r5-evm.dts as it is only required for R5 SPL. [1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation") Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2023-10-04qconfig: Update the documentationSimon Glass
Update qconfig's documentation to better reflect its new purpose in life. Signed-off-by: Simon Glass <[email protected]>
2023-10-04qconfig: Rename the database fileSimon Glass
Use qconfig.db as the new name, to reflect the tool's purpose. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Rename the tool to qconfigSimon Glass
This does not move configs anymore, but queries them, based on a database it can build. Rename the tool to better reflect its purpose. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Move summaries to the endSimon Glass
Write the summary for -s and -b at the end, using a unified format. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Drop the initial outputSimon Glass
Since moveconfig now just does what it is told (build database or sync defconfigs) we don't need to print what it is doing. Drop this info, which is of very little use. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Show a summary at the endSimon Glass
Rather than printing all the failed boards, which are now easily visible on the terminal, just show a summary. Sort it by defconfig and drop the '_defconfig' suffix. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Show failures in progressSimon Glass
Show the number of accumulated failures when processing. Use a shorter format with colour. An unwanted space appears before the defconfig name on every item except the last. Fix that while we are here. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Use u_boot_pylib for terminal colourSimon Glass
Use the existing terminal code to handle ANSI colours. Enable colour by default if the output is going to a terminal. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Avoid showing progress at the endSimon Glass
When the process is finished, moveconfig leaves a line saying that all boards were processed (for better or worse). Drop this, since it is unncessary. Future work will provide a summary at the end instead. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Reduce the amount of outputSimon Glass
Output a single line in the case where the defconfig only has one line of output. Show the name without the _defconfig suffix, since that is the same for all boards. Use a list for the log so it is easier to process at the end. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Only show output when there is a reasonSimon Glass
There is no point in listing a board if everything went well. It makes it harder to see the failures, particularly on a fast machine. Suppress output unless something actually happened. Drop the 'Syncing by savedefconfig' since this is selected by the -s and is the same for all boards in this mode. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Fix misc pylint warningsSimon Glass
Fix various remaining pylint warnings. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Use an encoding with open()Simon Glass
Fix pylint warnings about needing an explicit character encoding. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Correct list-comprehension warningsSimon Glass
Correct some pylint warnings about needing to use list comprehension. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Correct use of members not declared in __init__()Simon Glass
Fix these pylint warnings. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Correct non-snake variables namesSimon Glass
Correct some variable names that do not conform to snake case, with the three-character minimum. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Correct unused variablesSimon Glass
Fix pylint warnings about unused variables. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Use f strings where possibleSimon Glass
Avoid pylint warnings by using 'f' strings where possible. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Correct parameter-type warningsSimon Glass
Fix pylint warnings related to parameter types. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Correct some regular-expression stringsSimon Glass
Use the 'r' prefix for these strings to avoid pylint warnings. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Drop suspicious boardsSimon Glass
This code isn't needed anymore. Drop it. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Drop check_defconfig() and update_dotconfig()Simon Glass
These functions are not needed anymore. Drop them. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Drop CONFIG-moving codeSimon Glass
As a step towards cleaning out old code, drop most of the code that moves CONFIG options to Kconfig. This includes parse_one_config(). Drop the ACTION_... values as well, since they are no-longer used. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Drop unused cleanup optionsSimon Glass
Cleaning up the README and config.h files are not needed now, since we don't have any CONFIG options to convert. Drop this code. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Correct ordering of asteval importSimon Glass
This should be after the standard imports. Move it to avoid a lot of pylint warnings. Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Avoid deprecation warning for setDaemonSimon Glass
Use the recommended new way of setting a thread to be a daemon. This avoids a warning: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead Signed-off-by: Simon Glass <[email protected]>
2023-10-04moveconfig: Drop -H optionSimon Glass
Drop this option, which is no longer needed now that we have converted all CONFIG options to Kconfig. Signed-off-by: Simon Glass <[email protected]>