summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-01-29video: Skip framebuffer reservation if already reservedDevarsh Thakkar
Skip framebufer reservation if it was already reserved from previous stage and whose information was passed using a bloblist. Return error in case framebuffer information received from bloblist is invalid i.e NULL or empty. While at it, improve the debug message to make it more clear that address in discussion is of framebuffer and not bloblist and also match it with printing scheme followed in video_reserve function. Signed-off-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-29common/board_f: Catch bloblist before starting reservationsDevarsh Thakkar
Start reservations needed for init sequence only after catching bloblists from previous stage. This is to avoid catching bloblists in the middle causing gaps while u-boot is reserving. Adjust the relocaddr as per video hand-off information received from previous stage so that further reservations start only after regions reserved for previous stages Skip reservation for video memory if it was already filled by a bloblist. Signed-off-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-29board: ti: am62x: evm: Remove video_setup from spl_board_initDevarsh Thakkar
Remove video_setup from evm_init sequence since video memory is getting called at an earlier place to make sure video memory is reserved at the end of RAM. Suggested-by: Simon Glass <[email protected]> Signed-off-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-29arm: mach-k3: common: Reserve video memory from end of the RAMDevarsh Thakkar
Setup video memory before page table reservation using "spl_reserve_video_from_ram_top" which ensures framebuffer memory gets reserved from the end of RAM. This is done to enable the next stage to directly skip the pre-reserved area from previous stage right from the end of RAM without having to make any gaps/holes to accommodate those regions which was the case before as previous stage reserved region not from the end of RAM. Use gd->ram_top instead of local ram_top and update gd->reloc_addr after each reservation to ensure further regions are reserved properly. Signed-off-by: Devarsh Thakkar <[email protected]> Reviewed-by: Nikhil M Jain <[email protected]>
2024-01-29spl: Enforce framebuffer reservation from end of RAMDevarsh Thakkar
Add an API which enforces framebuffer reservation from end of RAM. This is done so that next stage can directly skip this region before carrying out further reservations. Signed-off-by: Devarsh Thakkar <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-29board/sunxi/MAINTAINERS: Add new defconfigsTom Rini
Add entries for the recently added defconfig files. I had thought I had committed these updates but lost them before pushing the branch. Signed-off-by: Tom Rini <[email protected]>
2024-01-29Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-spiTom Rini
- Support Infineon S28HS02GT (Takahiro)
2024-01-29Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
- Some cleanups in header files: those do not affect the generated binaries at all. - The usual update of DT files from the kernel repo, mostly adding new board files this time. On the wake of this there is one defconfig to enable a new board, some H618 TV box branded as "Transpeed". - Samuel's series to support SPL FIT image loading for 32-bit SoCs as well, so far this was restricted to ARM64 boards. I refrained from automatically enabling this everywhere, instead this requires user intervention during board configuration. This allows to ship the "crust" management processor firmware on H3 boards, which enables better power saving. - One defconfig for an older H3 board. There was a close-by defconfig for a related board, but there are some differences which deserve a separate file. - Support for the EMAC driver to work with fixed-link PHYs, which allows to directly wire the MAC to a switch IC.
2024-01-29Merge branch '2024-01-29-pytest-enhancements'Tom Rini
- Update pygit2 version and add a number of additional hardware pytests
2024-01-29test/py: scsi: Add test for scsi commandsLove Kumar
Add a following test cases for scsi commands: scsi_reset - To reset SCSI controller scsi_info - To show available SCSI devices scsi_scan - To (re-)scan SCSI bus scsi_device - To show or set surrent device scsi_part - To print partition table of selected SCSI device Signed-off-by: Love Kumar <[email protected]>
2024-01-29test/py: usb: Add tests for USB deviceLove Kumar
Add the test cases for usb commands to test its various functionality such as start, stop, reset, info, tree, storage, dev, part, ls, load, and save. It also adds different file systems cases such as fat32, ext2 and ext4. Signed-off-by: Love Kumar <[email protected]>
2024-01-29test/py: mmc: Add tests for MMC deviceLove Kumar
Add the test cases for mmc commands to test its various functionality such as mmc list, dev, info, rescan, part, ls, load, and save. It also adds different file systems cases such as fat32, ext2 and ext4. Signed-off-by: Love Kumar <[email protected]>
2024-01-29test/py: secure: Add secure tests for Zynq & ZynqMPLove Kumar
Add test cases to verify the different type of secure boot images loaded at DDR location for AMD's ZynqMP SoC. It also adds tests authentication and decryption functionality using AES and RSA features for Zynq. Signed-off-by: Love Kumar <[email protected]>
2024-01-29test/py: gpio: Add gpio pins generic testLove Kumar
Add gpio pins generic test for the set of gpio pin list to test various gpio related functionality, such as the input, set, clear, and toggle, it also tests the input and output functionality for shorted gpio pins. This test depends on boardenv* configuration to define gpio pins names. Signed-off-by: Love Kumar <[email protected]>
2024-01-29test/py: zynqmp_rpu: Add test for loading RPU appsLove Kumar
Add testcases for loading RPU applications in split and lockstep mode including the negative one for AMD's ZynqMP SoC. Signed-off-by: Love Kumar <[email protected]>
2024-01-29pytest: update requirements.txtCaleb Connolly
Update pygit2 and py to their latest versions. Even in the venv pygit2 still links against the system libgit2 library which is failing on latest Arch Linux. The py library also needs updating to fix a KeyNotFound exception during test initialisation. Signed-off-by: Caleb Connolly <[email protected]>
2024-01-29sunxi: Consider SPL size limitations for FIT loadingSamuel Holland
Now that 32-bit SoCs can load U-Boot proper (and possibly other firmware) from a FIT, people can use that by enabling CONFIG_SPL_LOAD_FIT. However SPL_FIT_IMAGE_TINY is required to stay within the 24 or 32 KiB SPL size limit on early SoCs; for consistency, enable it everywhere. Signed-off-by: Samuel Holland <[email protected]> [Andre: drop unconditional FIT image enablement for all SoCs] Reviewed-by: Andre Przywara <[email protected]>
2024-01-29sunxi: binman: Support FIT generation for 32-bit SoCsSamuel Holland
Some 32-bit SoCs can use SCP firmware to implement additional PSCI functionality, such as system suspend. In order to load this firmware from SPL, we need to generate and use a FIT instead of a legacy image. Adjust the binman FIT definition so it does not rely on TF-A BL31, as this is not used on 32-bit SoCs. Instead, after loading the firmware, U-Boot proper is executed directly. This requires to provide an entry point property for the U-Boot image node, which confuses some loaders like sunxi-fel, so protect that to only be used if we have no BL31. Signed-off-by: Samuel Holland <[email protected]> [Andre: filter U-Boot entry point property] Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-29sunxi: binman: Move BL31 and SCP firmware addresses to KconfigSamuel Holland
This is easier to read than the #ifdef staircase, provides better visibility into the memory map (alongside the other Kconfig definitions), and allows these addresses to be reused from code. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-01-29sunxi: spl: Disable padding from SPL_PAD_TOSamuel Holland
Starting with H6, Allwinner removed the artificial 32 KiB SPL size limit from the boot ROM. Now SPL size is only limited by the available SRAM. This limit ranges from 152 KiB on H6 to a whopping 2052 KiB on R329. To take advantage of this additional space, we must increase SPL_MAX_SIZE. Since we do not want to unnecessarily pad SPL out to these giant sizes, we must set SPL_PAD_TO to zero. This causes no problems because binman already takes care of appending the SPL payload at the right offset. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-01-29sunxi: add defconfig for nanopi_duo2Chuanhong Guo
FriendlyElec NanoPi Duo2 is a tiny SBC with Allwinner H3 and Ampak AP6212 WiFi module. The device-tree for it is already available in u-boot source tree. Add a default config for it. Signed-off-by: Chuanhong Guo <[email protected]> [Andre: enable USB gadgets] Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2024-01-29net: sun8i-emac: Add support for fixed-link phyMaksim Kiselev
Make the "phy-handle" property optional, which allows support for a fixed-link phy configuration. Thus if the "phy-handle" is present in a DT, then driver will work as before. Otherwise, phyaddr initialization will not be necessary, as it is not needed in case of a fixed-link config. Signed-off-by: Maksim Kiselev <[email protected]> Reviewed-by: Ramon Fried <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-01-29sunxi: add Transpeed 8K618-T board supportNick Alilovic
This is a Chinese TV box based on Allwinner H618 SoC. The DRAM parameters were derived from the values found in a firmware update. Signed-off-by: Nick Alilovic <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-01-29sunxi: dts: update devicetree files from Linux-v6.8-rc1Andre Przywara
Sync the devicetree files from the official Linux kernel tree, v6.8-rc1. This time only small changes in the existing files, but five new boards got added, which opens the door for their respective defconfig files. 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 <[email protected]>
2024-01-29mtd: spi-nor-ids: Add Infineon(Cypress) s28hs02gt IDTakahiro Kuwano
Infineon(Cypress) S28HS02GT is 1.8V, 2Gb (256MB) NOR Flash memory with Octal interface. It is a dual-die package parts and has same features with existing S28 series. Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Dhruva Gole <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-core: Rework spi_nor_cypress_octal_dtr_enable()Takahiro Kuwano
Enabling Octal DTR mode in multi-die package parts requires reister setup for each die. That can be done by simple for-loop. write_enable() takes effect to all die at once so we can call it before the loop. Besides we can replace spi_mem_exec_op() calls with spansion_read/write_any_reg(). And finally, we must mask CFR2V[7:4] when changing dummy cycles, as CFR2V[7] indicates current addressing mode and that should be 1 (4-byte address mode) for multi-die package parts. Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-core: Consolidate post_bfpt_fixup() for Infineon(Cypress) S25 ↵Takahiro Kuwano
and S28 s28hx_t_post_bfpt_fixup() fixes erase opcode, erase size, and page size. s25_post_bfpt_fixup() is doing same thing including multi-die support. We can consolidate s28hx_t_post_bfpt_fixup() and s25_post_bfpt_fixup() into one named s25_s28_post_bfpt_fixup(). In s25_s28_post_bfpt_fixup(), set_4byte() is called to force the device to be 4-byte addressing mode. In S28HS02GT datasheet, the B7 opcode is missing but it works actually (confirmed). Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-core: Consolidate setup() hook for Infineon(Cypress) S25 and S28Takahiro Kuwano
s28hx_t_setup() only checks sector layout setting. To support multi-die package parts like S28HS02GT, it needs to check device size and assign ready() hook for multi-die package parts. These are covered in s25_setup() so we can consolidate s28hx_t_setup() and s25_setup() into one named s25_s28_setup(). spi_nor_wait_till_ready() at the beginning of s28hx_t_setup() can be removed since there is no op that makes device busy state before setup. Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-core: Rework s25_mdp_ready() to support Octal DTR modeTakahiro Kuwano
s25_mdp_ready() handles status polling for multi-die package parts that requires to read and check status register for each die. To support S28HS02GT(dual-die package with Octal DTR support), rename function and use nor->rdsr_dummy in octal DTR mode. Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-core: Use CLPEF(0x82) as alternative to CLSR(0x30) for S25 and S28Takahiro Kuwano
Infineon(Cypress) S28Hx-T family does not support legacy CLSR(0x30) opcode. Instead, it supports CLPEF(0x82) which has the same functionality as CLSR. spansion_sr_ready() is for multi-die package parts including S28HS02GT, so we need to use CLPEF instead of CLSR. This change does not affect to S25x02GT which uses spansion_sr_ready() as S25Hx-T family also supports CLPEF(0x82) as well as CLSR(0x30). Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-core: Rework spansion_read_any_reg() to support Octal DTR modeTakahiro Kuwano
In Infineon multi-die package parts, we need to use Read Any Register op to read status register in 2nd or further die. Infineon S28HS02GT is dual-die package and supports Octal DTR interface. To support this, spansion_read_any_reg() needs to be reworked. Implementation is similar to existing read_sr() that already supports Octal DTR mode. Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-core: Consolidate non-uniform erase helpers for S25 and S28Takahiro Kuwano
s25_erase_non_uniform() and s28hx_t_erase_uniform() support hybrid sector layout (32 x 4KB sectors overlaid at bottom address) and doing same thing. Consolidate them into single helper named s25_s28_erase_non_uniform(). Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-core: Clean up macros for Infineon(Cypress) S25 and S28Takahiro Kuwano
Some macro definitions used in Infineon(Cypress) S25 and S28 series are redundant and some have inconsistent prefix. This patch removes redundant ones and renames some to have same prefix as others. Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi: spi-nor-ids: Add more XM25Q series chipsSsunk
- XM25QH128C - XM25QH256C - XM25QU256C - XM25QH512C - XM25QU512C Signed-off-by: Kankan Sun <[email protected]> [jagan: update the commit message] Signed-off-by: Jagan Teki <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29spi: cadence_qspi: Address the comparison failure for 0-8 bytes of dataTejas Bhumkar
The current implementation encounters issues when testing data ranging from 0 to 8 bytes. This was confirmed through testing with both ISSI (IS25WX256) and Micron (MT35XU02G) Flash exclusively in SDR mode. Upon investigation, it was observed that utilizing the "SPI_NOR_OCTAL_READ" flag and attempting to read less than 8 bytes in STIG mode results in a read failure, leading to a compare test failure. To resolve this issue, the CMD_4BYTE_FAST_READ opcode is now utilized instead of CMD_4BYTE_OCTAL_READ, specifically in SDR mode. This is based on patch series: https://lore.kernel.org/all/[email protected]/ Signed-off-by: Tejas Bhumkar <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29mtd: spi-nor-ids: Add is25lx512 chipTejas Bhumkar
Added support for the ISSI OSPI flash part IS25LX512M. Initial testing was performed on the Tenzing-se1 board using SDR mode, covering basic erase, write, and readback operations. Signed-off-by: Tejas Bhumkar <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29spi: dw: add check for Rx FIFO overflowMaksim Kiselev
If even one byte is lost due to Rx FIFO overflow then we will never exit the read loop. Because the (priv->rx != priv->rx_end) condition will be always true. Let's check if Rx FIFO overflow occurred and exit the read loop in this case. Signed-off-by: Maksim Kiselev <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2024-01-29efi_loader: check efi_get_variable_int return valueMasahisa Kojima
efi_get_variable_int() may fail, the buffer should be cleared before using it. Signed-off-by: Masahisa Kojima <[email protected]> Addresses-Coverity-ID: 478333 ("Error handling issues")
2024-01-29efi_loader: replace find_smbios_table by library functionHeinrich Schuchardt
The code in find_smbios_table() is redundant to efi_get_configuration_table(). Replace it. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-29cmd: in do_efi_capsule_esrt use efi_get_configuration_tableHeinrich Schuchardt
Use library function efi_get_configuration_table() to find the ESRT. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-29efi_loader: export efi_get_configuration_tableHeinrich Schuchardt
In multiple places we need a function to find an EFI configuration table. Rename get_config_table() to efi_get_configuration_table() and export it. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-29doc: uefi: remove ".py" suffix for pytest.py commandWei Ming Chen
the file pytest.py does not exist Signed-off-by: Wei Ming Chen <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-01-29riscv: separate .data and .text sections of EFI binariesHeinrich Schuchardt
EFI binaries should not contain sections that are both writable and executable. Separate the RX .text section from the RW .data section Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-29riscv: page align EFI binary sectionHeinrich Schuchardt
Change the alignment of the relocation code in EFI binaries to match page boundaries. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-29riscv: conflicting SPDX license linker scriptsHeinrich Schuchardt
Fix conflicting SPDX license information in linker scripts introduced by commit 7215787c4ea4 ("SPDX: Convert single license tags to Linux Kernel style"). Fixes: 7215787c4ea4 ("SPDX: Convert single license tags to Linux Kernel style") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-01-29efi_selftest: add missing line feed in efi_selftest_miniapp_exitHeinrich Schuchardt
If an error occurs we may see an output like: EFI application calling Exit Could not open loaded image protocolLoaded image protocol missing Add the missing line feed. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-29doc: dm: Fix typoAlexander Dahl
That's most probably a typo, because driver model design documents seem to be from 2012 and there is no 2010.01 release. Fixes: 282ed24fb3ca ("dm: MIGRATION: Add migration plan for CONFIG_DM") Signed-off-by: Alexander Dahl <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-01-29sunxi: simplify U-Boot proper only buildsAndre Przywara
At the moment every Allwinner board builds and requires an SPL, even though we select this individually in each _defconfig file. For experiments and for early bringup of new SoCs it would be beneficial to only build U-Boot proper, for instance to postpone a tedious SPL port (including DRAM support) in the initial phase. Protect some SPL related symbols that we unconditionally select at the moment with "if SPL", to avoid Kconfig conflicts when CONFIG_SPL is disabled. This alone does not cleanly build U-Boot proper only yet, but gets it far enough so that the binary can be harvested. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: remove common.h inclusionAndre Przywara
The usage of the common.h include file is deprecated, and has already been removed from several files. Get rid of all inclusions in the arch/arm/mach-sunxi directory. Most files actually don't need the header at all, for the few others just include the headers that we actually require. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: sun9i: remove unneeded base addresses from headerAndre Przywara
The cpu_sun9i.h header file defined the base addresses for quite some peripherals of the Allwinner A80 CPU, even though we now only use a fraction of that. Most of the addresses are now either read from the DT, or were never used in U-Boot in the first place. Removed the ones that are not used in the whole of the U-Boot source. to make it clear that this file only contains addresses that are needed for the SPL operation. Signed-off-by: Andre Przywara <[email protected]>