aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-09-06Azure: Add sandbox64 to CIWIP/2023-09-06-assorted-CI-updatesTom Rini1-0/+5
Now that sandbox64 can run and pass the regular test.py suite, add it here as well. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-06.gitlab-ci: Test sandbox64 board in addition to sandboxMarek Vasut1-0/+17
Test both 32bit and 64bit sandbox boards in CI. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2023-09-06Azure: Split sandbox and qemu test.py runsTom Rini1-17/+44
Currently, most sandbox runs take a long time (due to running so many tests) while QEMu based test.py runs are fairly short. Split the pipeline here so that we get more consistent average run times. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-06Azure: Rework test_py job to publish its wrapper scriptTom Rini1-71/+90
Both to aide in debugging of any test.py issues as well as to make it easier to split the current matrix in two, have a new job that creates and publishes the current wrapper script we use for test.py jobs. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-06CI: Drop some jobs we didn't really utilizeTom Rini3-56/+0
- We have added more TODO/etc comments since this task was created and never focused on removing them. - The output of sloccount isn't preserved or looked at, and if desired should be in the release stats pages instead somehow. - The results of cppcheck aren't investigated and require modeling work to be useful to start with. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-06CI: Combine tools-only and envtools jobsTom Rini2-19/+6
These jobs are to confirm specific build targets, on a Linux host. We can safely combine these two build tests, with a make mrproper in between. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-06Azure: Rework build the world jobsTom Rini1-75/+25
Now that we have 3600 minutes per build job, condense and rework things such that our overall time largely doesn't change, but we can also largely avoid having to re-tweak this job to avoid timeouts. Given that we have 10 threads, we also move a few of the specific sandbox test builds to a prior stage. Note that while sandbox builds with address sanitization enabled (ASAN) not all tests pass, so we limit ourselves to just checking that the version test passes for now. Link: https://learn.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&tabs=yaml#timeouts Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-06test: print: Fix hexdump test on 64bit systemsMarek Vasut1-14/+28
Use the following regex to make this test compatible with both 32bit and 64bit systems. The trick is to use %0*lx format string for the address prefix in the test. " s@\(ut_assert_nextline("\)0\+\([^:]\+\)\(:.*"\)\();\)@\1%0*lx\3, IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x\2UL\4 " Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-06test: dm: test-fdt: Use fdtdec_get_int() in dm_check_devices()Marek Vasut1-2/+2
The current fdtdec_get_addr() takes into consideration #address-cells and #size-cells for "ping-expect" property which is clearly neither. Use fdtdec_get_int() instead and return negative one in case the property is not in DT or the platform under test is not DT based, i.e. mimic the current fdtdec_get_addr() behavior. This fixes ut dm dm_test_bus_children test. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-06configs: sandbox64: Enable legacy image format supportMarek Vasut1-0/+1
Align the sandbox64 defconfig with sandbox defconfig. Enable missing legacy image format support. This fixes ut_bootstd_bootflow_cmd_menu test. Suggested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-06Merge branch 'next' of ↵Tom Rini10-143/+303
https://source.denx.de/u-boot/custodians/u-boot-coldfire into next - Relocation support
2023-09-06Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-usb ↵Tom Rini2-63/+65
into next
2023-09-06Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-sh ↵Tom Rini1-4/+5
into next - rmobile cleanup
2023-09-06ARM: rmobile: Clean up rmobile_cpuinfo_idx()Marek Vasut1-4/+5
Clean the function up a bit further. Return immediately on match and return ARRAY_SIZE() - 1 on failure. Add proper comment in that case. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2023-09-06Merge branch '2023-09-06-riscv-fixes' into nextTom Rini1-7/+3
- Merge two patches to fix the issues with risc-v building on next after the merge of v2023.10-rc4 to next.
2023-09-06riscv: Correct event usage for riscv_cpu_probe/setupTom Rini1-5/+1
With having both an EVENT_SPY_SIMPLE setup for both riscv_cpu_probe and riscv_cpu_setup we do not need the latter function to call the former function as it will already have been done in time. Fixes: 1c55d62fb9cc ("riscv: cpu: make riscv_cpu_probe to EVT_DM_POST_INIT_R callback") Tested-by: Milan P. Stanić <mps@arvanta.net> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-06riscv: Rework riscv_cpu_probe for current event macrosTom Rini1-2/+2
This function should now be a EVENT_SPY_SIMPLE call, update it. Tested-by: Milan P. Stanić <mps@arvanta.net> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-06arch: m68k: Implement relocationMarek Vasut9-108/+204
Implement relocation for M68K. Perform all the updates in start.S relocate_code in assemby, since it is a simple matter of traversing the dynsym table and adding relocation offset - MONITOR_BASE to all the items in that table. The necessity to deal with MONITOR_BASE is a specific of M68K, where the ELF entry point is at offset 0x400, which is the MONITOR_BASE, while TEXT_BASE is at offset 0 . This also removes the one last user of NEEDS_MANUAL_RELOC, so that could be finally cleaned up . Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-06tools: relocate-rela: Add M68K supportMarek Vasut1-31/+85
Add M68K ELF32 support into this tool, so it can patch static rela into M68K u-boot-nodtb.bin . This is the first step toward M68K relocation support, and in turn, removal of NEEDS_MANUAL_RELOC from the codebase altogether. Tested-by: Michal Simek <michal.simek@amd.com> # microblaze, arm64 Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2023-09-06tools: relocate-rela: Fix BE symtab handlingMarek Vasut1-4/+14
The symtab contains data in target endianness, convert the data to native endianness before doing any operations and on them, and back to target endianness before updating the bin file. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Tested-by: Michal Simek <michal.simek@amd.com> # microblaze, arm64 Reviewed-by: Angelo Dureghello <angelo@kernel-space.org>
2023-09-04usb: host: ohci-generic: Make usage of clock/reset bulk() APIFabrice Gasnier1-63/+29
Make usage of clock and reset bulk API in order to simplify the code Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com> Reviewed-by: Xavier Drudis Ferran <xdrudis@tinet.cat>
2023-09-04usb: check for companion controller in uclassFabrice Gasnier1-0/+36
EHCI is usually used with companion controller (like OHCI) as companion controller. This information on the companion is missing currently in companion drivers. So, if the usb-uclass isn't aware, it may scan busses in any order: OHCI first, then EHCI. This is seen on STM32MP1 where DT probing makes the probe order to occur by increasing address (OHCI address < EHCI address). When a low speed or full-speed device is plugged in, it's not detected as EHCI should first detect it, and give ownership (handover) to OHCI. Current situation on STM32MP1 (with a low speed device plugged-in) STM32MP> usb start starting USB... Bus usb@5800c000: USB OHCI 1.0 Bus usb@5800d000: USB EHCI 1.00 scanning bus usb@5800c000 for devices... 1 USB Device(s) found scanning bus usb@5800d000 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found The "companion" property in the device tree allow to retrieve companion controller information, from the EHCI node. This allow marking the companion driver as such. With this patch (same low speed device plugged in): STM32MP> usb start starting USB... Bus usb@5800c000: USB OHCI 1.0 Bus usb@5800d000: USB EHCI 1.00 scanning bus usb@5800d000 for devices... 1 USB Device(s) found scanning bus usb@5800c000 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found STM32MP> usb tree USB device tree: 1 Hub (12 Mb/s, 0mA) | U-Boot Root Hub | +-2 Human Interface (1.5 Mb/s, 100mA) HP HP USB 1000dpi Laser Mouse 1 Hub (480 Mb/s, 0mA) u-boot EHCI Host Controller This also optimize bus scan when a High speed device is plugged in, as the usb-uclass skips OHCI in this case: STM32MP> usb reset resetting USB... Bus usb@5800c000: USB OHCI 1.0 Bus usb@5800d000: USB EHCI 1.00 scanning bus usb@5800d000 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found STM32MP> usb tree USB device tree: 1 Hub (480 Mb/s, 0mA) | u-boot EHCI Host Controller | +-2 Mass Storage (480 Mb/s, 200mA) SanDisk Cruzer Blade 03003432021922011407 Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com> Reviewed-by: Marek Vasut <marex@denx.de>
2023-09-04event.h: Documented some newly added portions betterTom Rini1-8/+9
After the merge of v2023.10-rc4 to next include/event.h needs to be fully documented in order for documentation builds to complete. Rewords two of the event_t descriptions to be docbook style and better match the rest of this enum. Fix two typos (flag->flags) in other comments. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-04Merge tag 'v2023.10-rc4' into nextTom Rini72-454/+1217
Prepare v2023.10-rc4
2023-09-04Prepare v2023.10-rc4v2023.10-rc4Tom Rini2-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-04Merge tag 'rpi-2023.10' of ↵Tom Rini11-143/+86
https://source.denx.de/u-boot/custodians/u-boot-raspberrypi Updates for RPi for 2023.10: - rpi: Disable DISTRO_DEFAULTS - arm: rpi: Switch to standard boot - arm: rpi: Switch to a text environment
2023-09-03arm: rpi: Switch to a text environmentSimon Glass2-100/+77
Use the new environment format so we can drop most of the config.h file. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-09-03rpi: Disable DISTRO_DEFAULTSSimon Glass9-9/+0
Disable this option to reclaim some space, since bootstd requires less functionality to operate (e.g. hush parser). Signed-off-by: Simon Glass <sjg@chromium.org>
2023-09-03arm: rpi: Switch to standard bootSimon Glass10-36/+11
Drop use of the distro scripts and use standard boot instead. We don't need to specify the mmc devices individually, since they are used in order from 0 to 2, and standard boot uses that order anyway. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-09-02Merge tag 'doc-2023-10-rc4-2' of ↵Tom Rini13-55/+372
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request doc-2023-10-rc4-2 * Man-page for gpt command * Fix long text help of gpt command * Add events to HTML documentation * Update Toradex documentation
2023-09-02Merge tag 'doc-next' of https://source.denx.de/u-boot/custodians/u-boot-efi ↵Tom Rini1-2/+5
into next Pull request doc-next * Update TI am64x documentation
2023-09-02doc: Add gpt command documentationJoshua Watt2-0/+185
Adds initial documentation for the gpt command Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
2023-09-02cmd: gpt: Remove confusing help textJoshua Watt1-2/+0
This help text appears to be a fragment of the text shown when CONFIG_CMD_GPT_RENAME is enabled, but is confusing so remove it. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-09-02doc: board: ti: am64x: Fix build step numberingNishanth Menon1-2/+2
Fix up build step numbering. Fixes: 4bf49bade124 ("doc: board: ti: am64: Add boot flow diagram") Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-09-02doc: board: ti: am64x: provide image alt textNishanth Menon1-0/+3
Provide alternative text for image. Fixes: 4bf49bade124 ("doc: board: ti: am64: Add boot flow diagram") Reported-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-09-02doc: board: toradex: verdin-am62: document update u-boot wrapperMarcel Ziswiler1-0/+14
Now with the update U-Boot wrappers having been sorted out, document their usage. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-09-02doc: board: toradex: minor documentation updateMarcel Ziswiler6-46/+71
- Update SPDX-License-Identifier from obsolete GPL-2.0+ to GPL-2.0-or-later. - Add links to product websites of SoM and carrier board where missing. - Add information about update U-Boot wrapper where missing. - Add sectionauthor where missing. - Update information about imx-seco from version 3.7.4 to 3.8.1. - Various minor grammatic and spelling fixes. - Improve whitespace by adding or removing new lines. - Change from code-block for output to just Output::. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-09-02video: fix typo in video_sync_all documentationHeinrich Schuchardt1-1/+1
%s/there/their/ Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-02doc: add events.h to documentationHeinrich Schuchardt2-0/+10
Add the events.h include to the API documentation. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-02dm: event: document all eventsHeinrich Schuchardt1-6/+91
Provide Sphinx documentation for all events. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-08-31Merge branch '2023-08-31-replace-more-init-hooks-with-events' into nextTom Rini89-261/+431
To quote the author: This series replaces some more of the init hooks in board_f.c and board_r.c with events. Notably it converts last_state_init() over. It also provides a 'simple' event spy, which takes no arguments. It turns out that this is quite a common case, so it is worth optimising for this, to reduce code size, before events become too commonly used. Finally, it introduces a way of emitting an event in an initcall, instead of calling a function. This is likely to be used at least as often as the functions, as we convert more of these initcalls. As part of this, the initcall code is brought back into a C file. Somehow the compiler has changed or something else, so that this does not confer any benefits now. For boards with EVENT enabled, this unfortunately results in small growth, e.g. for firefly: aarch64: (for 1/1 boards) all +114.0 data +16.0 rodata +22.0 text +76.0 arm: (for 1/1 boards) all +82.0 rodata +18.0 text +64.0 For boards without EVENT enabled the growth is smaller, e.g. nokia_rx51: arm: (for 1/1 boards) all +32.0 data +8.0 rodata -8.0 text +32.0 I cannot find a good way to avoid the latter, other than macro magic with an embedded comma (to completely remove an event entry), which seems nasty.
2023-08-31event: Use an event to replace last_stage_init()WIP/2023-08-31-replace-more-init-hooks-with-eventsSimon Glass54-80/+95
Add a new event which handles this function. Convert existing use of the function to use the new event instead. Make sure that EVENT is enabled by affected boards, by selecting it from the LAST_STAGE_INIT option. For x86, enable it by default since all boards need it. For controlcenterdc, inline the get_tpm() function and make sure the event is not built in SPL. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-31freescale: Drop call to init_func_vid() in the init sequenceSimon Glass5-14/+9
Use the misc_init_f event instead, which is designed for this purpose. All boards with CONFIG_VID already enable CONFIG_EVENT. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-31x86: Convert arch_fsp_init() to use eventsSimon Glass6-19/+12
Convert this to use events instead of calling a function directly in the init sequence. Rename it to arch_fsp_init_f() to distinguish it from the one that happens after relocation. For FSPv2 nothing needs to be done here, so drop the empty function. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-31event: Update documentation for simple spySimon Glass1-2/+21
Now that we have two types of spy, mention this in the documentation. Put the simple spy first, since it seems to be the common case. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-31event: Rename EVENT_SPY to EVENT_SPY_FULLSimon Glass3-3/+3
The new name makes it clearer that this is for a full spy, with access to the context and the event data. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-31event: Convert existing spy records to simpleSimon Glass24-78/+52
Very few of the existing event-spy records use the arguments they are passed. Update them to use a simple spy instead, to simplify the code. Where an adaptor function is currently used, remove it where possible. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-31initcall: Support manual relocationSimon Glass3-4/+19
Move the manual-relocation code to the initcall file. Make sure to avoid manually relocating event types. Only true function pointers should be relocated. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-31initcall: Support emitting eventsSimon Glass4-16/+77
At present the initcall list consists of a list of function pointers. Over time the initcall lists will likely change to mostly emitting events, since most of the calls are board- or arch-specific. As a first step, allow an initcall to be an event type instead of a function pointer. Add the required macro and update initcall_run_list() to emit an event in that case, or ignore it if events are not enabled. The bottom 8 bits of the function pointer are used to hold the event type, with the rest being all ones. This should avoid any collision, since initcalls should not be above 0xffffff00 in memory. Convert misc_init_f over to use this mechanism. Add comments to the initcall header file while we are here. Also fix up the trace test to handle the change. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-31event: Export event_type_name()Simon Glass2-1/+9
Export this function so it can be used with initcall debugging. Signed-off-by: Simon Glass <sjg@chromium.org>