Commit Graph

95263 Commits

Author SHA1 Message Date
Ye Li
7ddb2c91c1 imx9: soc: Configure TRDC for M33 TCM access
On OSCCA part, M33 TCM is used for ROM PATCH and protected by ELE ROM.
So after release TRDC, we need to configure TRDC for M33 TCM,
otherwise A55 can't access the TCM.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
2024-09-19 00:12:41 -03:00
Peng Fan
4b34da4322 imx9: soc: wait ssar when power on power domain
SSAR handshake done means power on finished, not ISO done. so correct
the waiting mask.

Fixes: 0256577a83 ("imx: imx9: Add MIX power init")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2024-09-19 00:12:41 -03:00
Tom Rini
c17805e19b Merge patch series "Fix various bugs"
Simon Glass <sjg@chromium.org> says:

This series includes the patches needed to make make the EFI 'boot' test
work. That test has now been split off into a separate series along with
the EFI patches.

This series fixes these problems:
- sandbox memory-mapping conflict with PCI
- the fix for that causes the mbr test to crash as it sets up pointers
  instead of addresses for its 'mmc' commands
- the mmc and read commands which cast addresses to pointers
- a tricky bug to do with USB keyboard and stdio
- a few other minor things
2024-09-18 13:07:19 -06:00
Simon Glass
017b441b2e test: mbr: Drop a duplicate test
The test currently runs twice as it is declared twice. Unwind this.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
6cfc777b96 test: mbr: Use RAM for the buffers
The normal approach with sandbox is to use a fixed memory address in the
RAM, to avoid needing to create a map for transient local variables.

Update this test to use this approach.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
e9d899591c test: mbr: Use a constant for the block size
It isn't that important to factor out constants in tests, but in this
case we have 0x200 and 512 used. The commands don't use the constant
as they use a block count ('1'). It doesn't create more code to use a
constant, so create one.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
705cc13ce7 test: mbr: Unmap the buffers after use
This tests maps some local variables into sandbox's address space. Make
sure to unmap them afterwards.

Note that the normal approach with sandbox is to use a fixed memory
address in the RAM, to avoid needing to create a map for transient local
variables.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 04291ee0ab ("cmd: mbr: Allow 4 MBR partitions without need...")
2024-09-18 13:01:00 -06:00
Simon Glass
7086a894f0 cmd: Fix memory-mapping in cmp command
This unmaps a different address from what was mapped. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
42f5ffb239 read: Tidy up use of map_sysmem() in the read command
Rename the variable to 'ptr' since it is a pointer, not an address. Make
sure to unmap the pointer.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
cc6a1b6902 mmc: Use map_sysmem() with buffers in the mmc command
The current implementation casts an address to a pointer. Make it more
sandbox-friendly by using map_sysmem().

Rename the variable to 'ptr' since it is a pointer, not an address.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
f452e8f092 sandbox: Implement reference counting for address mapping
An address may be mapped twice and unmapped twice. Delete the mapping
only when the last user unmaps it.

Fix a missing comment while here.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
505b21b607 sandbox: Add some debugging to pci_io
Add a little debugging to this driver. Convert the existing debugging to
use logging.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
e82baf0801 sandbox: Unmap old tags
So far unmapping has not been implemented. This means that if one test
maps a pointer to an address with map_sysmem(), then a second test can
use that same pointer, by mapping the address back to a pointer with
map_to_sysmem(). This is not really desirable, even if it doesn't
cause any problems at the moment.

Implement unmapping, to clean this up.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
58f26a17b4 sandbox: Update cpu to use logging
Use log_debug() instead of including the function name in the string.
Add one more debug for PCI.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
df2c5941a6 sandbox: Change the range used for memory-mapping tags
Sandbox keeps a table of addresses which map to pointers which are
outside its emulated DRAM. The current range from 10000000 conflicts
with the PCI range, meaning that if PCI mapping is on, that particular
address can be decoded by PCI instead of the table.

Fix this by moving the range up to the top of memory. Update the docs
while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
e7474ac689 test: mbr: Adjust test to drop 0x
U-Boot commands typically don't need 0x to specify hex, since they use
hex by default. Adding 0x in this test is confusing since it suggests
that it is necessary. Drop it from the file.

Also use the %#x construct to get the 0x when needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
1c9b37ec03 test: mbr: Adjust test to use lower-case hex
Switch to lower-case hex which is more commonly used in U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
bc624321dc dm: usb: Deal with USB keyboard persisting across tests
Clear any USB-keyboard devices before running a unit test, to avoid
using a stale udevice pointer in stdio. Add a long comment to explain
this situation and why this solution seems best, at least for now.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
010c449263 usb: Add DEV_FLAGS_DM to stdio for USB keyboard
This device contains a pointer to struct udevice so set the flag
indicating that, just to be tidy.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:01:00 -06:00
Simon Glass
90afded462 log: Add a new log category for the console
Add a new category which covers the console, including the stdio
drivers.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:00:59 -06:00
Simon Glass
4048219957 usb: Drop old non-DM code
The driver model deadline for USB was in 2019, so drop the old USB
keyboard code, to avoid needing to deal with the extra code path.

Drop the unnecessary #ifdef around USB_KBD_BOOT_REPORT_SIZE while we
are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:00:59 -06:00
Simon Glass
a3fab7d1fb bootstd: Create a function to reset USB
Set up a function for this, since it needs to be used from multiple test
files.

This test file is only used on sandbox, where USB is enabled, so drop
the local declaration of usb_started

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:00:59 -06:00
Simon Glass
13a29ec40c scripts: Update pylint.base
There have been quite a few changes in the Python scripts, so update the
pylint baseline.

This was created using:

   make pylint
   cp pylint.cur scripts/pylint.base

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:00:59 -06:00
Simon Glass
b6ef3382e8 test/py: Fix some pylint warnings in test_ut.py
Tidy up most of these warnings. Remaining are four of these:

   R0914: Too many local variables

which can only by fixed by splitting things into functions, so that is
left for another time.

Part of this change was done by the flynt tool.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:00:59 -06:00
Simon Glass
ec811ab654 nvmxip: Avoid probing on boot
Devices should be probed when they are used, not before. Drop this
boot-time probing.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:00:59 -06:00
Simon Glass
48fef88f94 nvmxip: Drop the message on probe
We should not need to announce this device. Drop the message.

Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-18 13:00:59 -06:00
Marek Vasut
650883a568 cmd: osd: Depend on OSD
The OSD command calls functions from video_osd-uclass.o ,
which is built only when CONFIG_OSD is enabled. Add the
missing dependency into Kconfig.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-09-16 16:46:16 -06:00
Tomas Paukrt
6c0943ff54 cmd: mmc: Allow using partition name in mmc erase command
The mmc erase command currently requires blk# and cnt parameters
which can be obtained using the part start and part size commands
if the entire partition needs to be erased.

Simplify the use of the mmc erase command by allowing the partition
name to be specified directly.

Signed-off-by: Tomas Paukrt <tomaspaukrt@email.cz>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2024-09-16 16:45:55 -06:00
Marek Vasut
39aa94a5c3 mmc: Hide mmc speed command under mmc command
The mmc speed command configuration option keeps showing up in
Kconfig directly in 'Command line interface'. Move MMC_SPEED_MODE_SET
under CMD_MMC to make it show up alongside the MMC command.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2024-09-16 16:44:15 -06:00
Tom Rini
773f138632 Merge patch series "Arm: npcm: modify npcm8xx boot setting"
Jim Liu <jim.t90615@gmail.com> says:

Modify npcm8xx new boot design.
Correct memory setting and set gpio default value.
2024-09-16 16:43:53 -06:00
Stanley Chu
3aa2eac4f0 pinctrl: npcm8xx: clear all gpio events
Clear all gpio events to avoid unexpected interrupts
during kernel booting.

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
2024-09-16 16:43:35 -06:00
Jim Liu
28fe59e7d3 configs: arbel_evb: change env offset and boot address
Change env offset and boot address for new design.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2024-09-16 16:43:35 -06:00
Jim Liu
d01ba96a8c board: arbel: correct the dram bank size
If CONFIG_SYS_MEM_TOP_HIDE is defined, gd->ram_size is reduced by
CONFIG_SYS_MEM_TOP_HIDE. Need to correct the actual ram size in
dram_init_banksize.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
2024-09-16 16:43:35 -06:00
Chia-Wei Wang
fca70d6181 drivers/crypto: aspeed: Add Caliptra SHA ACC support
Aspeed AST27xx SoCs integrate the CPTRA 1.0 secure IP, which
export a SHA accelerator interface for SoC to use.

Note that CPTRA 1.0 supports only SHA384 and SHA512 and this
patch is verified by the 'hash test sha384/sha512' commands.

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
2024-09-16 16:37:17 -06:00
Tom Rini
19dbc09405 Merge tag 'v2024.10-rc5' into next
Prepare v2024.10-rc5
2024-09-16 14:48:13 -06:00
Tom Rini
c97ada2dc6 Prepare v2024.10-rc5
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-16 14:41:32 -06:00
Tom Rini
640582c72b doc/develop/sending_patches.rst: Reword where our git tree is slightly
We shouldn't have had the link to our git tree be contained within "``"
as that meant that it did not work as a link, so remove those. And
rather than make this a link plus text, keep this as a link within the
text for overall clarity.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-16 14:33:41 -06:00
Tom Rini
979207ed6b Merge patch series "Bump new hush commits and fix old hush test behavior"
Francis Laniel <francis.laniel@amarulasolutions.com> says:

Hi!

With this series, I bumped the new hush to get the latest commits from upstream.

Also, I added back a reverted commit which goal was to fix a bad behavior in
old hush test.
I had to tweak a bit this commit, but everything worked both locally and in the
CI.
2024-09-13 13:44:00 -06:00
Francis Laniel
874be948de cli: modern_hush: Add upstream commits up to 13 July 2024
This commit adds the following hush busybox upstream commits:
23da5c4b716b ("hush: do not exit interactive shell on some redirection errors")
14e28c18ca1a ("hush: fix "exec 3>FILE" aborting if 3 is exactly the next free fd")
6c38d0e9da2d ("hush: avoid duplicate fcntl(F_SETFD, FD_CLOEXEC) during init")
758b21402abc ("hush: detect when terminating "done"/"fi" is missing")
2639f3bc72ac ("hush: set G.ifs sooner (prevents segfault)")

Adding specific ifdef and endif guard was needed for 2639f3bc72ac.

Signed-off-by: Francis Laniel <francis.laniel@amarulasolutions.com>
2024-09-13 13:43:56 -06:00
Ion Agorria
80ef176ac1 test: hush: dollar: fix bugous behavior
The dollar test was merged with bugous console behavior, and
instead of fixing it, this behavior was just workarounded.
This was done to keep compatibility with the existing behavior.

It seems like without the fix the ut_assert_skipline(); didn't clear
console and running ut_assert_skipline(); many times would give always
OK. With e58bafc35f ("lib: membuff: fix readline not returning line in case of overflow")
the line is cleared correctly and next assert fails because now there
is nothing to clean which is correct if we look the this a bit above
the failing assert:

    if (gd->flags & GD_FLG_HUSH_MODERN_PARSER) {
         /*
          * For some strange reasons, the console is not empty after
          * running above command.
          * So, we reset it to not have side effects for other tests.
          */
         console_record_reset_enable();
    } else if (gd->flags & GD_FLG_HUSH_OLD_PARSER) {
         ut_assert_console_end();
    }

Which further confirms that tests workaround the old problem and now
that problem is fixed we can remove the whole if blocks and simply
place ut_assert_console_end() right after ut_assert_skipline() without
any conditional and will pass green.

So this part of code goes from:
    ut_assert_skipline();
    ut_assert_skipline();

    if (gd->flags & GD_FLG_HUSH_MODERN_PARSER) {
        /* See above comments. */
        console_record_reset_enable();
    } else if (gd->flags & GD_FLG_HUSH_OLD_PARSER) {
        ut_assert_console_end();
    }

to become:
    ut_assert_skipline();
    if (gd->flags & GD_FLG_HUSH_OLD_PARSER) {
        ut_assert_skipline();
    }
    ut_assert_console_end();

The if block mentioned above that calls console_record_reset_enable() is
completely removed as fixed by e58bafc35f.

[flaniel: adapt second if]

Signed-off-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20240105072212.6615-8-clamor95@gmail.com
[mkorpershoek: reworded commit title]
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
[flaniel: remove console_record_reset_enable() if]
Signed-off-by: Francis Laniel <francis.laniel@amarulasolutions.com>
2024-09-13 13:43:56 -06:00
Tom Rini
35394e1ea7 Merge tag 'efi-next-20241024' of https://source.denx.de/u-boot/custodians/u-boot-efi into next
Pull request efi-next-20241024

UEFI:

* Use generated UUIDs in UEFI capsules:
  - efi: define struct efi_guid
  - lib: uuid: add UUID v5 support
  - efi: add a helper to generate dynamic UUIDs
  - doc: uefi: document dynamic UUID generation
  - sandbox: switch to dynamic UUIDs
  - lib: uuid: supporting building as part of host tools
  - include: export uuid.h
  - tools: mkeficapsule: use u-boot UUID library
  - tools: mkeficapsule: support generating dynamic GUIDs
  - test: lib/uuid: add unit tests for dynamic UUIDs
  - test: lib/uuid: add tests for UUID version/variant bits

* Minor code clean-up
  - shorten efi_bootmgr_release_uridp_resource()
  - rename efi_bootmgr_image_return_notify
  - return the correct error in efi_bootmgr_release_uridp()
  - Kconfig: clean up the efi configuration status
  - Use puts() in cout so that console recording works
  - Put back copyright message in helloworld.c
2024-09-13 08:20:25 -06:00
Tom Rini
a7b83ade98 Merge tag 'doc-2024-10-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request doc-2024-10-rc4

* doc/develop/sending_patches.rst: Clarify when to use which branch
* doc/arch/m68k.rst: Update toolchain comment
* doc/arch/mips.rst: Update toolchain list
* doc: Update rST to not reference the old wiki
* doc/mkeficapsule.1: Update homepage link
* bootcount: Update to point to current documentation
* binman: Update links for sending patches
2024-09-13 08:18:54 -06:00
Tom Rini
ff994a3c2e binman: Update links for sending patches
When linking to our documentation for submitting patches, we shouldn't
point at the old wiki but instead our current documentation.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-12 18:14:50 +02:00
Tom Rini
7387be522e bootcount: Update to point to current documentation
The current documentation for the bootcount API is on our website and
not the old wiki, update the link in two places.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-12 18:14:49 +02:00
Tom Rini
656b32710a doc/mkeficapsule.1: Update homepage link
The project home page is no longer the old wiki, but
https://www.u-boot.org/

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-12 18:14:49 +02:00
Tom Rini
8002b1c07c doc: Update rST to not reference the old wiki
In two places we had references to the old wiki pages instead of links
to the relevant part of our documentation. Update (and slightly reword)
these spots.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-12 18:14:49 +02:00
Tom Rini
19fac2b1d0 doc/arch/mips.rst: Update toolchain list
Remove both the ELDK and emdebian links as they are broken, and add a
link to the kernel.org toolchains which we use in CI.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-12 18:14:49 +02:00
Tom Rini
6638f3a918 doc/arch/m68k.rst: Update toolchain comment
The old wiki page has not exited for quite some time, update to note
what we build with in CI at least.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-09-12 18:14:49 +02:00
Tom Rini
85deb7f69c doc/develop/sending_patches.rst: Clarify when to use which branch
The previous wording on the paragraph about what branch to use when
submitting patches did not reflect how / when the next branch is
currently used. Reword this to note that master should be used for bug
and regression fixes, always, and that next should be used once it
opens, with -rc2.

Reported-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-09-12 18:13:52 +02:00
Simon Glass
7de51622a2 efi_loader: Put back copyright message
This was lost in a later commit, so add it back.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-09-12 17:36:27 +02:00