summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-26virtio: Ensure PCI is set up firstSimon Glass
Sometimes virtio may rely on PCI, or at least that is what the distro_bootcmd script suggests. Add this in. Signed-off-by: Simon Glass <[email protected]>
2023-04-26bootstd: Tweak bootflow logic for device treeSimon Glass
We should only store the FDT filename if we were able to determine one. Adjust the logic for this. This corrects the case where no FDT is needed to boot, such as with EFI using ACPI. Signed-off-by: Simon Glass <[email protected]>
2023-04-26Merge branch '2023-04-25-assorted-updates-and-fixes'Tom Rini
- A few TI, mpc8379erdb and vexpress64 updates, some arm64 core updates, test cleanups, Xen cleanups, assorted code and Kconfig cleanups (many in preparation for using clang on ARM), psci pre-reloc fixes, enable PCI bus mastering for ATA devices, and a gpio-uclass bugfix
2023-04-26spi: cadence-quadspi: Reset CMD_CTRL Reg on cmd r/w completionDhruva Gole
If one leaves the CQSPI_REG_CMDCTRL in an unclean state this may cause issues in future command reads. This issue came to light when some flash reads in STIG mode were coming back dirty. Co-developed-by: Apurva Nandan <[email protected]> Signed-off-by: Apurva Nandan <[email protected]> Signed-off-by: Dhruva Gole <[email protected]> Acked-by: Jagan Teki <[email protected]>
2023-04-26spi: cadence-quadspi: Use STIG mode for all ops with small payloadApurva Nandan
OSPI controller supports all types of op variants in STIG mode, only limitation being that the data payload should be less than 8 bytes when not using memory banks. STIG mode is more stable for operations that send small data payload and is more efficient than using DMA for few bytes of memory accesses. It overcomes the limitation of minimum 4 bytes read from flash into RAM seen in DAC mode. Use STIG mode for all read and write operations that require data input/output of less than 8 bytes from the flash, and thereby support all four phases, cmd/address/dummy/data, through OSPI STIG. Also, remove the reorder address chunk in apb_command_write since we now setup ADDR BIT field that does the same job in a cleaner way. Signed-off-by: Apurva Nandan <[email protected]> Signed-off-by: Dhruva Gole <[email protected]> Acked-by: Jagan Teki <[email protected]>
2023-04-26spi: cadence-quadspi: Fix check condition for DTR opsApurva Nandan
buswidth and dtr fields in spi_mem_op are only valid when the corresponding spi_mem_op phase has a non-zero length. For example, SPI NAND core doesn't set buswidth when using SPI_MEM_OP_NO_ADDR phase. Fix the dtr checks in set_protocol() to ignore empty spi_mem_op phases, as checking for dtr field in empty phase will result in false negatives. Signed-off-by: Apurva Nandan <[email protected]> Signed-off-by: Dhruva Gole <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2023-04-26mtd: spi-nor-core: Add fixups for s25fs512sTakahiro Kuwano
This patch adds fixups for s25fs512s to address the following issues from reading SFDP: - Non-uniform sectors by factory default. The setting needs to be checked and assign erase hook as needed. - Page size is wrongly advertised in SFDP. - READ_1_1_2 (3Bh/3Ch), READ_1_1_4 (6Bh/6Ch), and PP_1_1_4 (32h/34h) are not supported. - Bank Address Register (BAR) is not supported. In addition, volatile version of Quad Enable is used for safety. Based on patch by Takahiro Kuwano with s25fs_s_post_bfpt_fixup() updated to use 4-byte address commands instead of extended address mode and the page_size is fixed to 256 For future use, manufacturer code should be moved out from framework code as same as in Linux. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Takahiro Kuwano <[email protected]> Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Cong Dang <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2023-04-26video: panel: add generic endeavoru panelSvyatoslav Ryhel
Family of panels used by HTC in One X. Though were used variants at least from 3 vendors, this driver provides generic support for all of them. Tested-by: Ion Agorria <[email protected]> # HTC One X T30 Sony Tested-by: Svyatoslav Ryhel <[email protected]> # HTC One X T30 Sharp Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-26video: tegra: add DC based PWM backlight driverSvyatoslav Ryhel
DC based PWM backlight is found on some T20 and T30 devices (HTC One X). This backlight is controlled by Tegra DC and is adjustable by the DC PM0 or PM1 signal. Tested-by: Andreas Westman Dorcsak <[email protected]> # HTC One X T30 Tested-by: Svyatoslav Ryhel <[email protected]> # HTC One X T30 Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-26video: panel: add Renesas R69328 MIPI DSI panel driverSvyatoslav Ryhel
Driver adds support for panels with Renesas R69328 IC Currently supported compatible is: - jdi,dx12d100vm0eaa Tested-by: Andreas Westman Dorcsak <[email protected]> # LG P880 T30 Tested-by: Svyatoslav Ryhel <[email protected]> # LG P895 T30 Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-26video: panel: add Renesas R61307 MIPI DSI panel driverSvyatoslav Ryhel
R61307 is liquid crystal driver for high-definition amorphous silicon (a-Si) panels and is ideal for tablets and smartphones. Supported compatibles are: - koe,tx13d100vm0eaa - hitachi,tx13d100vm0eaa Tested-by: Andreas Westman Dorcsak <[email protected]> # LG P880 T30 Tested-by: Svyatoslav Ryhel <[email protected]> # LG P895 T30 Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-26video: bridge: add Solomon SSD2825 DSI/LVDS driverSvyatoslav Ryhel
SSD2825 is an innovative and cost-effective MIPI Bridge Chip solution targeting high resolution smartphones. It can convert 24bit RGB interface into 4-lane MIPI-DSI interface to drive extremely high resolution display modules of up to 800 x 1366, while supporting AMOLED, a-si LCD or LTPS advanced panel technologies for smartphone applications. Bridge is wrapped in panel uClass model for wider compatibility. Tested-by: Andreas Westman Dorcsak <[email protected]> # LG P880 T30 Tested-by: Svyatoslav Ryhel <[email protected]> # LG P895 T30 Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-04-26video: add lm3533 backlight driverSvyatoslav Ryhel
This is basic lm3533 driver only with bank A and backlight cell support. Tested-by: Andreas Westman Dorcsak <[email protected]> # LG P880 T30 Tested-by: Svyatoslav Ryhel <[email protected]> # LG P895 T30 Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25gpio-uclass: fix off-by-one in gpio_request_list_by_name_nodev()Rasmus Villemoes
By the time we jump to the err label, count represents the number of gpios we've successfully requested. So by subtracting one, we fail to free the most recently requested. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25xen: Limit execution to EL1 onlyMichal Simek
Xen core_init() is calling HVC which should be called from EL1 level that's why do Xen initialization only when U-Boot runs in EL1. Signed-off-by: Michal Simek <[email protected]>
2023-04-25xen: Add dependency on armv8Michal Simek
U-Boot currently implements hypervisor calls only for ARM64 that's why add dependency on ARM64. The hardware functionality is also available on ARMv7a, but currently not supported by U-Boot, hence it is not added to the list of dependencies here. Signed-off-by: Michal Simek <[email protected]>
2023-04-25arm: omap3: Directly use SMC #1 in lowlevel_init.SPali Rohár
Since commit de39dc71625d ("arm: armv7-a: Compile and tune for armv7-a instead of armv5") is used -march=armv7-a option for Omap3 platforms. With directive ".arch_extension sec" it is possible for -march=armv7-a to directly use ARM SMC instruction. So enable ".arch_extension sec" in Omap3 lowlevel_init.S and replace hand assembled ".word 0xe1600071" by "SMC #1". Since commit 51d063865064 ("arm: omap-common: add secure smc entry") same pattern is already used in arch/arm/cpu/armv7/omap-common/lowlevel_init.S. Signed-off-by: Pali Rohár <[email protected]>
2023-04-25tools: env: update lock path in READMEJohn Keeping
Commit aeb40f1166e0 ("tools: env: use /run to store lockfile") updated the path to the lockfile but did not update the documentation to match. Use the new path in the documentation. Fixes: aeb40f1166 ("tools: env: use /run to store lockfile") Signed-off-by: John Keeping <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25ata: pci: enable bus masteringChristian Gmeiner
The non DM code path already would enable pci bus mastering. Do the same for the DM code path. Fixes AHCI problems I am seeing on an Intel Apollolake device. Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Bin Meng <[email protected]> [trini: Use ahci_dev not dev in the calls] Signed-off-by: Tom Rini <[email protected]>
2023-04-25mpc8379erdb: Convert to using DM_SERIALSinan Akman
Convert to DM_SERIAL for mpc8379erdb. Signed-off-by: Sinan Akman <[email protected]>
2023-04-25qemu: dfu: Correct memset call in set_dfu_alt_infoTom Rini
When building with clang, we see: board/emulation/common/qemu_dfu.c:51:24: warning: 'memset' call operates on objects of type 'char' while the size is based on a different type 'char *' [-Wsizeof-pointer-memaccess] As we're calling memset with the length set to the size of the pointer and not the size of the buffer. Correct this with a call of the size of the buffer itself. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Sughosh Ganu <[email protected]>
2023-04-25api: Rework menu, and make it depend on CC_IS_GCCTom Rini
We can only use the old U-Boot API for standalone applications when building U-Boot with GCC as it relies upon the "gd is a register" trick that only GCC supports. Further, rework the rest of the options so that they are in the API menu and only visible if API support is enabled. Reported-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25sysreset: psci: add psci_sysreset_get_statusPeng Fan
Add weak function psci_sysreset_get_status for platform to define their own reset status with CONFIG_SYSRESET enabled. Signed-off-by: Peng Fan <[email protected]>
2023-04-25sysreset: psci: enable DM_FLAG_PRE_RELOCPeng Fan
It is possible that cpu core may reset before relocation with PSCI reset Signed-off-by: Peng Fan <[email protected]>
2023-04-25firmware: psci: enable DM_FLAG_PRE_RELOCPeng Fan
It is possible that cpu core may reset before relocation with PSCI reset Signed-off-by: Peng Fan <[email protected]>
2023-04-25xen: Fix Kconfig dependenciesMichal Simek
XEN config can be enabled by other platforms (even it doesn't need to make sense) that's why fix dependencies. XEN (xenbus.c) requires sscanf (also pvblock needs it). And PVBLOCK is inside drivers/xen folder which requires XEN to be enabled. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-04-25pytest: Use --lazy with umountTom Rini
Sometimes when doing tests on real hardware we sometimes run in to the case where some of these mounts haven't been fully flushed. Using the --lazy option with umount will allow us to continue while letting the OS handle flushing the data out still. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25usb: gadget: f_mass_storage: Rework do_request_sense slightlyTom Rini
When building with clang, it notes that sdinfo may be unused uninitialized in some cases. This appears to be true from reading the code, and we can simply set the variable to zero to start with and be as correct as before. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-04-25boot/image-board.c: Silence warning in select_ramdiskTom Rini
When building with clang we get a warning that rdaddr could be uninitialized in one case. While this cannot functionally happen, we can easily silence the warning. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25armv7: Use isb/dsb directly in start.STom Rini
Toolchains which do not directly support using "isb" and "dsb" directly are no longer functionally supported in U-Boot. Furthermore, clang has for a long time warned about using the alternate form that we were. Update the code. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25arm: Centralize fixed register logicTom Rini
When building for ARM64, we need to pass -ffixed-x18 and otherwise pass -ffixed-r9. Rather than having this logic in two places, we can do this once in arch/arm/config.mk. Further, while gcc will ignore being passed both -ffixed-r9 and -ffixed-x18 and simply use -ffixed-x18, clang will note that -ffixed-r9 is not used. Remove this duplication to also remove the warning. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25clang: Don't look for libgccTom Rini
In the case of using clang to build, and having not already enabled the private libgcc, do not look for it, as it will not be found nor required. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25clang: Add $(CLANG_TARGET) to LDPPFLAGSTom Rini
When we invoke $(CPP) to make u-boot.lds we have LDPPFLAGS available to set other required flags here. As this file is for the target and not the host, we must ensure that CPP knows what the target architecture is. For this, pass in $(CLANG_TARGET). Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25arm: Only support ARM64_CRC32 when using GCCTom Rini
Today, only gcc has __builtin_aarch64_crc32b (clang-16 does not, for example). Make this option depend on CC_IS_GCC. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25fs: yaffs2: Make yaffsfs_deviceList staticBin Meng
yaffsfs_deviceList is only referenced in yaffsfs.c Signed-off-by: Bin Meng <[email protected]>
2023-04-25test: move unit tests into a sub-menuHeinrich Schuchardt
The main configuration menu should not contain detail settings. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25test: improve configuration for Kconfig test optionsHeinrich Schuchardt
* Fix dependencies * Provide labels that are easier to grasp. * Fix typo %s/whgch/which/ * Fix type %s/Is/is/ Fixes: 29784d62eded ("test: Add some tests for kconfig.h") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-04-25arm64: interrupts: print FAR_ELx on sync exceptionsPavel Skripkin
Default synchronous exceptions handler prints only esr and register dump. Sometimes it requiers to see an address which caused exceptions to understand what's going on ARM ARM in section D13.2.41 states that FAR_EL2 will contain meanfull value in case of ESR.EC holds 0x20, 0x21, 0x24, 0x25, 0x22, 0x34 or 0x35. Same applies for EL1. This patch adds function whivh determine current EL, gets correct FAR register and prints it on panic. Signed-off-by: Pavel Skripkin <[email protected]>
2023-04-25configs: Create minimal vexpress_fvp_defconfigPeter Hoyes
The vexpress64 board family now relies on OF_CONTROL and OF_HAS_PRIOR_STAGE, so platform-specific configuration requirements are minimal. The vexpress_aemv8a_semi_defconfig file defines many flags that are not needed for a minimal boot, such as flash memory configuration. Therefore create vexpress_fvp_defconfig which contains the minimum configuration required to boot on an Arm v8a FVP. Signed-off-by: Peter Hoyes <[email protected]>
2023-04-25vexpress64: Enable VIRTIO_MMIO and RTC_PL031 in the base modelPeter Hoyes
The Arm EBBR (Embedded Base Boot Requirements) require that the time and basic networking EFI interfaces are available and working, so long as the hardware has an RTC and network interface. Arm FVPs typically have a memory-mapped PL031 RTC and a VIRTIO_NET device defined in the device tree, so "imply" these in the Kconfig for the FVP base model to simplify creating EBBR-compliant firmware. Signed-off-by: Peter Hoyes <[email protected]>
2023-04-25vexpress64: Use OF_HAS_PRIOR_STAGE for BASE_FVP variantPeter Hoyes
BASE_FVP now typically uses a devicetree provided by a prior boot stage (typically Arm TF-A), so imply this option by default when TARGET_VEXPRESS64_BASE_FVP is selected. OF_HAS_PRIOR_STAGE selects OF_BOARD so this change is minor, but aligns TARGET_VEXPRESS64_BASE_FVP with TARGET_VEXPRESS64_BASER_FVP. Signed-off-by: Peter Hoyes <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2023-04-25include: configs: am64x_evm: Change to using .envNikhil M Jain
Move to using .env file for setting up environment variables for am64x. Signed-off-by: Nikhil M Jain <[email protected]> Reviewed-by: Devarsh Thakkar <[email protected]>
2023-04-25arch: mach-k3: j721s2_init: Disable the firewallsJayesh Choudhary
Some firewalls enabled by ROM are still left on. So some address space is inaccessible to the bootloader. For example, in OSPI boot mode we get an exception and the system hangs. Therefore, disable all the firewalls left on by the ROM. Signed-off-by: Jayesh Choudhary <[email protected]> Reviewed-by: Andrew Davis <[email protected]> Reviewed-by: Manorit Chawdhry <[email protected]>
2023-04-25soc: soc_ti_k3: fix revision array bounds checksRasmus Villemoes
If rev is equal to the array size, we'll access the array one-past-the-end. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2023-04-25armv8: enable HAFDBS for other ELx when FEAT_HAFDBS is presentmeitao
u-boot could be run at EL1/EL2/EL3. so we set it as same as EL1 does. otherwise it will hang when enable mmu, that is what we encounter in our SOC. Signed-off-by: meitao <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Tom Rini <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/3bf38943aeab4700c2319bff2a1477d99c6afd2f
2023-04-25arm64: Use level-2 for largest block mappings when FEAT_HAFDBS is presentMarc Zyngier
In order to make invalidation by VA more efficient, set the largest block mapping to 2MB, mapping it onto level-2. This has no material impact on u-boot's runtime performance, and allows a huge speedup when cleaning the cache. Signed-off-by: Marc Zyngier <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Tom Rini <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/417a73581a72ff6d6ee4b0938117b8a23e32f7e8
2023-04-25arm64: Use FEAT_HAFDBS to track dirty pages when availableMarc Zyngier
Some recent arm64 cores have a facility that allows the page table walker to track the dirty state of a page. This makes it really efficient to perform CMOs by VA as we only need to look at dirty pages. Signed-off-by: Marc Zyngier <[email protected]> [ Paul: pick from the Android tree. Rebase to the upstream ] Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Cc: Tom Rini <[email protected]> Link: https://android.googlesource.com/platform/external/u-boot/+/3c433724e6f830a6b2edd5ec3d4a504794887263
2023-04-25Merge branch '2023-04-25-use-bounce-buffers-for-VIRTIO_F_IOMMU_PLATFORM'Tom Rini
To quote the author: These patches will use bounce buffers when VIRTIO_F_IOMMU_PLATFORM feature is in a virtio device. This feature can be tested with qemu with -device virtio-iommu-pci. So that when a -device virtio-blk-pci with iommu_platform=true, it will uses the bounce buffer instead.
2023-04-25spi: synquacer: Silence uninitialized variable warningsIlias Apalodimas
When building with clang, the compiler compains with drivers/spi/spi-synquacer.c:212:11: warning: variable 'bus_width' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] else if (priv->mode & SPI_TX_OCTAL) ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/spi/spi-synquacer.c:276:11: note: uninitialized use occurs here val |= ((bus_width >> 1) << BUS_WIDTH); ^~~~~~~~~ drivers/spi/spi-synquacer.c:212:7: note: remove the 'if' if its condition is always true else if (priv->mode & SPI_TX_OCTAL) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/spi/spi-synquacer.c:189:25: note: initialize the variable 'bus_width' to silence this warning So initialize bus_width to 1 and add a warning if none of the configured modes matches Signed-off-by: Ilias Apalodimas <[email protected]> Acked-by: Jassi Brar <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2023-04-25mtd: spi-nor: missing fallthrough in set_4byte()Heinrich Schuchardt
Add a missing fallthrough macro to avoid a -Wimplicit-fallthrough warning. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Jagan Teki <[email protected]>