summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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 <nm@ti.com> Acked-by: Chirag Shilwant <c-shilwant@ti.com> Signed-off-by: Dhruva Gole <d-gole@ti.com>
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 <emanuele.ghidoli@toradex.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
2024-06-26Merge patch series "Azure: Correct comment about the strategy in the world ↵Tom Rini
matrix build" Tom Rini <trini@konsulko.com> 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 <trini@konsulko.com>
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 <trini@konsulko.com>
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 <trini@konsulko.com>
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 <trini@konsulko.com>
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 <trini@konsulko.com>
2024-06-26Merge patch series "arm64: add a software pagetable walker"Tom Rini
Caleb Connolly <caleb.connolly@linaro.org> 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-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 <caleb.connolly@linaro.org>
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 <caleb.connolly@linaro.org>
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 <caleb.connolly@linaro.org>
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 <trini@konsulko.com>
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 <j-choudhary@ti.com>
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 <j-choudhary@ti.com>
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 <j-choudhary@ti.com>
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 <j-choudhary@ti.com>
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 <j-choudhary@ti.com>
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 <j-choudhary@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
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 <afd@ti.com> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com> Acked-by: Andrew Davis <afd@ti.com>
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 <j-choudhary@ti.com>
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 <marex@denx.de>
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 <tharvey@gateworks.com>
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 <tharvey@gateworks.com>
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 <tharvey@gateworks.com>
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 <tharvey@gateworks.com>
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 <tharvey@gateworks.com>
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 <tharvey@gateworks.com>
2024-06-24board: gateworks: venice: enable GSC supervisor for new board modelsTim Harvey
The Gateworks System Controller (GSC) has a voltage supervisor which is disabled by default. On older boards we want to maintian this but on newer boards we wish to enable the voltage supervisor. The Gateworks System Controller (GSC) can disable the board primary power supply by driving a pin to a FET high. On older board models the leakage of the GSC may exceed the leakage of the FET causing this signal slowly rise when the GSC battery is low and the board is in a powered down state resulting in the board being kept in a disabled state. Newer boards have a hardware fix to avoid this leakage and thus should enable the voltage supervisor. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-06-24dt-bindings: imx: Drop redundant imports with dts/upstreamSumit Garg
Drop redundant header imports with dts/upstream already providing updated headers which have been checked to be backwards compatibility. The imx headers which aren't present in dts/upstream are as follows: - include/dt-bindings/clock/imxrt1020-clock.h - include/dt-bindings/clock/imx8qm-clock.h - include/dt-bindings/clock/imxrt1170-clock.h - include/dt-bindings/clock/imx8qxp-clock.h - include/dt-bindings/memory/imxrt-sdram.h - include/dt-bindings/pinctrl/pads-imx8qxp.h - include/dt-bindings/pinctrl/pads-imx8qm.h - include/dt-bindings/soc/imx8_pd.h - include/dt-bindings/soc/imx_rsrc.h hence these aren't dropped yet but there was an unused header: - include/dt-bindings/pinctrl/pins-imx8mq.h which has been dropped as well. There shouldn't be any funtional impact with this change but it rather allows iMX platforms to use upstream dt-bindings headers in a backwards compatible manner. Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
2024-06-24arm: fsl: imx6ulz_bsh_smm_m2: Migrate to OF_UPSTREAMPatrick Barsanti
Migrate imx6ulz_bsh_smm_m2 board to OF_UPSTREAM. Signed-off-by: Patrick Barsanti <patrick.barsanti@amarulasolutions.com>
2024-06-24arm: fsl: imx8mn_bsh_smm_s2: Migrate to OF_UPSTREAMPatrick Barsanti
Migrate imx8mn_bsh_smm_s2 and imx8mn_bsh_smm_s2pro boards to OF_UPSTREAM. Signed-off-by: Patrick Barsanti <patrick.barsanti@amarulasolutions.com> Tested-by: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2024-06-24efi_loader: fix the return values on efi_tcgIlias Apalodimas
A while back we moved the core functions of the EFI TCG protocol to the TPM APIs in order for them to be used with bootm, booti etc. 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. Let's fix them by looking at the new return code and map it to the proper EFI return code on failures. Fixes: commit 97707f12fdab ("tpm: Support boot measurements") Fixes: commit d6b55a420cfc ("efi_loader: startup the tpm device when installing the protocol") Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-24tpm: fix the return code, if the eventlog buffer is fullIlias Apalodimas
We currently return 'No space left on device' if the eventlong buffer we allocated is not enough. On a similar check later on that function during the call to tcg2_log_init() we return 'No buffer space available'. So switch both error codes to -ENOBUFS since we are always checking a buffer and not a device. Fixes: commit 97707f12fdab ("tpm: Support boot measurements") Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-23Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-usbTom Rini
2024-06-23Merge tag 'doc-2024-07-rc5-2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request doc-2024-07-rc5-2 Documentation: * Fix broken references to pytest suite and test writing * Fix links to FIT documentation * Add capsule documentation for TI K3 devices
2024-06-22doc: board: ti: Add capsule documentation for TI K3 devicesJonathan Humphreys
Added introductory documentation about capsule support for TI devices, including links to more detailed information. Also added a note in the build secction that points to the host package dependency docs. This patch is followup from a request in the series introducing capsule update for TI boards. https://lore.kernel.org/r/20240618145058.552eapp5iiz772ej@hardcore Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-22doc: develop: testing: Fix reference to test writing sectionAlexander Dahl
Add missing colon in :doc: link. Fixes: fc3283314539 ("doc: Explain briefly how to write new tests") Signed-off-by: Alexander Dahl <ada@thorsis.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-22doc: develop: testing: Fix broken reference to pytest suite helpAlexander Dahl
This should have been adapted directly with or after v2021.01-693-gca6583d4e08 ("doc: move test/README to HTML documentation") or v2021.01-694-g0157619d5c8 ("doc: move test/py/README.md to HTML documentation") already. Signed-off-by: Alexander Dahl <ada@thorsis.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-22boot: links to FIT documentation in KconfigHeinrich Schuchardt
Correct the links to the FIT documentation in boot/Kconfig. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-06-22doc: FIT links in develop/uefi/uefi.rstHeinrich Schuchardt
Correct the links to the FIT documentation. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-06-22cmd: link to doc/usage/fit/x86-fit-boot.rstHeinrich Schuchardt
Replace the outdated link. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20Merge patch series "boot: fix crash in bootflow menu with EFI BOOTMGR ↵Tom Rini
support + typos" Quentin Schulz <foss+uboot@0leil.net> says: bootflow menu currently crashes U-Boot with a NULL pointer dereference because bootflow->dev is NULL for global bootmeths (such as EFI BOOTMGR). Therefore, let's check if the bootflow is associated with a global bootmeth before trying to make it part of the menu. While this makes U-Boot not crash anymore, bootflow menu doesn't work for me (I have never had a happy path with it, but I haven't actually tried it before today :) ) and this was basically just implemented following Simon's suggestion sent over IRC. No clue if this is enough or just a quick band-aid patch. This also fixes typos in multiple places.
2024-06-20Merge patch series "lib: smbios: Extend driver with using sysinfo driver"Tom Rini
Michal Simek <michal.simek@amd.com> says: Hi, currently only DT way is supported and it is added directly to lib/smbios.c but I think DT and env is only one way how information can be found that's why this series is improving handling with using sysinfo driver which can be platform specific. At the end of day DT should be taken from smbios.c and put to sysinfo DT driver instead of implementing it directly in this generic file.
2024-06-20boot: bootflow_menu: fix crash for EFI BOOTMGR global bootmethQuentin Schulz
The global bootmeths don't set the dev in bootflow struct which means the dev_get_parent(bflow->dev) triggers a NULL-pointer dereference and crash U-Boot. So before trying to handle a bootflow, check that the associated bootmeth isn't global, otherwise skip it. Suggested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20lib: smbios: Detect system properties via SYSINFO IDsMichal Simek
Code is pretty much supports only DT properties and completely ignore information coming from sysinfo driver. Code is calling smbios_add_prop() which calls with smbios_add_prop_si(SYSINFO_ID_NONE). But SYSINFO_ID_NONE can't differentiate different entries from sysinfo driver. That's why introduce separate SYSINFO macros which can be used in sysinfo driver and passed to smbios structure. Signed-off-by: Michal Simek <michal.simek@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-06-20doc: bootstd: fix typosQuentin Schulz
This fixes a few syntactic issues as well as typos and grammar. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>