aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* sunxi: dts: arm: add T113s/D1 DT files from Linux-v6.6-rc6Andre Przywara2023-10-224-0/+272
| | | | | | | | | | | | | This copies in some devicetree files from the official Linux kernel tree, v6.6-rc6. It covers a board with the Allwinner T113s SoC, which shares many devices with its RISC-V sibling, the Allwinner D1(s). This is the reason for the core .dtsi files landing in the arch/riscv directory. We are only adjusting the include path to accommodate for the differences in the U-Boot build system. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
* sunxi: dts: arm64: update devicetree files from Linux-v6.6-rc6Andre Przywara2023-10-226-6/+6
| | | | | | | | | | | | | | | Sync the devicetree files from the official Linux kernel tree, v6.6-rc6. This is covering Allwinner SoCs with 64-bit ARM cores. Only small cosmetic changes (clock name fixed), but we add the DT for the new OrangePi Zero 3 board, for which U-Boot enablement patches are pending. As before, this omits the non-backwards compatible changes to the R_INTC controller, to remain compatible with older kernels. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
* test: spl: Add a test for the SPI load methodWIP/2023-10-17-spl-test-some-load-methodsSean Anderson2023-10-171-0/+10
| | | | | | | | | | Add test for the SPI load method. This one is pretty straightforward. We can't enable FIT_EXTERNAL with LOAD_FIT_FULL because spl_spi_load_image doesn't know the total image size and has to guess from fdt_totalsize. This doesn't include external data, so loading it will fail. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: spl: Add a test for the NOR load methodSean Anderson2023-10-172-0/+8
| | | | | | | | | | | | | | | | Add a test for the NOR load method. Since NOR is memory-mapped we can substitute a buffer instead. The only major complication is testing LZMA decompression. It's too complex to implement LZMA compression in a test, and we have no in-tree compressor, so we just include some pre-compressed data. This data was generated through something like generate_data(plain, plain_size, "lzma") cat plain.dat | lzma | hexdump -C and was cleaned up further in my editor. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: spl: Add a test for the MMC load methodSean Anderson2023-10-172-0/+34
| | | | | | | | | Add a test for the MMC load method. This shows the general shape of tests to come: The main test function calls do_spl_test_load with an appropriate callback to write the image to the medium. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: spl: Add functions to create filesystemsSean Anderson2023-10-171-0/+3
| | | | | | | | | | Add some functions for creating fat/ext2 filesystems with a single file and a test for them. Filesystems require block devices, and it is easiest to just use MMC for this. To get an MMC, we must also pull in the test device tree. SPL_TIMER is necessary for SPL_MMC, perhaps because it uses a timeout. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: spl: Add functions to create imagesSean Anderson2023-10-171-0/+117
| | | | | | | | | | | | | | This add some basic functions to create images, and a test for said functions. This is not intended to be a test of the image parsing functions, but rather a framework for creating minimal images for testing load methods. That said, it does do an OK job at finding bugs in the image parsing directly. Since we have two methods for loading/parsing FIT images, add LOAD_FIT_FULL as a separate CI run. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* spl: Add callbacks to invalidate cached devicesSean Anderson2023-10-171-0/+22
| | | | | | | | | | Several SPL functions try to avoid performing initialization twice by caching devices. This is fine for regular boot, but does not work with UNIT_TEST, since all devices are torn down after each test. Add some functions to invalidate the caches which can be called before testing these load methods. Signed-off-by: Sean Anderson <seanga2@gmail.com>
* fs: ext4: Add some defines for testingSean Anderson2023-10-172-0/+15
| | | | | | | | | Add various defines which are not necessary for reading/writing filesystems, but which are useful for creating them. These mostly come from Linux v6.5-rc2 (what I had checked out). Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* arm: imx: Check header before calling spl_load_imx_containerSean Anderson2023-10-171-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure we have an IMX header before calling spl_load_imx_container, since if we don't it will fail with -ENOENT. This allows us to fall back to legacy/raw images if they are also enabled. This is a functional change, one which likely should have been in place from the start, but a functional change nonetheless. Previously, all non-IMX8 images (except FITs without FIT_FULL) would be optimized out if the only image load method enabled supported IMX8 images. With this change, support for other image types now has an effect. There are seven boards with SPL_LOAD_IMX_CONTAINER enabled: three with SPL_BOOTROM_SUPPORT: imx93_11x11_evk_ld imx93_11x11_evk imx8ulp_evk and four with SPL_MMC: deneb imx8qxp_mek giedi imx8qm_mek All of these boards also have SPL_RAW_IMAGE_SUPPORT and SPL_LEGACY_IMAGE_FORMAT enabled as well. However, none have FIT support enabled. Of the six load methods affected by this patch, only SPL_MMC and SPL_BOOTROM_SUPPORT are enabled with SPL_LOAD_IMX_CONTAINER. spl_romapi_load_image_seekable does not support legacy or raw images, so there is no growth. However, mmc_load_image_raw_sector does support loading legacy/raw images. Since these images could not have been booted before, I have disabled support for legacy/raw images on these four boards. This reduces bloat from around 800 bytes to around 200. There are no in-tree boards with SPL_LOAD_IMX_CONTAINER and AHAB_BOOT both enabled, so we do not need to worry about potentially falling back to legacy images in a secure boot scenario. Future work could include merging imx_container.h with imx8image.h, since they appear to define mostly the same structures. Signed-off-by: Sean Anderson <seanga2@gmail.com>
* Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shWIP/17Oct2023Tom Rini2023-10-175-0/+392
|\ | | | | | | | | - RZ/G2L part 1, except for two serial port patches which I had to drop as they broke R2Dplus, they will come later via subsequent PR.
| * board: rzg2l: Add RZ/G2L SMARC EVK boardPaul Barker2023-10-171-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Renesas RZ/G2L SMARC Evaluation Board Kit consists of the RZ/G2L System-on-Module (SOM) based on the R9A07G044L2 SoC, and a common SMARC carrier board. The ARM TrustedFirmware code for the Renesas RZ/G2L SoC family passes a devicetree blob to the bootloader as an argument in the same was previous R-Car gen3/gen4 SoCs. This blob contains a compatible string which can be used to identify the particular SoC we are running on and this is used to select the appropriate device tree to load. The configuration renesas_rzg2l_smarc_defconfig is added to support building for this target. In the future this defconfig will be extended to support other SoCs and evaluation boards from the RZ/G2L family. Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
| * pinctrl: renesas: Add RZ/G2L PFC driverPaul Barker2023-10-161-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver adds support for the pinctrl features of the GPIO/PFC module in the Renesas RZ/G2L (R9A07G044) SoC. A multi-function `rzg2l-pfc` driver is defined for UCLASS_NOP, which binds the `rzg2l-pfc-pinctrl` UCLASS_PINCTRL driver dynamically. We also define common macros and functions for the PFC in <renesas/rzg2l-pfc.h>. This makes it easy to add an additional UCLASS_GPIO driver for the GPIO functionality of this module in a follow-up patch. This patch is based on the corresponding Linux v6.5 driver (commit 52e12027d50affbf60c6c9c64db8017391b0c22e). Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
| * dt-bindings: Add RZ/G2L IRQC bindingsPaul Barker2023-10-161-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Import bindings for the Interrupt Controller (IRQC) module in the Renesas RZ/G2L SoC family. This patch is based on the dt-bindings in Linux v6.5 (commit 52e12027d50affbf60c6c9c64db8017391b0c22e). Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
| * dt-bindings: Add RZ/G2L PFC bindingsPaul Barker2023-10-161-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Import bindings for the Port Function Control (PFC) module in the Renesas RZ/G2L SoC family. This patch is based on the dt-bindings in Linux v6.5 (commit 52e12027d50affbf60c6c9c64db8017391b0c22e). Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
| * dt-bindings: Add RZ/G2L CPG bindingsPaul Barker2023-10-161-0/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | Import bindings for the Clock Pulse Generator (CPG) module in the Renesas RZ/G2L SoC family. This patch is based on the dt-bindings in Linux v6.5 (commit 52e12027d50affbf60c6c9c64db8017391b0c22e). Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
* | Merge tag 'u-boot-imx-20231016' of ↵WIP/16Oct2023Tom Rini2023-10-164-11/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20231016 ------------------- CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/18168 - Imrovement MX93 - Toradex: fixes - Convert to DM (serial, watchdog) for some boards - HAB improvements for Secure Boot - DTO overlay for DHCOM - USB fixes, Mass storage for MX28 - Cleanup some code - Phytec MX8M : EEProm detection, fixes - Gateworks Boards improvements
| * | spl: fit: Add board level function to decide application of DTOMarek Vasut2023-10-161-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add board-specific function used to indicate whether a DTO from fitImage configuration node 'fdt' property DT and DTO list should be applied onto the base DT or not applied. This is useful in case of DTOs which implement e.g. different board revision details, where such DTO should be applied on one board revision, and should not be applied on another board revision. Signed-off-by: Marek Vasut <marex@denx.de>
| * | clk: imx: add i.MX93 CCF driverSébastien Szymanski2023-10-161-1/+5
| | | | | | | | | | | | | | | | | | | | | Add i.MX93 CCF driver support. Modifed from Linux Kernel v6.5-rc2 and adapted for U-Boot. Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
| * | toradex: verdin-imx8mm/imx8mp: Remove bootcmd_mfgJoao Paulo Goncalves2023-10-162-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bootcmd_mfg env variable is legacy from IMX downstream u-boot branch and is not needed on mainline. Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
| * | verdin-imx8mp: drop unused tdx easy installer ifdefHiago De Franco2023-10-161-8/+2
| |/ | | | | | | | | | | | | | | Drop unused code related to CONFIG_TDX_EASY_INSTALLER, that existed only on toradex downstream branch. Signed-off-by: Hiago De Franco <hiago.franco@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
* | Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini2023-10-163-22/+39
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - dns325: Enable 2nd harddrive (Peter & Stefan) - marvell: cn9310-crb: Misc fixes to SPI / pincntrl in DTS (Chris) - kirkwood: Add support for ZyXEL NSA325 board (Tony) - sata_mv: Add bootstd hook to enable sata_bootdev (Tony) - x240/AC5/AC5X: Disable SMBIOS (Chris) - Revert "arm: mvebu: x240: Use i2c-gpio instead of built in controller" (Chris) - DS116/N2350: Enable bootstd (Tony) - clearfog: Support multiple DDR sizes (Josua)
| * | arm: mvebu: Enable bootstd for Thecus N2350 boardTony Dinh2023-10-161-11/+1
| | | | | | | | | | | | | | | | | | | | | Enable bootstd for Thecus N2350 board, and remove distroboot. Signed-off-by: Tony Dinh <mibodhi@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: Enable bootstd for Synology DS116 boardTony Dinh2023-10-161-11/+1
| | | | | | | | | | | | | | | | | | | | | Enable bootstd for Synology DS116 board, and remove distroboot. Signed-off-by: Tony Dinh <mibodhi@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
| * | arm: kirkwood: Add support for ZyXEL NSA325 boardTony Dinh2023-10-161-0/+37
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZyXEL NSA325 specifications: Marvell Kirkwood 88F6282 SoC 1.6 GHz CPU 1x GBE LAN port (Marvell MV88E1318) 512 MB RAM 128 MB Eon NAND, SLC I2C 1x USB 3.0 (on PCIe bus) 2x USB 2.0 2x SATA (hot swap slots) Serial console Signed-off-by: Tony Dinh <mibodhi@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
* | Merge branch '2023-10-16-assorted-cmd-updates'Tom Rini2023-10-161-0/+3
|\ \ | | | | | | | | | | | | - Update the mac command a bit, to be more widely useful and add a helper macro to declare CONFIG_SYS_LONGHELP text
| * | command.h: Add a U_BOOT_LONGHELP macroTom Rini2023-10-161-0/+3
| |/ | | | | | | | | | | | | | | | | | | In order to be able to discard unused long help texts without further linker lists, add a macro for defining the long help messages which uses __maybe_unused. This allows us to discard them as unreferenced as part of the link. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | Merge tag 'u-boot-amlogic-20231015' of ↵Tom Rini2023-10-168-0/+446
|\ \ | |/ |/| | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-amlogic - add Amlogic A1 clock driver - add Amlogic A1 reset support - add USB Device support for Amlogic A1 - enable RNG on Amlogic A1 & Amlogic S4 - move Amlogic Secure Monitor to standalone driver
| * drivers: introduce Meson Secure Monitor driverAlexey Romanov2023-10-151-0/+19
| | | | | | | | | | | | | | | | | | | | This patch adds an implementation of the Meson Secure Monitor driver based on UCLASS_SM. Signed-off-by: Alexey Romanov <avromanov@salutedevices.com> Reviewed-by: Simon Glass <sjg@chromium.org> Link: https://lore.kernel.org/r/20230921081346.22157-7-avromanov@salutedevices.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
| * sandbox: add sandbox sm uclass driverAlexey Romanov2023-10-151-0/+18
| | | | | | | | | | | | | | | | | | This patch adds sandbox secure monitor driver. Signed-off-by: Alexey Romanov <avromanov@salutedevices.com> Reviewed-by: Simon Glass <sjg@chromium.org> Link: https://lore.kernel.org/r/20230921081346.22157-3-avromanov@salutedevices.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
| * drivers: introduce Secure Monitor uclassAlexey Romanov2023-10-153-0/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment, we don't have a common API for working with SM, only the smc_call() function. This approach is not generic and difficult to configure and maintain. This patch adds UCLASS_SM with the generic API: - sm_call() - sm_call_write() - sm_call_read() These functions operate with struct pt_regs, which describes Secure Monitor arguments. Signed-off-by: Alexey Romanov <avromanov@salutedevices.com> Reviewed-by: Simon Glass <sjg@chromium.org> Link: https://lore.kernel.org/r/20230921081346.22157-2-avromanov@salutedevices.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
| * dt-bindings: reset: add Meson A1 reset bindingsAlexey Romanov2023-10-121-0/+76
| | | | | | | | | | | | | | | | | | Get this from Linux 6.6-rc3. Signed-off-by: Alexey Romanov <avromanov@salutedevices.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20231005085434.74755-2-avromanov@salutedevices.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
| * dt-bindings: clock: Add Amlogic A1 clock bindingsIgor Prusov2023-10-122-0/+193
| | | | | | | | | | | | | | | | | | Add clock bindings for Amlogic A1 from linux-next next-20230821. Signed-off-by: Igor Prusov <ivprusov@salutedevices.com> Reviewed-by: Simon Glass <sjg@chromium.org> Link: https://lore.kernel.org/r/20230925155209.130671-2-ivprusov@salutedevices.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
* | Merge tag 'dm-pull-13oct23' of ↵WIP/14Oct2023Tom Rini2023-10-142-11/+83
|\ \ | | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-dm improvements with dev_read_addr_..._ptr() scan all entries in multi-device boot_targets EFI empty-capsule support
| * | core: introduce dev_read_addr_name[_size]_ptr() functionsMatthias Schiffer2023-10-132-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | Same as dev_read_addr_name[_size](), but returns a pointer, cast through map_sysmem(). Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | core: return FDT_ADDR_T_NONE from devfdt_get_addr_[size_]name() on errorsMatthias Schiffer2023-10-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checking for the error cast to fdt_addr_t is rather awkward - IS_ERR() can be used, but it's not really made to be used on fdt_addr_t, which may not even be the same size as a native pointer. Most places in U-Boot only check for FDT_ADDR_T_NONE; let's adjust the error return to match the expectation. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | core: fix doc comments of dev_read_addr*() and related functionsMatthias Schiffer2023-10-132-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | - The dev_read_addr_name*() family of functions has no "index" argument, doc comments should refer to "name" - Specify the error return for several devfdt_get_addr*() functions Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | firmware: scmi: install base protocol to SCMI agentAKASHI Takahiro2023-10-131-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCMI base protocol is mandatory, and once SCMI node is found in a device tree, the protocol handle (udevice) is unconditionally installed to the agent. Then basic information will be retrieved from SCMI server via the protocol and saved into the agent instance's local storage. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
* | | firmware: scmi: implement SCMI base protocolAKASHI Takahiro2023-10-132-0/+496
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCMI base protocol is mandatory according to the SCMI specification. With this patch, SCMI base protocol can be accessed via SCMI transport layers. All the commands, except SCMI_BASE_NOTIFY_ERRORS, are supported. This is because U-Boot doesn't support interrupts and the current transport layers are not able to handle asynchronous messages properly. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
* | | firmware: scmi: framework for installing additional protocolsAKASHI Takahiro2023-10-132-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | This framework allows SCMI protocols to be installed and bound to the agent so that the agent can manage and utilize them later. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
* | | firmware: scmi: use a protocol's own channel if assignedAKASHI Takahiro2023-10-131-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCMI specification allows any protocol to have its own channel for the transport. While the current SCMI driver may assign its channel from a device tree, the core function, devm_scmi_process_msg(), doesn't use a protocol's channel, but always use an agent's channel. With this commit, devm_scmi_process_msg() tries to find and use a protocol's channel. If it doesn't exist, use an agent's. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | scmi: refactor the code to hide a channel from devicesAKASHI Takahiro2023-10-131-5/+10
|/ / | | | | | | | | | | | | | | | | | | | | | | | | The commit 85dc58289238 ("firmware: scmi: prepare uclass to pass channel reference") added an explicit parameter, channel, but it seems to make the code complex. Hiding this parameter will allow for adding a generic (protocol-agnostic) helper function, i.e. for PROTOCOL_VERSION, in a later patch. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
* | Merge tag 'efi-2024-01-rc1' of ↵Tom Rini2023-10-131-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2024-01-rc1 Documentation: * Bump urllib3 version * Migrate Renesas board docs to rst * Link an introduction video UEFI * Use same GUID as EDK II for auto-created boot options * Clean up BitBlt test
| * | efi_loader: use well-known guid for auto-created boot optionMasahisa Kojima2023-10-121-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The boot option automatically created by efibootmgr is identified by the special guid appended in the optional data of boot option. The same mechanism is implemented in the EDK II reference implementation, it uses the different guid from the one currently U-Boot uses. The guid indicating auto-created boot option is not defined in the UEFI specification, but some userspace tools such as 'efivar' package are aware of the guid used in EDK II as auto-created boot option. So let's use the same guid as EDK II reference implementation. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* | Merge tag 'xilinx-for-v2024.01-rc1-v3' of ↵WIP/13Oct2023Tom Rini2023-10-131-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2024.01-rc1 v3 clk: - remove additional compatible strings for Versal NET net: - zynq_gem: Fix clock calculation for MDC for higher frequencies pinctrl: - core: Extend pinmux status buffere size - zynqmp driver: Show also tristate configuration test: - add test case for pxe get Xilinx: - describe SelectMAP boot mode Zynq: - Fix nand description in DT ZynqMP: - DTS sync patches with kernel and also W=1 related fixes - Add support for KD240, zcu670, e-a2197 with x-prc cards, SC revB/C with i2c description for other SC based boards - k24 psu_init cleanup
| * | pinctrl: Increase size of pinmux status bufferVenkatesh Yadav Abbarapu2023-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Xilinx ZynqMP SOC new parameter was added and now it can set 7 parameters for its pins. Pinmux status command will print the status of these parameters for each pin. But current print buffer length is only 80 characters long, increase it to 90 to print all the parameters without truncation. Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20230920030006.6488-1-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
* | | mtd/spinand: sync supported devices with linux-5.15.43Mikhail Kshevetskiy2023-10-132-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds more supported spinand devices from the Linux kernel implementation. This does not include the latest kernel implementation as this would require a substantial amount of extra work due to the missing ECC engine abstraction layer in U-Boot. Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> (commit message) Link: https://lore.kernel.org/all/20230110115843.391630-3-frieder@fris.de Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
* | | mtd/spinand: rework detect procedure for different READ_ID operationMikhail Kshevetskiy2023-10-131-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there are 3 different variants of read_id implementation: 1. opcode only. Found in GD5FxGQ4xF. 2. opcode + 1 addr byte. Found in GD5GxGQ4xA/E 3. opcode + 1 dummy byte. Found in other currently supported chips. Original implementation was for variant 1 and let detect function of chips with variant 2 and 3 to ignore the first byte. This isn't robust: 1. For chips of variant 2, if SPI master doesn't keep MOSI low during read, chip will get a random id offset, and the entire id buffer will shift by that offset, causing detect failure. 2. For chips of variant 1, if it happens to get a devid that equals to manufacture id of variant 2 or 3 chips, it'll get incorrectly detected. This patch reworks detect procedure to address problems above. New logic do detection for all variants separatedly, in 1-2-3 order. Since all current detect methods do exactly the same id matching procedure, unify them into core.c and remove detect method from manufacture_ops. This is a rework of Chuanhong Guo <gch981213@gmail.com> patch submitted to linux kernel Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Link: https://lore.kernel.org/all/20230110115843.391630-1-frieder@fris.de Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
* | | board: ti: am64x: Switch to standard boot flowRoger Quadros2023-10-121-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to using bootstd. Note with this change, we will stop using distro_bootcmd and instead depend entirely on bootflow method of starting the system up. Drop header files that are no longer needed in am64x_evm.h. k3_dfu.h is available via k3_dfu.env in am64x.env. Drop unused macro CFG_SYS_SDRAM_BASE1. Signed-off-by: Roger Quadros <rogerq@kernel.org> Reviewed-by: Nishanth Menon <nm@ti.com>
* | | expo: Update tests to include textlineSimon Glass2023-10-111-1/+4
| | | | | | | | | | | | | | | | | | | | | Provide test coverage for the new expo object type, including building and reading/writing settings. Signed-off-by: Simon Glass <sjg@chromium.org>