summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-26zboot: Correct use of state_mask argumentSimon Glass
There is confusion in this function between the flag and state_mask parameters, which prevents the boot from actually happening. Correct this by using state_mask instead of flag for deciding which states to go through. This fixes booting of some 32-bit Debian kernels. Note: Some sort of CI for this is in the works. Fixes: 228c6722d44 ("x86: zboot: Avoid iteration in do_zboot_states()") Signed-off-by: Simon Glass <[email protected]>
2024-06-26zboot: Add debugging for bootingSimon Glass
Show the boot arguments and the state mask, to aid debugging. Signed-off-by: Simon Glass <[email protected]>
2024-06-26cmd: gpt: Fix freeing gpt_pte in gpt_verify()Sam Protsenko
In case when either gpt_verify_headers() or gpt_verify_partitions() fails, the memory allocated for gpt_pte will be freed in those functions internally, but gpt_pte will still contain non-NULL dangling pointer. The attempt to free it in those cases in gpt_verify() leads to "use after free" error, which leads to a "Synchronous abort" exception. This issue was found by running the next command on the device with incorrect partition table: => gpt verify mmc 0 $partitions which results to: No partition list provided - only basic check "Synchronous Abort" handler, esr 0x96000021, far 0xba247bff .... Fix the issue by only freeing gpt_pte if none of those functions failed. Fixes: bbb9ffac6066 ("gpt: command: Extend gpt command to support GPT table verification") Signed-off-by: Sam Protsenko <[email protected]>
2024-06-26pxe: Add debugging for bootingSimon Glass
Show which boot protocol is being used. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]>
2024-06-26cmd: Make use of U_BOOT_LONGHELP when missingTom Rini
After adding the U_BOOT_LONGHELP macro some new commands came in still that were not making use if it. Switch these cases over and in a few places add missing newlines as well. Signed-off-by: Tom Rini <[email protected]>
2024-06-26scripts/Makefile.lib: remove bootph-some-ram property from VPL/TPL/SPLQuentin Schulz
The property isn't useful in VPL/SPL/TPL as it is only for U-Boot proper pre-reloc, which has its own DTB. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-06-26arm: davinci: remove unused definesEmil Kronborg
The last usage of the DV_TIMER_ and DV_WDT_ definitions were removed in commits 8d7757637138 ("ARM: davinci: remove support for cam_enc_4xx") and cef443c1666c ("arm: davinci: remove leftover code for dm* SoCs"), respectively. Signed-off-by: Emil Kronborg <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-26arm: davinci: remove unused watchdog functionsEmil Kronborg
The davinci_hw_watchdog_ functions are defined but never called from anywhere. Commit 881ae794b93b ("calimain: remove board") eliminated the last call to these functions. Signed-off-by: Emil Kronborg <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-26fs: btrfs: fix out of bounds writeAlex Shumsky
Fix btrfs_read/read_and_truncate_page write out of bounds of destination buffer. Old behavior break bootstd malloc'd buffers of exact file size. Previously this OOB write have not been noticed because distroboot usually read files into huge static memory areas. Signed-off-by: Alex Shumsky <[email protected]> Fixes: e342718 ("fs: btrfs: Implement btrfs_file_read()") Reviewed-by: Qu Wenruo <[email protected]>
2024-06-26Merge patch series "k3-am625-beagleplay: Add symlinks for tiboot3 and tispl"Tom Rini
Dhruva Gole <[email protected]> says: Add symlinks for both tiboot3.bin and tispl.bin because a user has to anyway rename these files to get the platform to boot up. Also update the documentation to reflect above change.
2024-06-26doc: beagle: am62x_beagleplay: Rename the boot binsDhruva Gole
Rename the boot bins as the _unsigned postfixes are not longer required. We have symlinks in place for having generic names for all the boot bins now. Signed-off-by: Dhruva Gole <[email protected]>
2024-06-26arm: dts: k3-am625-beagleplay: Add symlinks for tiboot3 and tisplDhruva Gole
Add symlinks for both tiboot3.bin and tispl.bin because a user has to anyway rename these files to get the platform to boot up. This just makes it more intuitive and convenient. Reviewed-by: Manorit Chawdhry <[email protected]> Signed-off-by: Dhruva Gole <[email protected]>
2024-06-26board: beagleplay: Fix the bootpart to pick from root partitionDhruva Gole
The Kernel Image and DTB files are supposed to be picked from the rootfs of the SD Card, this fails in legacy boot flow because bootpart is set to 1:1. Fix it. Fixes: a200f428b5b21 ("board: ti: am62x: Add am62x_beagleplay_* defconfigs and env file") Reviewed-by: Nishanth Menon <[email protected]> Acked-by: Chirag Shilwant <[email protected]> Signed-off-by: Dhruva Gole <[email protected]>
2024-06-26arm: mach-k3: j784s4: Fix MCU_CLKOUT0 parent clock muxEmanuele Ghidoli
MCU_CLKOUT0 output can be driven by two different clock inputs: one at 25 MHz and another at 50 MHz. Currently, the 25 MHz input clock is not selectable due to a duplication of the 50 MHz clock input in the mux configuration. This commit corrects the parent clock mux configuration, making the 25 MHz input clock selectable. Signed-off-by: Emanuele Ghidoli <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2024-06-26Merge patch series "Azure: Correct comment about the strategy in the world ↵Tom Rini
matrix build" Tom Rini <[email protected]> says: This fixes a number of small issues with the structure of the Azure jobs and then ensures that we will build all of the possible boards that we know about, in this CI run.
2024-06-26Azure: Count all of the machines we would buildTom Rini
Now that we have each stage of the world build using variables to define what it will attempt to build, and that we have added in missing machines, add a job to make sure that we would always be building everything. Signed-off-by: Tom Rini <[email protected]>
2024-06-26Azure: Update some job breakdowns so we build the world againTom Rini
As part of commit 9aeac898da66 ("Azure: Rework build the world jobs") I made a few mistakes. An errant '_' meant that we built neither at91 nor kirkwood platforms. Further, the non-freescale (NXP) "LS1xxx" platforms were also not being built. Adjust some jobs to have these be built again. Fixes: 9aeac898da66 ("Azure: Rework build the world jobs") Signed-off-by: Tom Rini <[email protected]>
2024-06-26Azure: Spell out the "everything" jobTom Rini
In order to get the list of boards that will be done in a "dry run" build we need to have something listed and not just an exclude list. Populate the job with all architecture directories except arm and powerpc. Signed-off-by: Tom Rini <[email protected]>
2024-06-26Azure: Rework how we define what to build in the world buildTom Rini
Instead of defining BUILDMAN to the value we'll build in each part of the matrix job, define a variable with that name and have it list what to build. This will allow us to reference these multiple times consistently later on. Signed-off-by: Tom Rini <[email protected]>
2024-06-26Azure: Correct comment about the strategy in the world matrix buildTom Rini
At this point noting that we have a split in our job similar to TravisCI (which we have not used in years) isn't helpful, and is also not true anymore either. Instead, explain that we split the world up in to 10 jobs as that's the maximum we can have going in parallel on the free tier of Azure. Signed-off-by: Tom Rini <[email protected]>
2024-06-26Merge patch series "arm64: add a software pagetable walker"Tom Rini
Caleb Connolly <[email protected]> says: MMU issues are some of the most frustrating to debug. To make this slightly less unbearable, introduce a software pagetable walker for ARMv8. This can be called to dump a pagetable with the default formatter, or a custom callback can be provided to implement more complicated parsing. This can also be useful to dump the pagetable used by a previous bootloader stage (by reading out the ttbr register). Here is an example of the output when walking U-Boot's own memory map on a Qualcomm RB3 board: Walking pagetable at 000000017df90000, va_bits: 36. Using 3 levels [0x17df91000] | Table | | [0x17df92000] | Table | | [0x000001000 - 0x000200000] | Pages | Device-nGnRnE | Non-shareable [0x000200000 - 0x040000000] | Block | Device-nGnRnE | Non-shareable [0x040000000 - 0x080000000] | Block | Device-nGnRnE | Non-shareable [0x080000000 - 0x140000000] | Block | Normal | Inner-shareable [0x17df93000] | Table | | [0x140000000 - 0x17de00000] | Block | Normal | Inner-shareable [0x17df94000] | Table | | [0x17de00000 - 0x17dfa0000] | Pages | Normal | Inner-shareable
2024-06-26meson: Correct driver declaration for meson_axg_gpioSimon Glass
This should use the driver macros so that the driver appears in the linker list. Fix this. Fixes: 8587839f19d ("pinctrl: meson: add axg support") Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2024-06-25doc: arch: arm64: describe pagetable debuggingCaleb Connolly
Add some brief documentation on using dump_pagetables() to print out U-Boot's pagetables during boot. Signed-off-by: Caleb Connolly <[email protected]>
2024-06-25arm64: add software pagetable walkerCaleb Connolly
Add a basic software implementation of the ARM64 pagetable walker. This can be used for debugging U-Boot's pagetable, as well as dumping the pagetable from the previous bootloader stage if it used one (by reading out the ttbr address). One can either call dump_pagetable() to print the pagetable to the console with the default formatter, or implement their own pagetable handler using walke_pagetable() with a custom pte_walker_cb_t callback. All of the added code is discarded when unused, hence there is no need to add an additional Kconfig option for this. Signed-off-by: Caleb Connolly <[email protected]>
2024-06-25arm64: mmu.h: fix PTE_TABLE_APCaleb Connolly
The APTable attribute is two bits wide according to the ARMv8-A architecture reference manual. Fix the macro accordingly. Signed-off-by: Caleb Connolly <[email protected]>
2024-06-25usb: dwc3: meson-g12a: drop usb.h and make dwc3_meson_g12a_force_mode staticNeil Armstrong
Drop this useless usb.h and now make dwc3_meson_g12a_force_mode static since only used in the dwc3-meson-g12a.c file. Reviewed-by: Marek Vasut <[email protected]> Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-5-b81c027bc02c@linaro.org Signed-off-by: Neil Armstrong <[email protected]>
2024-06-25usb: dwc3: meson-gxl: drop usb-gx.h and make dwc3_meson_gxl_force_mode staticNeil Armstrong
Drop this useless usb-gx.h and now make dwc3_meson_gxl_force_mode static since only used in the dwc3-meson-gxl.c file. Reviewed-by: Marek Vasut <[email protected]> Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-4-b81c027bc02c@linaro.org Signed-off-by: Neil Armstrong <[email protected]>
2024-06-25phy: meson-gxl-usb2: remove phy_meson_gxl_usb2_set_modeNeil Armstrong
Remove the public phy_meson_gxl_usb2_set_mode and move the implementation in the the set_mode callback. Reviewed-by: Marek Vasut <[email protected]> Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-3-b81c027bc02c@linaro.org Signed-off-by: Neil Armstrong <[email protected]>
2024-06-25usb: dwc3: meson-gxl: switch to generic_phy_set_modeNeil Armstrong
Use the PHY set_mode call instead of calling directly in the PHY shared function. Reviewed-by: Marek Vasut <[email protected]> Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-2-b81c027bc02c@linaro.org Signed-off-by: Neil Armstrong <[email protected]>
2024-06-25phy: meson-gxl-usb2: add set_mode callbackNeil Armstrong
Implement set_mode callback by calling the current public function, use a temporary function name that will be removed when the public phy_meson_gxl_usb2_set_mode is finally removed in a following change. Reviewed-by: Marek Vasut <[email protected]> Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-1-b81c027bc02c@linaro.org Signed-off-by: Neil Armstrong <[email protected]>
2024-06-24board: beagle: beagleplay: enable OF_SYSTEM_SETUPBryan Brattlof
Unfortunately when enabling FDT fixups for the AM62x family of SoCs and moving TF-A to the bottom of RAM we missed the BeaglePlay. This is causing Linux's memory allocator to clobber TF-A and break its boot. Enable OF_SYSTEM_SETUP to fixup the kernel's FDT to inform it of the actual location of the firmware CC: Andrew Davis <[email protected]> CC: Nishanth Menon <[email protected]> CC: Robert Nelson <[email protected]> Reported-by: Dhruva Gole <[email protected]> Signed-off-by: Bryan Brattlof <[email protected]> Acked-by: Andrew Davis <[email protected]> Tested-by: Robert Nelson <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Acked-by: Chirag Shilwant <[email protected]> Tested-by: Dhruva Gole <[email protected]>
2024-06-24Merge tag 'v2024.07-rc5' into nextTom Rini
Prepare v2024.07-rc5
2024-06-24Prepare v2024.07-rc5v2024.07-rc5Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2024-06-24Merge tag 'u-boot-imx-next-20240624' 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/21310 - Enable SPL DTO application support for i.MX8MP DHCOM PDK2. - Migrate imx8mn_bsh_smm_s2 and imx6ulz_bsh_smm_m2 to OF_UPSTREAM. - Drop redundant imports with dts/upstream. - Miscellaneous improvements for Gateworks i.MX8M boards.
2024-06-24configs: j784s4_evm_r5_defconfig: Enable CONFIG_K3_QOSJayesh Choudhary
Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage. Signed-off-by: Jayesh Choudhary <[email protected]>
2024-06-24configs: j721s2_evm_r5_defconfig: Enable CONFIG_K3_QOSJayesh Choudhary
Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage. Signed-off-by: Jayesh Choudhary <[email protected]>
2024-06-24configs: j721e_evm_r5_defconfig: Enable CONFIG_K3_QOSJayesh Choudhary
Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage. Signed-off-by: Jayesh Choudhary <[email protected]>
2024-06-24arm: mach-k3: j784s4: Enable QoS for DSSJayesh Choudhary
Enable Quality of Service (QoS) blocks for Display SubSystem (DSS), by servicing the DSS - DDR traffic from the Real-Time (RT) queue. This is done by setting the DSS DMA orderID to greater than 9. Before setting up the QoS, the ORDERID needs to be mapped to VBUSM sources using setup_navss_nb() function call that sets the threadmap for NBSS registers. (Section 10.2.9.2.10 "Quality of Service" in TRM[0]) Section 3.2.1 "Quality of Service (QoS)" in the TRM[0] provide more details. [0]: https://www.ti.com/lit/zip/spruj52 Signed-off-by: Jayesh Choudhary <[email protected]>
2024-06-24arm: mach-k3: j721s2: Enable QoS for DSSJayesh Choudhary
Enable Quality of Service (QoS) blocks for Display SubSystem (DSS), by servicing the DSS - DDR traffic from the Real-Time (RT) queue. This is done by setting the DSS DMA orderID to greater than 9. Before setting up the QoS, the ORDERID needs to be mapped to VBUSM sources using setup_navss_nb() function call that sets the threadmap for NBSS registers. (Section 10.2.9.2.10 "Quality of Service" in TRM[0]) Section 3.2.1 "Quality of Service (QoS)" in the TRM[0] provide more details. [0]: https://www.ti.com/lit/zip/spruj28 Signed-off-by: Jayesh Choudhary <[email protected]>
2024-06-24arm: mach-k3: j721e: Enable QoS for DSSJayesh Choudhary
Enable Quality of Service (QoS) blocks for Display SubSystem (DSS), by servicing the DSS - DDR traffic from the Real-Time (RT) queue. This is done by setting the DSS DMA orderID to greater than 7. Before setting up the QoS, the ORDERID needs to be mapped to VBUSM sources using setup_navss_nb() function call that sets the threadmap for NBSS registers. (Section 10.2.10.1.2 "NB Parameters" in TRM[0]) Section 3.3.2 "Quality of Service (QoS)" in the TRM[0] provide more details. [0]: https://www.ti.com/lit/zip/spruil1 Signed-off-by: Jayesh Choudhary <[email protected]> Reviewed-by: Andrew Davis <[email protected]>
2024-06-24arm: mach-k3: am62a: Simplify the logic for QOS reg and val propagationJayesh Choudhary
For the QOS registers, instead of using the raw values for calculation for each reg field, use a defined macro which takes in argument for all the reg fields to get the desired value. Do the similar simplification for QOS register and group registers and make the corresponding changes for am62a_qos_uboot file. Suggested-by: Andrew Davis <[email protected]> Signed-off-by: Jayesh Choudhary <[email protected]> Acked-by: Andrew Davis <[email protected]>
2024-06-24arm: mach-k3: am62a_qos: Move common bit MACROS to k3_qos header fileJayesh Choudhary
QoS bit mapping are common across all K3 SoCs so move those defines to common header file (k3_qos.h). This ensures that we do not define these for each SoC. Signed-off-by: Jayesh Choudhary <[email protected]>
2024-06-24Merge tag 'tpm-master-24062024' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm When the EFI TCG measurement code moved from EFI to the TPM subsystem for general use some prototypes changed from returning efi_status_t to int, which is more appropriate for the non-EFI APIs. However, some of the EFI callsites never changed and we ended up assigning the int value to efi_status_t. This is unlikely to cause any problems, apart from returning invalid values on failures and violating the EFI spec.
2024-06-24ARM: imx: Enable SPL DTO application support for i.MX8MP DHCOM PDK2Marek Vasut
Enable SPL DTO support to apply matching SoM specific DTOs to cater for the SoM differences in DH i.MX8MP DHCOM PDK2 configuration. This is already enabled in DH i.MX8MP DHCOM PDK3 configuration so align the two configurations. Fixes: ad1158c50e0e ("arm64: dts: imx8mp: Switch to DT overlays for i.MX8MP DHCOM SoM") Signed-off-by: Marek Vasut <[email protected]>
2024-06-24board: gateworks: venice: Simplify Ethernet initializationTim Harvey
With DM enabled, there is no need for board code to initialize the Ethernet interfaces. Specifically board_interface_eth_init will handle the configuration of GPR1. Signed-off-by: Tim Harvey <[email protected]>
2024-06-24imx8mp-venice-gw702x: Drop EQos clock workaroundTim Harvey
The assigned-clock no longer have to be dropped, the clock are now defined in clk-imx8mp.c and used by DWMAC driver to configure the DWMAC clock. Drop the workarounds from U-Boot specific DT extras. Having the clocks dropped causes the EQoS to be non-functional. See commit c7ea9612df0f ("arm64: dts: imx8mp: Drop EQoS clock workaround"). Fixes: 48c6f9777cee ("board: gateworks: venice: add imx8mp-gw7905-2x support") Signed-off-by: Tim Harvey <[email protected]>
2024-06-24imx8mp-venice-gw74xx: default USB1 to host modeTim Harvey
The GW74xx USB1 controller connects to a dual-role connector using a GPIO for role detection via the usb-connector Linux driver (usb-conn-gpio.c). This drive does not exist yet in U-Boot so for now we will just default USB1 to host mode. Signed-off-by: Tim Harvey <[email protected]>
2024-06-24imx8m{m,p}_venice: add NVMe to boot devicesTim Harvey
Add nvme device 0 to available boot devices. Signed-off-by: Tim Harvey <[email protected]>
2024-06-24board: gateworks: venice: add print for GPY111 PHY nameTim Harvey
Due to supply chain issues Venice boards use either a DP83867 or a GPY111 RGMII PHY. We already print an identifier for the DP83867 so add one for the GPY111 to better identify what PHY is on a board: Example: Net: GPY111 eth0: ethernet@30be0000 [PRIME] Net: DP83867 eth0: ethernet@30be0000 [PRIME] Signed-off-by: Tim Harvey <[email protected]>
2024-06-24board: gateworks: venice: delay before reading GSC EEPROMTim Harvey
Extensive testing has shown that at higher temperatures operating without a GSC backup battery, the GSC needs a small delay after releasing the I2C SDA/SCL pins before it is ready to handle I2C requests. Add a delay to avoid errors such as: wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020 i2c_init_transfer: failed for chip 0x20 retry=0 Signed-off-by: Tim Harvey <[email protected]>