]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
2 years agoDrop the special am335x_boneblack_vboot target
Simon Glass [Thu, 27 Jun 2024 08:29:49 +0000 (09:29 +0100)] 
Drop the special am335x_boneblack_vboot target

Now that am335x_evm boots OK on the Beaglebone black, drop the latter
and update the docs to cover the change.

Also add a few updates about 'make fit' and drop the note about the
security review, as U-Boot's verified boot has had quite extensive
review now.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 years agorockchip: bob: kevin: Disable dcache in SPL
Simon Glass [Thu, 27 Jun 2024 08:29:48 +0000 (09:29 +0100)] 
rockchip: bob: kevin: Disable dcache in SPL

This causes a hang, so disable it. Unfortunately the RAM-size fix does
not resolve the problem and I am unsure what is wrong. As soon as the
cache is enabled the board appears to hang.

Fixes: 6d8cdfd1536 ("rockchip: spl: Enable caches to speed up checksum validation")
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agospl: Allow ATF to work when dcache is disabled
Simon Glass [Thu, 27 Jun 2024 08:29:47 +0000 (09:29 +0100)] 
spl: Allow ATF to work when dcache is disabled

The dcache may not be enabled in SPL. Add a check to avoid trying to
use an undefined function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 years agopower: regulator: Handle autoset in regulators_enable_boot_on()
Simon Glass [Thu, 27 Jun 2024 08:29:46 +0000 (09:29 +0100)] 
power: regulator: Handle autoset in regulators_enable_boot_on()

With a recent change, regulators_enable_boot_on() returns an error if a
regulator is already set. Check for and handle this situation.

Fixes: d99fb64a98a power: regulator: Only run autoset once for each regulator
Reviewed-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Jonas Karlman <jonas@kwiboo.se>
2 years agorockchip: veyron: Add logging for power init
Simon Glass [Thu, 27 Jun 2024 08:29:45 +0000 (09:29 +0100)] 
rockchip: veyron: Add logging for power init

Add better logging for power init so that CONFIG_LOG_ERROR_RETURN can
be enabled.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 years agox86: Set a board-size limit for chromebook_link
Simon Glass [Thu, 27 Jun 2024 08:29:44 +0000 (09:29 +0100)] 
x86: Set a board-size limit for chromebook_link

Set a size limit for this board so that we get a build error if it grows
too much.

Note that the limit is approximately, since it does not include the FDT,
microcode and fdtmap, which can change in size. However this board is
fairly stable, so overflowing this limit will likely result in the image
not fitting in the ROM space available for U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agotpm: Avoid code bloat when not using EFI_TCG2_PROTOCOL
Simon Glass [Thu, 27 Jun 2024 08:29:43 +0000 (09:29 +0100)] 
tpm: Avoid code bloat when not using EFI_TCG2_PROTOCOL

It does not make sense to enable all SHA algorithms unless they are
needed. It bloats the code and in this case, causes chromebook_link to
fail to build. That board does use the TPM, but not with measured boot,
nor EFI.

Since EFI_TCG2_PROTOCOL already selects these options, we just need to
add them to MEASURED_BOOT as well.

Note that the original commit combines refactoring and new features,
which makes it hard to see what is going on.

Fixes: 97707f12fda tpm: Support boot measurements
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agonvidia: nyan-big: Disable debug UART
Simon Glass [Thu, 27 Jun 2024 08:29:42 +0000 (09:29 +0100)] 
nvidia: nyan-big: Disable debug UART

This cannot be enabled early in boot since some other init is needed.
At this point it is unclear exactly what init is needed, so disable
the debug UART to avoid a hang.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agoarm: mediatek: fix ram init for mt7622 (decrease to 1G)
Frank Wunderlich [Sat, 15 Jun 2024 09:34:56 +0000 (11:34 +0200)] 
arm: mediatek: fix ram init for mt7622 (decrease to 1G)

RAM init on mt7622 based bananapi R64 is broken since v2023.10.

Increasing the mem-map does not help here, so i reduced the maximum
available ram in get_ram_size call from 2G to 1G (board has only 1G).

Fixes: 5fd6d4c7b3ad ("arm: mediatek: retrieve ram_base from dts node for armv8 platform")
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
2 years agoboard: mpfs_icicle: change maintainer to Conor
Conor Dooley [Sat, 22 Jun 2024 20:18:31 +0000 (21:18 +0100)] 
board: mpfs_icicle: change maintainer to Conor

Padmarao is leaving Microchip soon, and suggested that I should take
over maintaining the Icicle in U-Boot in his stead.

Suggested-by: Padmarao Begari <padmarao.begari@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2 years agoMerge patch series "pxe: Add debugging for booting"
Tom Rini [Wed, 26 Jun 2024 15:58:25 +0000 (09:58 -0600)] 
Merge patch series "pxe: Add debugging for booting"

2 years agozboot: Correct use of state_mask argument
Simon Glass [Wed, 19 Jun 2024 12:34:52 +0000 (06:34 -0600)] 
zboot: Correct use of state_mask argument

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 <sjg@chromium.org>
2 years agozboot: Add debugging for booting
Simon Glass [Wed, 19 Jun 2024 12:34:51 +0000 (06:34 -0600)] 
zboot: Add debugging for booting

Show the boot arguments and the state mask, to aid debugging.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 years agocmd: gpt: Fix freeing gpt_pte in gpt_verify()
Sam Protsenko [Wed, 19 Jun 2024 21:23:30 +0000 (16:23 -0500)] 
cmd: gpt: Fix freeing gpt_pte in gpt_verify()

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 <semen.protsenko@linaro.org>
2 years agopxe: Add debugging for booting
Simon Glass [Wed, 19 Jun 2024 12:34:50 +0000 (06:34 -0600)] 
pxe: Add debugging for booting

Show which boot protocol is being used.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
2 years agocmd: Make use of U_BOOT_LONGHELP when missing
Tom Rini [Wed, 19 Jun 2024 16:09:44 +0000 (10:09 -0600)] 
cmd: Make use of U_BOOT_LONGHELP when missing

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 <trini@konsulko.com>
2 years agoscripts/Makefile.lib: remove bootph-some-ram property from VPL/TPL/SPL
Quentin Schulz [Wed, 19 Jun 2024 11:33:28 +0000 (13:33 +0200)] 
scripts/Makefile.lib: remove bootph-some-ram property from VPL/TPL/SPL

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 <quentin.schulz@cherry.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoarm: davinci: remove unused defines
Emil Kronborg [Wed, 19 Jun 2024 11:00:01 +0000 (11:00 +0000)] 
arm: davinci: remove unused defines

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 <emil.kronborg@protonmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agoarm: davinci: remove unused watchdog functions
Emil Kronborg [Wed, 19 Jun 2024 10:57:49 +0000 (10:57 +0000)] 
arm: davinci: remove unused watchdog functions

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 <emil.kronborg@protonmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
2 years agofs: btrfs: fix out of bounds write
Alex Shumsky [Tue, 18 Jun 2024 21:41:38 +0000 (00:41 +0300)] 
fs: btrfs: fix out of bounds write

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 <alexthreed@gmail.com>
Fixes: e342718 ("fs: btrfs: Implement btrfs_file_read()")
Reviewed-by: Qu Wenruo <wqu@suse.com>
2 years agoMerge patch series "k3-am625-beagleplay: Add symlinks for tiboot3 and tispl"
Tom Rini [Wed, 26 Jun 2024 15:55:29 +0000 (09:55 -0600)] 
Merge patch series "k3-am625-beagleplay: Add symlinks for tiboot3 and tispl"

Dhruva Gole <d-gole@ti.com> 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.

2 years agodoc: beagle: am62x_beagleplay: Rename the boot bins
Dhruva Gole [Tue, 18 Jun 2024 04:49:46 +0000 (10:19 +0530)] 
doc: beagle: am62x_beagleplay: Rename the boot bins

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 <d-gole@ti.com>
2 years agoarm: dts: k3-am625-beagleplay: Add symlinks for tiboot3 and tispl
Dhruva Gole [Tue, 18 Jun 2024 04:49:45 +0000 (10:19 +0530)] 
arm: dts: k3-am625-beagleplay: Add symlinks for tiboot3 and tispl

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 <m-chawdhry@ti.com>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
2 years agoboard: beagleplay: Fix the bootpart to pick from root partition
Dhruva Gole [Tue, 18 Jun 2024 04:53:18 +0000 (10:23 +0530)] 
board: beagleplay: Fix the bootpart to pick from root partition

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>
2 years agoarm: mach-k3: j784s4: Fix MCU_CLKOUT0 parent clock mux
Emanuele Ghidoli [Mon, 17 Jun 2024 09:22:01 +0000 (11:22 +0200)] 
arm: mach-k3: j784s4: Fix MCU_CLKOUT0 parent clock mux

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>
2 years agoMerge patch series "Azure: Correct comment about the strategy in the world matrix...
Tom Rini [Wed, 26 Jun 2024 15:31:05 +0000 (09:31 -0600)] 
Merge patch series "Azure: Correct comment about the strategy in the world 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.

2 years agoAzure: Count all of the machines we would build
Tom Rini [Tue, 18 Jun 2024 14:18:51 +0000 (08:18 -0600)] 
Azure: Count all of the machines we would build

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>
2 years agoAzure: Update some job breakdowns so we build the world again
Tom Rini [Tue, 18 Jun 2024 14:18:50 +0000 (08:18 -0600)] 
Azure: Update some job breakdowns so we build the world again

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>
2 years agoAzure: Spell out the "everything" job
Tom Rini [Tue, 18 Jun 2024 14:18:49 +0000 (08:18 -0600)] 
Azure: Spell out the "everything" job

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>
2 years agoAzure: Rework how we define what to build in the world build
Tom Rini [Tue, 18 Jun 2024 14:18:48 +0000 (08:18 -0600)] 
Azure: Rework how we define what to build in the world build

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>
2 years agoAzure: Correct comment about the strategy in the world matrix build
Tom Rini [Tue, 18 Jun 2024 14:18:47 +0000 (08:18 -0600)] 
Azure: Correct comment about the strategy in the world matrix build

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>
2 years agoMerge patch series "arm64: add a software pagetable walker"
Tom Rini [Tue, 25 Jun 2024 23:22:36 +0000 (17:22 -0600)] 
Merge patch series "arm64: add a software pagetable walker"

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

2 years agomeson: Correct driver declaration for meson_axg_gpio
Simon Glass [Sun, 23 Jun 2024 20:30:26 +0000 (14:30 -0600)] 
meson: Correct driver declaration for meson_axg_gpio

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 <neil.armstrong@linaro.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240623203033.1566505-8-sjg@chromium.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 years agodoc: arch: arm64: describe pagetable debugging
Caleb Connolly [Mon, 17 Jun 2024 08:03:49 +0000 (10:03 +0200)] 
doc: arch: arm64: describe pagetable debugging

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>
2 years agoarm64: add software pagetable walker
Caleb Connolly [Mon, 17 Jun 2024 08:03:48 +0000 (10:03 +0200)] 
arm64: add software pagetable walker

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>
2 years agoarm64: mmu.h: fix PTE_TABLE_AP
Caleb Connolly [Mon, 17 Jun 2024 08:03:47 +0000 (10:03 +0200)] 
arm64: mmu.h: fix PTE_TABLE_AP

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>
2 years agousb: dwc3: meson-g12a: drop usb.h and make dwc3_meson_g12a_force_mode static
Neil Armstrong [Thu, 20 Jun 2024 07:42:54 +0000 (09:42 +0200)] 
usb: dwc3: meson-g12a: drop usb.h and make dwc3_meson_g12a_force_mode static

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 <marex@denx.de>
Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-5-b81c027bc02c@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 years agousb: dwc3: meson-gxl: drop usb-gx.h and make dwc3_meson_gxl_force_mode static
Neil Armstrong [Thu, 20 Jun 2024 07:42:53 +0000 (09:42 +0200)] 
usb: dwc3: meson-gxl: drop usb-gx.h and make dwc3_meson_gxl_force_mode static

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 <marex@denx.de>
Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-4-b81c027bc02c@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 years agophy: meson-gxl-usb2: remove phy_meson_gxl_usb2_set_mode
Neil Armstrong [Thu, 20 Jun 2024 07:42:52 +0000 (09:42 +0200)] 
phy: meson-gxl-usb2: remove phy_meson_gxl_usb2_set_mode

Remove the public phy_meson_gxl_usb2_set_mode and move
the implementation in the the set_mode callback.

Reviewed-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-3-b81c027bc02c@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 years agousb: dwc3: meson-gxl: switch to generic_phy_set_mode
Neil Armstrong [Thu, 20 Jun 2024 07:42:51 +0000 (09:42 +0200)] 
usb: dwc3: meson-gxl: switch to generic_phy_set_mode

Use the PHY set_mode call instead of calling directly in the
PHY shared function.

Reviewed-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-2-b81c027bc02c@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 years agophy: meson-gxl-usb2: add set_mode callback
Neil Armstrong [Thu, 20 Jun 2024 07:42:50 +0000 (09:42 +0200)] 
phy: meson-gxl-usb2: add set_mode callback

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 <marex@denx.de>
Link: https://lore.kernel.org/r/20240620-u-boot-usb-gxl-phy-set-mode-v2-1-b81c027bc02c@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 years agoboard: beagle: beagleplay: enable OF_SYSTEM_SETUP
Bryan Brattlof [Wed, 19 Jun 2024 19:12:30 +0000 (14:12 -0500)] 
board: beagle: beagleplay: enable OF_SYSTEM_SETUP

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 <afd@ti.com>
CC: Nishanth Menon <nm@ti.com>
CC: Robert Nelson <robertcnelson@gmail.com>
Reported-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
Tested-by: Robert Nelson <robertcnelson@gmail.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Acked-by: Chirag Shilwant <c-shilwant@ti.com>
Tested-by: Dhruva Gole <d-gole@ti.com>
2 years agoMerge tag 'v2024.07-rc5' into next
Tom Rini [Mon, 24 Jun 2024 19:34:52 +0000 (13:34 -0600)] 
Merge tag 'v2024.07-rc5' into next

Prepare v2024.07-rc5

2 years agoPrepare v2024.07-rc5 v2024.07-rc5
Tom Rini [Mon, 24 Jun 2024 19:29:32 +0000 (13:29 -0600)] 
Prepare v2024.07-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>
2 years agoMerge tag 'u-boot-imx-next-20240624' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 24 Jun 2024 16:40:03 +0000 (10:40 -0600)] 
Merge tag 'u-boot-imx-next-20240624' of 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.

2 years agoconfigs: j784s4_evm_r5_defconfig: Enable CONFIG_K3_QOS
Jayesh Choudhary [Fri, 14 Jun 2024 12:44:42 +0000 (18:14 +0530)] 
configs: j784s4_evm_r5_defconfig: Enable CONFIG_K3_QOS

Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agoconfigs: j721s2_evm_r5_defconfig: Enable CONFIG_K3_QOS
Jayesh Choudhary [Fri, 14 Jun 2024 12:44:41 +0000 (18:14 +0530)] 
configs: j721s2_evm_r5_defconfig: Enable CONFIG_K3_QOS

Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agoconfigs: j721e_evm_r5_defconfig: Enable CONFIG_K3_QOS
Jayesh Choudhary [Fri, 14 Jun 2024 12:44:40 +0000 (18:14 +0530)] 
configs: j721e_evm_r5_defconfig: Enable CONFIG_K3_QOS

Enable CONFIG_K3_QOS to set QoS registers in R5 boot stage.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agoarm: mach-k3: j784s4: Enable QoS for DSS
Jayesh Choudhary [Fri, 14 Jun 2024 12:44:39 +0000 (18:14 +0530)] 
arm: mach-k3: j784s4: Enable QoS for DSS

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>
2 years agoarm: mach-k3: j721s2: Enable QoS for DSS
Jayesh Choudhary [Fri, 14 Jun 2024 12:44:38 +0000 (18:14 +0530)] 
arm: mach-k3: j721s2: Enable QoS for DSS

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>
2 years agoarm: mach-k3: j721e: Enable QoS for DSS
Jayesh Choudhary [Fri, 14 Jun 2024 12:44:37 +0000 (18:14 +0530)] 
arm: mach-k3: j721e: Enable QoS for DSS

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>
2 years agoarm: mach-k3: am62a: Simplify the logic for QOS reg and val propagation
Jayesh Choudhary [Fri, 14 Jun 2024 12:44:36 +0000 (18:14 +0530)] 
arm: mach-k3: am62a: Simplify the logic for QOS reg and val propagation

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>
2 years agoarm: mach-k3: am62a_qos: Move common bit MACROS to k3_qos header file
Jayesh Choudhary [Fri, 14 Jun 2024 12:44:35 +0000 (18:14 +0530)] 
arm: mach-k3: am62a_qos: Move common bit MACROS to k3_qos header file

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>
2 years agoMerge tag 'tpm-master-24062024' of https://source.denx.de/u-boot/custodians/u-boot-tpm
Tom Rini [Mon, 24 Jun 2024 15:49:37 +0000 (09:49 -0600)] 
Merge tag 'tpm-master-24062024' of 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.

2 years agoARM: imx: Enable SPL DTO application support for i.MX8MP DHCOM PDK2
Marek Vasut [Sun, 23 Jun 2024 18:44:19 +0000 (20:44 +0200)] 
ARM: imx: Enable SPL DTO application support for i.MX8MP DHCOM PDK2

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>
2 years agoboard: gateworks: venice: Simplify Ethernet initialization
Tim Harvey [Thu, 20 Jun 2024 22:24:44 +0000 (15:24 -0700)] 
board: gateworks: venice: Simplify Ethernet initialization

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>
2 years agoimx8mp-venice-gw702x: Drop EQos clock workaround
Tim Harvey [Thu, 20 Jun 2024 01:30:18 +0000 (18:30 -0700)] 
imx8mp-venice-gw702x: Drop EQos clock workaround

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>
2 years agoimx8mp-venice-gw74xx: default USB1 to host mode
Tim Harvey [Wed, 19 Jun 2024 21:44:04 +0000 (14:44 -0700)] 
imx8mp-venice-gw74xx: default USB1 to host mode

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>
2 years agoimx8m{m,p}_venice: add NVMe to boot devices
Tim Harvey [Wed, 19 Jun 2024 21:13:58 +0000 (14:13 -0700)] 
imx8m{m,p}_venice: add NVMe to boot devices

Add nvme device 0 to available boot devices.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2 years agoboard: gateworks: venice: add print for GPY111 PHY name
Tim Harvey [Wed, 19 Jun 2024 21:13:39 +0000 (14:13 -0700)] 
board: gateworks: venice: add print for GPY111 PHY name

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>
2 years agoboard: gateworks: venice: delay before reading GSC EEPROM
Tim Harvey [Wed, 19 Jun 2024 21:13:22 +0000 (14:13 -0700)] 
board: gateworks: venice: delay before reading GSC EEPROM

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>
2 years agoboard: gateworks: venice: enable GSC supervisor for new board models
Tim Harvey [Wed, 19 Jun 2024 21:12:58 +0000 (14:12 -0700)] 
board: gateworks: venice: enable GSC supervisor for new board models

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>
2 years agodt-bindings: imx: Drop redundant imports with dts/upstream
Sumit Garg [Wed, 19 Jun 2024 12:53:10 +0000 (18:23 +0530)] 
dt-bindings: imx: Drop redundant imports with dts/upstream

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>
2 years agoarm: fsl: imx6ulz_bsh_smm_m2: Migrate to OF_UPSTREAM
Patrick Barsanti [Thu, 13 Jun 2024 10:24:09 +0000 (12:24 +0200)] 
arm: fsl: imx6ulz_bsh_smm_m2: Migrate to OF_UPSTREAM

Migrate imx6ulz_bsh_smm_m2 board to OF_UPSTREAM.

Signed-off-by: Patrick Barsanti <patrick.barsanti@amarulasolutions.com>
2 years agoarm: fsl: imx8mn_bsh_smm_s2: Migrate to OF_UPSTREAM
Patrick Barsanti [Mon, 24 Jun 2024 12:13:11 +0000 (09:13 -0300)] 
arm: fsl: imx8mn_bsh_smm_s2: Migrate to OF_UPSTREAM

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>
2 years agoefi_loader: fix the return values on efi_tcg
Ilias Apalodimas [Sat, 22 Jun 2024 14:35:38 +0000 (17:35 +0300)] 
efi_loader: fix the return values on efi_tcg

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>
2 years agotpm: fix the return code, if the eventlog buffer is full
Ilias Apalodimas [Sat, 22 Jun 2024 14:35:37 +0000 (17:35 +0300)] 
tpm: fix the return code, if the eventlog buffer is full

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>
2 years agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-usb
Tom Rini [Mon, 24 Jun 2024 00:06:32 +0000 (18:06 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-usb

2 years agoMerge tag 'doc-2024-07-rc5-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Mon, 24 Jun 2024 00:06:18 +0000 (18:06 -0600)] 
Merge tag 'doc-2024-07-rc5-2' of 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

2 years agodoc: board: ti: Add capsule documentation for TI K3 devices
Jonathan Humphreys [Fri, 21 Jun 2024 20:17:06 +0000 (15:17 -0500)] 
doc: board: ti: Add capsule documentation for TI K3 devices

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>
2 years agodoc: develop: testing: Fix reference to test writing section
Alexander Dahl [Fri, 21 Jun 2024 07:47:20 +0000 (09:47 +0200)] 
doc: develop: testing: Fix reference to test writing section

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>
2 years agodoc: develop: testing: Fix broken reference to pytest suite help
Alexander Dahl [Fri, 21 Jun 2024 07:47:19 +0000 (09:47 +0200)] 
doc: develop: testing: Fix broken reference to pytest suite help

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>
2 years agoboot: links to FIT documentation in Kconfig
Heinrich Schuchardt [Tue, 18 Jun 2024 06:23:17 +0000 (08:23 +0200)] 
boot: links to FIT documentation in Kconfig

Correct the links to the FIT documentation in boot/Kconfig.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agodoc: FIT links in develop/uefi/uefi.rst
Heinrich Schuchardt [Tue, 18 Jun 2024 06:16:44 +0000 (08:16 +0200)] 
doc: FIT links in develop/uefi/uefi.rst

Correct the links to the FIT documentation.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 years agocmd: link to doc/usage/fit/x86-fit-boot.rst
Heinrich Schuchardt [Tue, 18 Jun 2024 06:05:46 +0000 (08:05 +0200)] 
cmd: link to doc/usage/fit/x86-fit-boot.rst

Replace the outdated link.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoMerge patch series "boot: fix crash in bootflow menu with EFI BOOTMGR support + typos"
Tom Rini [Thu, 20 Jun 2024 14:46:06 +0000 (08:46 -0600)] 
Merge patch series "boot: fix crash in bootflow menu with EFI BOOTMGR 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.

2 years agoMerge patch series "lib: smbios: Extend driver with using sysinfo driver"
Tom Rini [Thu, 20 Jun 2024 14:36:06 +0000 (08:36 -0600)] 
Merge patch series "lib: smbios: Extend driver with using sysinfo driver"

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.

2 years agoboot: bootflow_menu: fix crash for EFI BOOTMGR global bootmeth
Quentin Schulz [Wed, 12 Jun 2024 14:58:49 +0000 (16:58 +0200)] 
boot: bootflow_menu: fix crash for EFI BOOTMGR global bootmeth

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>
2 years agolib: smbios: Detect system properties via SYSINFO IDs
Michal Simek [Fri, 26 Apr 2024 13:38:13 +0000 (15:38 +0200)] 
lib: smbios: Detect system properties via SYSINFO IDs

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>
2 years agodoc: bootstd: fix typos
Quentin Schulz [Wed, 12 Jun 2024 14:58:48 +0000 (16:58 +0200)] 
doc: bootstd: fix typos

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>
2 years agoboot: fix typos in help text of Kconfig configs
Quentin Schulz [Wed, 12 Jun 2024 14:58:47 +0000 (16:58 +0200)] 
boot: fix typos in help text of Kconfig configs

This fixes a handful of typos in various help texts in Kconfig configs.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agocmd: fix typo in CMD_BOOTMETH help text
Quentin Schulz [Wed, 12 Jun 2024 14:58:46 +0000 (16:58 +0200)] 
cmd: fix typo in CMD_BOOTMETH help text

It's bootmeths and not bootmethds.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agolib: smbios: Let detect the system via sysinfo
Michal Simek [Fri, 26 Apr 2024 13:38:12 +0000 (15:38 +0200)] 
lib: smbios: Let detect the system via sysinfo

Currently code looks like that it sysinfo drivers are supported but
actually none checking that system is detected. That's why call
sysinfo_detect() to make sure that priv->detected in sysinfo uclass is
setup hence information from driver can be passed to smbios.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 years agoxilinx: Enable SMBIOS command
Michal Simek [Fri, 26 Apr 2024 13:38:11 +0000 (15:38 +0200)] 
xilinx: Enable SMBIOS command

It is good to be aware what information is shared via smbios interface
that's why enable it by default.

Signed-off-by: Michal Simek <michal.simek@amd.com>
2 years agoarm: dts: corstone1000: enable secondary cores for FVP
Harsimran Singh Tungal [Wed, 12 Jun 2024 10:04:21 +0000 (11:04 +0100)] 
arm: dts: corstone1000: enable secondary cores for FVP

Add the secondary cores nodes in the dts file

Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Rui Miguel Silva <rui.silva@linaro.org>
2 years agoMerge patch series "Enable ICSSG Driver for AM64x"
Tom Rini [Wed, 19 Jun 2024 21:25:42 +0000 (15:25 -0600)] 
Merge patch series "Enable ICSSG Driver for AM64x"

MD Danish Anwar <danishanwar@ti.com> says:

This series adds config changes and env changes to enable ICSSG Ethernet
Driver on AM64x.

2 years agoboard: ti: am64x: Set storage_interface and fw_dev_part ENVs
MD Danish Anwar [Wed, 12 Jun 2024 11:07:49 +0000 (16:37 +0530)] 
board: ti: am64x: Set storage_interface and fw_dev_part ENVs

When ICSSG driver is enabled (CONFIG_TI_ICSSG_PRUETH=y) set
storage_interface and fw_dev_part env variables.

These variables need be set appropriately in order to load different
ICSSG firmwares needed for ICSSG driver. By default the storage
interface is mmc and the partition is 1:2. User can modify this based on
their needs.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
2 years agoconfigs: am64x_evm_a53: Enable ICSSG Driver
MD Danish Anwar [Wed, 12 Jun 2024 11:07:48 +0000 (16:37 +0530)] 
configs: am64x_evm_a53: Enable ICSSG Driver

Enable ICSSG driver, DP83869 phy driver, REMOTEPROC and PRU_REMOTEPROC
in am64x_evm_a53_defconfig. All these configs are needed for ICSSG
driver.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
2 years agoefi_loader: avoid duplicate weak invalidate_icache_all()
Heinrich Schuchardt [Sun, 16 Jun 2024 17:31:05 +0000 (19:31 +0200)] 
efi_loader: avoid duplicate weak invalidate_icache_all()

If multiple weak implementations of a weak function exist, it is unclear
which one the linker should chose. cmd/cache.c already defines a weak
invalidate_icache_all().

We don't need a call to invalidate_icache_all() on x86.
ARM, RISC-V, and Sandbox provide an implementation.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 years agoarm: implement invalidate_icache_all on ARM11
Heinrich Schuchardt [Sun, 16 Jun 2024 17:31:04 +0000 (19:31 +0200)] 
arm: implement invalidate_icache_all on ARM11

In EFI sub-system we rely on invalidate_icache_all() to invalidate the
instruction cache after loading binaries. Add the missing implementation on
ARM1136, ARM1176.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 years agoMerge patch series "Add basic U-Boot Support for J722S-EVM"
Tom Rini [Wed, 19 Jun 2024 18:08:49 +0000 (12:08 -0600)] 
Merge patch series "Add basic U-Boot Support for J722S-EVM"

Jayesh Choudhary <j-choudhary@ti.com> says:

Hello there,

This series add the U-Boot support for our new platform of K3-SOC
family - J722S-EVM which is a superset of AM62P. It shares the same
memory map and thus the nodes are being reused from AM62P includes
instead of duplicating the definitions.

Some highlights of J722S SoC (in addition to AM62P SoC features) are:

- Two Cortex-R5F for Functional Safety or general-purpose usage and
  two C7x floating point vector DSP with Matrix Multiply Accelerator
  for deep learning.

- Vision Processing Accelerator (VPAC) with image signal processor
  and Depth and Motion Processing Accelerator (DMPAC).

- 7xUARTs, 3xSPI, 5xI2C, 2xUSB2, 2xCAN-FD, 3xMMC and SD, GPMC for
  NAND/FPGA connection, OSPI memory controller, 5xMcASP for audio,
  4xCSI-RX for Camera, 1 PCIe Gen3 controller, USB3.0 eCAP/eQEP,
  ePWM, among other peripherals.

TRM: <https://www.ti.com/lit/zip/sprujb3>
Schematics: <https://www.ti.com/lit/zip/sprr495>

Boot test log:
<https://gist.github.com/Jayesh2000/0313e58fde377f877a9a8f1acc2579ef>

2 years agodoc: board: ti: Add J722S-EVM documentation
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:23 +0000 (14:41 +0530)] 
doc: board: ti: Add J722S-EVM documentation

Introduce basic documentation for the J722S-EVM.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2 years agoconfigs: introduce configs needed for the J722S
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:22 +0000 (14:41 +0530)] 
configs: introduce configs needed for the J722S

Introduce the initial configs needed to support the J722S SoC family.

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agoarm: dts: Introduce J722S U-Boot dts files
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:21 +0000 (14:41 +0530)] 
arm: dts: Introduce J722S U-Boot dts files

Include the uboot device tree files needed to boot the board.

Co-developed-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agofirmware: ti_sci_static_data: Add static DMA channel
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:20 +0000 (14:41 +0530)] 
firmware: ti_sci_static_data: Add static DMA channel

Include the static DMA channel data for using DMA at SPL stage
for J722S SoC family.

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agoboard: ti: Introduce basic board files for the J722S family
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:19 +0000 (14:41 +0530)] 
board: ti: Introduce basic board files for the J722S family

Introduce the basic files needed to support the TI J722S family of SoCs.

Co-developed-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agoarch: mach-k3: Introduce basic files to support J722S SoC family
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:18 +0000 (14:41 +0530)] 
arch: mach-k3: Introduce basic files to support J722S SoC family

Introduce the basic functions and definitions needed to properly
initialize TI J722S family of SoCs.

Co-developed-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agoram: k3-ddrss: Enable the am62ax's DDR controller for J722S
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:17 +0000 (14:41 +0530)] 
ram: k3-ddrss: Enable the am62ax's DDR controller for J722S

The J722S family of SoCs uses the same DDR controller as found on the
AM62A family. Enable this option when building for the J722S family.

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2 years agoarm: mach-k3: j722s: introduce clock and device files for wkup spl
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:16 +0000 (14:41 +0530)] 
arm: mach-k3: j722s: introduce clock and device files for wkup spl

Include the clock and lpsc tree files needed for the wkup spl to
initialize the proper PLLs and power domains to boot the SoC.

Reviewed-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
2 years agoarm: mach-k3: r5: Makefile: Fix the order for entries
Jayesh Choudhary [Wed, 12 Jun 2024 09:11:15 +0000 (14:41 +0530)] 
arm: mach-k3: r5: Makefile: Fix the order for entries

Add the entries in alphabetical order.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>