Commit graph

91358 commits

Author SHA1 Message Date
Tom Rini
e7f9e5eb58 Merge branch '2024-01-24-assorted-fixes-and-updates'
- Increase SYS_MAXARGS default, verdin-am62 improvements (and required
  cleanup), assorted cleanups throughout the code base.
2024-01-25 11:01:38 -05:00
Yang Xiwen
53c3e38606 reset: reset-hisilicon: also handle #reset-cells = <2>
It's also valid to have #reset-cells = <2> while the third arg defaults
to ASSERT_SET.

Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
2024-01-24 16:17:14 -05:00
Heinrich Schuchardt
aeba385e41 test: enhance unicode_test_utf8_to_utf32_stream()
Additionally test a UTF-8 string where each code point translates to three
UTF-8 bytes.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-24 16:17:14 -05:00
Heinrich Schuchardt
3150da34c2 lib: add comment in utf8_to_utf32_stream()
The logic of utf8_to_utf32_stream() is not easy to understand.
Add a comment.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-24 16:17:14 -05:00
Tom Rini
3d878b83d0 docker: Add tools/buildman/requirements.txt to the cache
As we have had this file for a while now, we should include installing
and populating our pip cache from here as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-01-24 16:17:14 -05:00
Patrice Chotard
9152a51e3c common: console: Fix print complete stdio device list
In case CONSOLE_MUX and SYS_CONSOLE_IS_IN_ENV are on and
stdin or stdout or stderr are missing in environment, as fallback, get
these either from stdio_devices[std] or stdio_devices[std]->name.

Fixes: 6b343ab38d ("console: Print out complete stdio device list")

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-01-24 11:12:11 -05:00
Svyatoslav Ryhel
983d6e5bf0 cmd: bootmenu: rename U-Boot console to Exit
It seems that the U-Boot console entry of the bootmenu has lost
its original meaning. Now, even if it is chosen, the probability
that you will enter the actual U-Boot console is quite low.
Boot env, bootflow, bootcommand script may appear, but not the
actual console. Hence, let's remove ambiguity and name this
entry by what it actually does: 'Exit' the bootmenu.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2024-01-24 11:12:11 -05:00
Max Krummenacher
d2099587d6 board: verdin-am62: set cpu core voltage depending on speed grade
Speed grade T requires the VDD_CORE voltage to be 0.85V if using
the maximum core frequency.

Speed grades G, K, S allow the VDD_CORE voltage to be 0.75V up to the
maximum core frequency but allow to run at 0.85V.

For efficiency in manufacturing and code maintenance we use 0.85V for
the PMIC defaults and device tree settings and dynamically adjust the
voltage in the PMIC and device tree to 0.75V for lower speed SKU to
gain more than 100mW power consumption reduction.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-01-24 11:12:11 -05:00
Max Krummenacher
00812e2257 arm: mach-k3: am62: provide more soc feature info accessors
Add two functions, one which returns the SoC speed grade and one
which returns the SoC operating temperature range.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-01-24 11:12:11 -05:00
Max Krummenacher
9c68b0427c arm: mach-k3: am62: move device identification accessor functions to header
mach-k3/am625_fdt.c does fdt fixup depending on fields in the device
identification register. Move the accessors to the device identification
register as inline functions into the am62_hardware.h header, so that
they can be used for other functionality.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-01-24 11:12:11 -05:00
Max Krummenacher
a1f466a940 board: verdin-am62: improve comment on usb phy core voltage
TI recommends to clear the bit independent of the used voltage.
So the comment which claims to do it due to the core voltage
at 0.85V is bogus.

See https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1252724/am625-usb-phy-core-voltage-selection-and-vdda_core_usb-mismatch

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-01-24 11:12:11 -05:00
Max Krummenacher
e2e69291ee headers: don't depend on errno.h being available
These headers follow the pattern:

| #if CONFIG_IS_ENABLED(FANCY_FEATURE)
|   void foo(void);
| #else
|   static inline void foo(void) { return -ENOSYS; }
| #endif

In the #else path ENOSYS is used, however linux/errno.h is not included.
If errno.h has not been included already the compiler errors out even
if the inline function is not referenced.

Make those headers self contained.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2024-01-24 11:12:11 -05:00
Heinrich Schuchardt
cc7e3d1929 cmd: increase default for SYS_MAXARGS
The value of CONFIG SYS_MAXARGS limits the usability of the 'for' command.
The current default of 16 is too low for some use case. Cf.
https://bugs.launchpad.net/snap-core18/+bug/1910094

Increase the default to 64.

Reported-by: Dave Jones <dave.jones@canonical.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-24 11:12:11 -05:00
Prasanth Babu Mantena
dd83c1c865 board: ti: common: board_detect: Fix EEPROM offset read for 1-byte
EEPROM detection logic in ti_i2c_eeprom_get() involves reading
the total size and the 1-byte size with an offset 1. The commit
9f393a2d7a ("board: ti: common: board_detect: Fix EEPROM read
quirk for 2-byte") that attempts to fix this uses a wrong pointer to
compare.

The value with one offset is read into offset_test, but the pointer
used to match was still ep, resulting in an invalid comparison of the
values. The intent is to identify bad 2-byte addressing eeproms that
get stuck on the successive reads.

Fixes: 9f393a2d7a (board: ti: common: board_detect: Fix EEPROM read quirk for 2-byte)
Signed-off-by: Prasanth Babu Mantena <p-mantena@ti.com>
Tested-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-01-24 11:12:04 -05:00
Tom Rini
15e7927b5a Merge patch series "omap3: Make SPL_OMAP3_ID_NAND depend on NAND_OMAP_GPMC"
This series results in making it such that with CONFIG_MTD disabled we
then do not prompt the user for a number of memory technology device
related options and so clean up our configuration menu / display.
2024-01-22 14:18:55 -05:00
Tom Rini
db04ff42c7 mtd: Make CONFIG_MTD be the gate symbol for the menu
The help for CONFIG_MTD explains that it needs to be enabled for various
things like NAND, etc to be available. It however then doesn't enforce
this dependency and so if you have none of these systems present you
still need to disable a number of options. Fix this by making places
that select/imply one type of flash, but did not do the same, also do
this for "MTD". Make boards which hadn't been enabling MTD already but
need it now, do so. In a few places, disable CONFIG_CMD_MTDPARTS as it
wasn't previously enabled but was now being implied.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-01-22 14:18:54 -05:00
Tom Rini
cda3f81b06 cmd/flash: Make this default y for CFI and NOR only
This command is only useful on CFI and NOR type flashes and not others.
Update the dependency so that it's not enabled by default in other
cases. This will lead to a number of platforms no longer building this
command, where it was not useful.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-01-22 14:17:35 -05:00
Tom Rini
9913a82128 env: Make ENV_IS_IN_SPI_FLASH depend on SPI flash being present
In order for our environment to be present on SPI flash we need to
depend not on the symbol for a SPI controller but rather that SPI flash
of some sort is present. Update the dependencies.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-01-22 14:17:35 -05:00
Tom Rini
246c94f192 cmd/mtdparts: Make this select MTD_PARTITIONS
Rather than rely on someone selecting or implying this hidden symbol
that the command requires, select it explicitly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-01-22 14:17:35 -05:00
Tom Rini
fee9e48c89 omap3: Make SPL_OMAP3_ID_NAND depend on NAND_OMAP_GPMC
This specific bit logic is used to determine what NAND chip is present
on a board in order to then know what revision of the board we have and
so what DDR chips are present. We can only do this if we have a NAND
chip, and so we will have NAND_OMAP_GPMC enabled.

Signed-off-by: Tom Rini <trini@konsulko.com>
2024-01-22 14:17:35 -05:00
Shantur Rathore
33e06dcbe5 common: usb-hub: Reset hub port before scanning
Currently when a hub is turned on, all the ports are powered on.
This works well for hubs which have individual power control.

For the hubs without individual power control this has no effect.
Mostly in these scenarios the hub port is powered before the USB
controller is enabled, this can lead to some devices in unexpected
state.

With this patch, we explicitly reset the port while powering up hub
This resets the port for hubs without port power control and has
no effect on hubs with port power control as the port is still off.

Before this patch AMicro AM8180 based NVME to USB adapter won't be
detected as a USB3.0 Mass Storage device but with this it works as
expected.

Tested working after this patch:
1. AMicro AM8180 based NVME to USB Adapter
2. Kingston DataTraveler 3.0
3. GenesysLogic USB3.0 Hub

The drives were tested while connected directly and via the hub.

Signed-off-by: Shantur Rathore <i@shantur.com>
Reviewed-by: Marek Vasut <marex@denx.de>
2024-01-22 12:49:03 -05:00
Tom Rini
c09ec8e1cb Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell
- solidrun: clearfog gtr: add serdes configuration (Josua)
2024-01-22 10:59:20 -05:00
Tom Rini
d64e05fc5b Merge tag 'u-boot-imx-master-20240122' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
- Allow i.MX8M Plus DHCOM to operate in overdrive mode.
- Allow i.MX8M Plus eDM SBC to operate in overdrive mode.
- Enable the 'kaslrseed' command on DH i.MX8M Plus DHCOM.
- Select LTO by default on i.MX8M.
- Convert pico-dwarf/hobbit-imx6ul to CONFIG_DM_SERIAL.
- Fix 'reset' command on wandboard.
2024-01-22 09:47:52 -05:00
Tom Rini
79a9697894 Merge commit '3c9bb8fbdc77f6bd56e97597d875d8965db3b96c' of https://github.com/tienfong/uboot_mainline
A few small SoCFPGA updates
2024-01-22 09:35:38 -05:00
Josua Mayer
bb6e89048c board: solidrun: clearfog: fix serdes 1 / eth2 speed for clearfog gtr
Clearfog GTR connects eth2 / serdes 1 to a 2.5Gbps capable ethernet
switch port. Linux already configures a fixed-link at speed 2500 from
device-tree.

Upgrade serdes 1 rate to 3.125Gbps to support a 2.5Gbps link.

Additionally add comments documenting each serdes' function of clearfog
gtr, which are shared with clearfog pro.

Signed-off-by: Josua Mayer <josua@solid-run.com>
2024-01-22 12:47:45 +01:00
Josua Mayer
26c7de353f arm: mvebu: clearfog gtr: add config option to select serdes0 interface
Clearfog GTR has an assembly option for a SATA connector, CON18.
It shares the serdes with mini-pcie connector CON3.

Add new kconfig option to select betweenata and pci, defaulting to pci
as it was previously configured in board-file.

Clearfog GTR connects eth2 / serdes 1 to a 2.5Gbps capable ethernet
switch port. Linux already configures a fixed-link at speed 2500 from
device-tree.
Upgrade serdes 1 rate to 3.125Gbps to support a 2.5Gbps network link on
Clearfog GTR.

Signed-off-by: Josua Mayer <josua@solid-run.com>
2024-01-22 12:47:45 +01:00
Marek Vasut
a80e0e7711 ARM: imx: Enable kaslrseed command on DH i.MX8M Plus DHCOM
Linux 6.6.y with KASLR enabled would print the following message on boot:
"
KASLR disabled due to lack of seed
"
Enable the 'kaslrseed' command so a random number seed can be pulled
from CAAM and inserted into the /chosen node 'kaslr-seed' property of
Linux kernel DT before boot, thus letting KASLR work properly.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2024-01-22 08:40:02 -03:00
Fabio Estevam
0912368af3 pico-dwarf/hobbit-imx6ul: Convert to CONFIG_DM_SERIAL
The conversion to CONFIG_DM_SERIAL is mandatory, so select
this option.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
2024-01-22 08:39:41 -03:00
Fabio Estevam
b06bfd65b6 wandboard: Convert to watchdog driver model
Commit 68dcbdd594 ("ARM: imx: Add weak default reset_cpu()") caused
the 'reset' command in U-Boot to not cause a board reset.

Fix it by switching to the watchdog driver model via sysreset, which
is the preferred method for implementing the watchdog reset.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
2024-01-22 08:39:27 -03:00
Marek Vasut
67de291400 ARM: imx: Configure GIC clock parent on Data Modul i.MX8M Plus eDM SBC
The CONFIG_SPL_BOARD_INIT lets SPL common code call spl_board_init()
during the SPL start up. On this particular system, spl_board_init()
is used to reconfigure GIC clock parent to PLL2 500M, which is the
configuration expected by the Linux kernel. Enable SPL_BOARD_INIT
and fill in the GIC clock configuration code.

Set GIC clock to 500 MHz for OD VDD_SOC. Kernel driver does not
allow to change it. Should set the clock after PMIC setting done.
Default is 400 MHz (system_pll1_800m with div = 2) set by ROM for
ND VDD_SOC.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2024-01-22 08:39:08 -03:00
Marek Vasut
4dd80cb09e ARM: imx: Enable SPL_BOARD_INIT on DH i.MX8M Plus DHCOM
The CONFIG_SPL_BOARD_INIT lets SPL common code call spl_board_init()
during the SPL start up. On this particular system, spl_board_init()
is used to reconfigure GIC clock parent to PLL2 500M, which is the
configuration expected by the Linux kernel. Enable SPL_BOARD_INIT .

Set GIC clock to 500 MHz for OD VDD_SOC. Kernel driver does not
allow to change it. Should set the clock after PMIC setting done.
Default is 400 MHz (system_pll1_800m with div = 2) set by ROM for
ND VDD_SOC.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2024-01-22 08:38:48 -03:00
Fabio Estevam
f8cebb4f78 imx8m: Enable LTO by default
In an attempt to select ARMV8_SPL_EXCEPTION_VECTORS, the SPL size
could not fit into the internal SRAM of some imx8m targets:

   aarch64:  +   imx8mm_phg
+aarch64-linux-ld.bfd: u-boot-spl section `__u_boot_list' will not fit in region `.sram'
+aarch64-linux-ld.bfd: region `.sram' overflowed by 1824 bytes

Select LTO to prevent that.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
2024-01-22 08:38:32 -03:00
Dinesh Maniyam
3c9bb8fbdc arm: dts: agilex: Increase reserved memory size to 32MB
The reserved space is extended to 32MB in Linux kernel because
additional space is needed for authorization execution of JIC/RBF file.
U-Boot required to align with Linux.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
2024-01-22 16:51:29 +08:00
Dinesh Maniyam
9d8f814beb clk: altera: n5x: Fix MEMCLKMGR_EXTCNTRST_C0CNTRST to bit(0)
MEMCLKMGR_EXTCNTRST_C0CNTRST register defined as BIT[0] in documentation
but it is wrongly defined as BIT[7] in u-boot code. This register is used
to hold associated pingpong counter in reset
while PLL and 5:1 mux configuration is changed.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
2024-01-22 16:51:17 +08:00
Dinesh Maniyam
158d648d9f arm: socfpga: stratix10: SPI clock support
This patch is to add SPI clock support for stratix10. Get clock rate
function always returning 0 because the DW-SPI driver get the rate
from clock node in dts but Stratix10 does not support device tree
clock node.To overcome this spi will get the clock_rate directly
from spi clock controller override the weaker function.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
2024-01-22 16:50:55 +08:00
Alexander Dahl
a1c6b08274 mtd: nand: raw: atmel: Remove duplicate definitions
These removed definitions were specific to some sam9 SoCs, but not
generic over all at91 SoCs.  The correct SoC specific definitions for
ATMEL_BASE_PMECC are spread over different header files in
arch/arm/mach-at91/include/mach directory.

Fixes a build error on a custon board based on SAMA5D2:

    Building current source for 73 boards (16 threads, 1 job per thread)
           arm:  +   vera2
    +drivers/mtd/nand/raw/atmel/pmecc.c:819: warning: "ATMEL_BASE_PMECC" redefined
    +  819 | #define ATMEL_BASE_PMECC        0xffffe000
    +      |
    +In file included from include/configs/vera2.h:11,
    +                 from include/config.h:3,
    +                 from include/linux/mtd/rawnand.h:16,
    +                 from drivers/mtd/nand/raw/atmel/pmecc.c:44:
    +include/asm/arch/sama5d2.h:171: note: this is the location of the previous definition
    +  171 | #define ATMEL_BASE_PMECC        (ATMEL_BASE_HSMC + 0x70)
    +drivers/mtd/nand/raw/atmel/pmecc.c:820: warning: "ATMEL_BASE_PMERRLOC" redefined
    +  820 | #define ATMEL_BASE_PMERRLOC     0xffffe600
    +include/asm/arch/sama5d2.h:172: note: this is the location of the previous definition
    +  172 | #define ATMEL_BASE_PMERRLOC     (ATMEL_BASE_HSMC + 0x500)

Fixes: a490e1b7c0 ("nand: atmel: Add pmecc driver")
Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-01-22 06:05:26 +02:00
Alexander Dahl
23308cd150 ARM: dts: at91: sama5d2: Align more node names with Linux
Port from Linux v6.7-rc4.  Should not hurt U-Boot but makes diffing
easier and allows referencing node names in board dts.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-01-22 06:05:26 +02:00
Alexander Dahl
e81a0159a8 ARM: dts: at91: sama5d2: Port ebi/nand nodes from linux
Required for using the new DM based atmel nand driver.
Ported from Linux v6.7-rc4.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-01-22 06:05:26 +02:00
Alexander Dahl
42c4dcbbce ARM: dts: at91: sama5d2: Move sfr node
Nodes are ordered by register offset.

Fixes: 56246d1e87 ("ARM: dts: at91: sama5: Add the sfr node")
Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-01-22 06:05:25 +02:00
Tom Rini
22aeab2d96 Pull request efi-2024-04-rc1-3
Documentation:
 
 * correct documentation of part_get_bootable()
 * remove duplicate word "has" in UEFI documentation
 
 UEFI:
 
 * rename check_disk_has_default_file function
 * auto-generate boot option for each blkio device
 * auto-generate removable media boot option first
 * avoid pointer access after calling efi_delete_handle
 * create common function to free struct efi_disk_obj
 * return immediately in UCLASS_EFI_LOADER removal
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEK7wKXt3/btL6/yA+hO4vgnE3U0sFAmWs/1sACgkQhO4vgnE3
 U0tHCA//UugN2zCJHg/ILXcYi1TRuv8f9EncIMvnm6ESYuZoT6iR+p/pBCz8NhzS
 QsrSjy0Xz2Usg2ZwXZgaiqnQv33JC4e6JLGMgAd9Cmc1IVn6U2u7LF6SWBMkWmvi
 F2ruV2RX5UURwsCK1cKmIsMrv88GYdxhNu689oKVU3XwN+9vYl5ODGkEDqaNjkuZ
 FLPyr/oWiKf8kmn1P7qRxt/K9LiFd5f8Zzjkcagq+3p5+RjpDpWFUA7C+O479JHr
 DolZew2YuZQnTGlkSNEMLOstNN+/c1Z5mMtMRH5BbJWnhXxS58PDgPPe5DOQWy8x
 TLmDs33W1GuPy0HmXXUeHhs40JIP0NFPndIYrwavQMHh6b9KS3FIZcmq+UcDg8Ij
 GNOKnTKBXfGEYsxyTbp8fx207Ae8tl62fB9WVEkVdsI9BuyhYYPJZuz+3JmB9QfJ
 xTiidoV9EUQLeXT16MIPk4xzbljuINlRhe6TefO9IYSkZ3fVxD+J6cIPw4c/Um/I
 vqhb1b3oL6hRqE7aS3vnX+wD1byzihMwBHzmGliCTUnQ71yMB+pbbaMHY443aeS0
 mGOukkvJDzHvo+hXjU8Cy28gTq9veMbM6AAIAsZincJRM9GIBHmvkcVtZwu1iyzM
 O3Q+cbMDXP+RqgTV1XzBXWNsjKXsvo4bLt43WjHRX3BPTnGNe1M=
 =KRDQ
 -----END PGP SIGNATURE-----

Merge tag 'efi-2024-04-rc1-3' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2024-04-rc1-3

Documentation:

* correct documentation of part_get_bootable()
* remove duplicate word "has" in UEFI documentation

UEFI:

* rename check_disk_has_default_file function
* auto-generate boot option for each blkio device
* auto-generate removable media boot option first
* avoid pointer access after calling efi_delete_handle
* create common function to free struct efi_disk_obj
* return immediately in UCLASS_EFI_LOADER removal
2024-01-21 09:11:33 -05:00
Masahisa Kojima
2c98f7435c efi_loader: return immediately in UCLASS_EFI_LOADER removal
In case of UCLASS_EFI_LOADER, EFI handles are managed by
EFI application/driver, we must not delete EFI handles.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-21 11:24:24 +01:00
Masahisa Kojima
0351b659dd efi_loader: create common function to free struct efi_disk_obj
Current error handling of creating raw disk/partition has
following issues.
 - duplicate free for EFI handle, EFI handle is already freed
   in efi_delete_handle()
 - missing free for struct efi_device_path and
   struct efi_simple_file_system_protocol in some error paths

To address those issues, this commit creates the common function
to free the struct efi_disk_obj resources and calls it in case
of error.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-01-21 11:24:24 +01:00
Masahisa Kojima
f674a2f9a9 efi_loader: avoid pointer access after calling efi_delete_handle
efi_delete_handle() calls efi_purge_handle(), then it finally
frees the EFI handle.
Both diskobj and handle variables in efi_disk_remove() have
the same pointer, we can not access diskobj->dp after calling
efi_delete_handle().

This commit saves the struct efi_device_path pointer before
calling efi_delete_handle(). This commit also fixes the
missing free for volume member in struct efi_disk_obj.

This commit also removes the container_of() calls, and
adds the TODO comment of missing efi_close_protocol() call
for the parent EFI_BLOCK_IO_PROTOCOL.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-01-21 11:24:24 +01:00
Masahisa Kojima
3f7822bf9f efi_loader: auto-generate removable media boot option first
This commit auto-generates the boot option for removable
block io devices followed by fixed block io devices.
This is what EDK II reference implementation does.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-21 11:24:24 +01:00
Masahisa Kojima
f86fba8adb efi_loader: auto-generate boot option for each blkio device
Current efibootmgr auto-generates the boot option for all
disks and partitions installing EFI_SIMPLE_FILE_SYSTEM_PROTOCOL,
while EDK II reference implementation auto-generates the boot option
for all devices installing  EFI_BLOCK_IO_PROTOCOL with
eliminating logical partitions.

This commit modifies the efibootmgr to get aligned to EDK II.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-21 11:24:24 +01:00
Masahisa Kojima
eb2f0867a1 efi_loader: rename check_disk_has_default_file function
check_disk_has_default_file() function checks if the
architecture-specific default file exists on the block
device, and fills the default file device path if it exists.

Rename the function name to fill_default_file_path().

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-21 11:24:24 +01:00
Heinrich Schuchardt
e75e4cf5d9 part: correct documentation of part_get_bootable()
We have to use 'Return:' to render the description of the return value in
the HTML documentation.

Fixes: f55aa4454a ("part: Add a fallback for part_get_bootable()")
Fixes: dcffa4428d ("part: Add a function to find the first bootable partition")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-21 11:24:24 +01:00
Wei Ming Chen
0d7634ebc1 doc: uefi: remove duplicate word "has"
There should be only one "has" instead of "has has"

Signed-off-by: Wei Ming Chen <jj251510319013@gmail.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-21 11:24:18 +01:00
Tom Rini
3c04fcf313 Merge patch series "k3-j721e: beagleboneai: Fix USB"
Roger Quadros <rogerq@kernel.org> says:

Hi,

This series fixes USB operation on k3-j721e based boards.
2024-01-20 11:39:13 -05:00
Roger Quadros
172c846f39 configs/j721e_beagleboneai64_a72_defconfig: Enable Sierra PHY
This is required for USB Super-Speed operation.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
2024-01-20 11:38:18 -05:00