summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-14treewide: Add a function to change page permissionsIlias Apalodimas
For armv8 we are adding proper page permissions for the relocated U-Boot binary. Add a weak function that can be used across architectures to change the page permissions Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on AML-S905X-CC Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-03-14arm64: mmu_change_region_attr() add an option not to break PTEsIlias Apalodimas
The ARM ARM (Rev L.a) on section 8.17.1 describes the cases where break-before-make is required when changing live page tables. Since we can use a function to tweak block and page permissions, where BBM is not required split the existing mmu_change_region_attr() into two functions and create one that doesn't require BBM. Subsequent patches will use the new function to map the U-Boot binary with proper page permissions. While at it add function descriptions in their header files. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-03-14arm: Prepare linker scripts for memory permissionsIlias Apalodimas
Upcoming patches are switching the memory mappings to RW, RO, RX after the U-Boot binary and its data are relocated. Add annotations in the linker scripts to and mark text, data, rodata sections and align them to a page boundary. It's worth noting that .efi_runtime memory permissions are left untouched for now. There's two problems with EFI currently. The first problem is that we bundle data, rodata and text in a single .efi_runtime section which also must be close to .text for now. As a result we also dont change the permissions for anything contained in CPUDIR/start.o. In order to fix that we have to decoule .text_rest, .text and .efi_runtime and have the runtime services on their own section with proper memory permission annotations (efi_rodata etc). The efi runtime regions (.efi_runtime_rel) can be relocated by the OS when the latter is calling SetVirtualAddressMap. Which means we have to configure those pages as RX for U-Boot but convert them to RWX just before ExitBootServices. It also needs extra code in efi_tuntime relocation code since R_AARCH64_NONE are emitted as well if we page align the section. Due to the above ignore EFI for now and fix it later once we have the rest in place. Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on AML-S905X-CC Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-03-14doc: update meminfo with arch specific informationIlias Apalodimas
Since we added support in meminfo to dump live page tables, describe the only working architecture for now (aarch64) and add links to public documentation for further reading. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-03-14meminfo: add memory details for armv8Ilias Apalodimas
Upcoming patches are mapping memory with RO, RW^X etc permsissions. Fix the meminfo command to display them properly Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-03-13Kconfig: Introduce CONFIG_WERRORPaul Barker
Add a new config option under "General setup" to enable the -Werror flag when building U-Boot. This is useful during development to help catch mistakes. This is based on a similar config option added to the Linux kernel by Linus in 2021 - see Linux commit 3fe617ccafd6 ("Enable '-Werror' by default for all kernel builds"). The modification of KBUILD_CFLAGS is done in Makefile.extrawarn, matching where it was moved in the kernel by Linux commit e88ca24319e4 ("kbuild: consolidate warning flags in scripts/Makefile.extrawarn"). Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
2025-03-13lib: rsa: add NULL check for 'algo' inAnton Moryakov
- Check return value of fdt_getprop for NULL. - Return -EFAULT if 'algo' property is missing. - Prevent NULL pointer dereference in strcmp." Triggers found by static analyzer Svace. Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
2025-03-13memory: ti-gpmc: Alloc per driver private structVignesh Raghavendra
Driver uses dev_get_priv() but never allocates it in its declaration leading to various crashes. Fix this by explicitly allocating the storage. Fixes: 9b0b5648d6e4 ("memory: Add TI GPMC driver") Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-13board: ti: j784s4: Update Resource Management configsVaishnav Achath
Update rm-cfg.yaml and tifs-rm-cfg.yaml to account for the changes added in the K3 Resource Partitioning Tool v1.18 The change enables resource sharing between A72_2 and MAIN_0_R5_0 for the BCDMA CSI RX and TX channels, J784S4 supports upto 12 CSI cameras and 16 channels would not be enough for all such use cases for RTOS and Linux, thus sharing of resources in needed. Resource sharing between A72 and R5 for BCDMA CSI channels allow Linux to use 32 channels at a time. Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com> [n-francis@ti.com: rebased and sent on behalf] Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2025-03-13cmd: Drop last reference to CMD_REISERFSTom Rini
While the code was removed in commit 3766a249a3c0 ("fs: drop reiserfs") this reference in the Makefile was missed. Remove it now. Fixes: 3766a249a3c0 ("fs: drop reiserfs") Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-03-13mach-k3: common_fdt: create a reserved memory nodeBryan Brattlof
Some device trees may not have a reserved-memory node. Rather than exiting early we should create a new reserved-memory node along with the memory carveout for the firmware we (U-Boot) have placed. Signed-off-by: Bryan Brattlof <bb@ti.com> Acked-by: Andrew Davis <afd@ti.com>
2025-03-13test: event: Correct usage of IS_ENABLED() macro in test/common/event.cTom Rini
This file was using IS_ENABLED() to test for CONFIG flags but omitted the CONFIG_ prefix and so did not work as expected. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-03-13tools: add HOSTCFLAGS from openssl pkg-configRaymond Mao
HOSTCFLAGS of some tools components (image-host, rsa-sign and ecdsa-libcrypto) depend on the directory where openssl is installed. Add them via pkg-config. This fixes a potential build failure in tools when openssl in installed in varied directories. Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
2025-03-13Dockerfile: Add missing 'rm -rf /tmp/coreboot-24.08'Tom Rini
We had missed removing the coreboot directory once done, fix this. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-03-13Merge patch series "xPL-stack cleanup"Tom Rini
Simon Glass <sjg@chromium.org> says: This series was split from the VBE part H series. It adjusts the logic for selecting the top of the stack so that it is more consistent across xPL phases. Link: https://lore.kernel.org/r/20250228122042.1277079-1-sjg@chromium.org
2025-03-13arm: Support a separate stack for VPLSimon Glass
VPL has the same needs as TPL in situations where the stack is at the top of SRAM. Add an option for this and implement it for arm Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-13spl: Use CONFIG_VAL() to obtain the SPL stackSimon Glass
Now that we have the same option for SPL and TPL, simplify the logic for determining the initial stack. Note that this changes behaviour as current SPL_STACK is a fallback for TPL. However, that was likely unintended and can be handled with Kconfig defaults if needed. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Suggested-by: Tom Rini <trini@konsulko.com>
2025-03-13spl: Add an SPL_HAVE_INIT_STACK optionSimon Glass
At present there is a hex value SPL_STACK which both determines whether SPL has its own initial stack and the hex value of that stack. Split off the former into SPL_HAVE_INIT_STACK with SPL_STACK depending on that and only providing the latter. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Resync defconfig files]
2025-03-13tpl: Rename TPL_NEEDS_SEPARATE_STACK to TPL_HAVE_INIT_STACKSimon Glass
The most common word for features that make a platform work is to use 'HAVE_xxx'. Rename this option to match. Update the help to use the word 'phase' rather than 'stage', since that is the current terminology. Also clarify that, absent this setting, the stack pointer generally comes from the value used by U-Boot proper, rather than SPL. Move the option just above TPL_STACK which depends on it. Signed-off-by: Simon Glass <sjg@chromium.org>
2025-03-13Merge patch series "arm: mach-sc5xx: Remove manual bss_clear"Tom Rini
This series from Greg Malysa <malysagreg@gmail.com> provides two more fixes for the mach-sc5xx platforms. Link: https://lore.kernel.org/r/20250228185837.25741-1-malysagreg@gmail.com
2025-03-13arm: mach-sc5xx: Remove inappropriate board-specific functionsGreg Malysa
The sc5xx machine code includes implementations of board_init and board_early_init_f which should not be included in the base soc support code, as they should be implemented by a board where necessary. This removes the default empty implementations of both from mach-sc5xx. Signed-off-by: Greg Malysa <malysagreg@gmail.com>
2025-03-13arm: mach-sc5xx: Remove manual bss_clearGreg Malysa
The arm library includes an implementation of bss_clear that is already called from crt0.S. This re-clearing of BSS should not be performed in the machine code and should therefore be removed. Signed-off-by: Greg Malysa <malysagreg@gmail.com>
2025-03-13Merge patch series "Update DDR Configurations"Tom Rini
Santhosh Kumar K <s-k6@ti.com> says: This series is to update the DDR configurations of AM64x EVM, AM62x SK, AM62x LP SK, AM62Ax SK and AM62Px SK boards according to the SysConfig DDR Configuration tool for AM64x, AM625, AM623, AM62Ax, AM62Px v0.10.02. Test logs: https://gist.github.com/santhosh21/43723900f3615e4cf98da57ed9618cf9 Link: https://lore.kernel.org/r/20250226063923.2266288-1-s-k6@ti.com
2025-03-13arm: dts: k3-am62p: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM62Px SK according to the SysConfig DDR Configuration tool for AM64x, AM625, AM623, AM62Ax, AM62Px v0.10.02. Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
2025-03-13arm: dts: k3-am62a: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM62Ax SK according to the SysConfig DDR Configuration tool for AM64x, AM625, AM623, AM62Ax, AM62Px v0.10.02. Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
2025-03-13arm: dts: k3-am62-lp: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM62x LP SK according to the SysConfig DDR Configuration tool for AM64x, AM625, AM623, AM62Ax, AM62Px v0.10.02. Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
2025-03-13arm: dts: k3-am62x: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM62x SK according to the SysConfig DDR Configuration tool for AM64x, AM625, AM623, AM62Ax, AM62Px v0.10.02. Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
2025-03-13arm: dts: k3-am64: Update DDR ConfigurationsSanthosh Kumar K
Update the DDR Configurations for AM64x EVM according to the SysConfig DDR Configuration tool for AM64x, AM625, AM623, AM62Ax, AM62Px v0.10.02. Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
2025-03-12Merge tag 'u-boot-stm32-20250312' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm into next CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/25112 - Add drivers for MFD STM32 TIMERS and STM32 PWM and enable them on stm32mp135f-dk - Restrict _debug_uart_init() usage in STM32 serial driver - Add support for environment in eMMC on STM32MP13xx DHCOR SoM - Introduce DH STM32MP15xx DHSOM board specific defconfigs - Fix CONFIG_BOOTCOUNT_ALTBOOTCMD update on DH STM32MP1 DHSOM - Update maintainer for board stm32f746-disco - Fix Linux cmdline for stm32f769-disco - Cleanup in stm32f***-u-boot.dtsi and in board_late_init() by removing legacy led and button management.
2025-03-12Merge patch series "binman: build_from_git: Add argument specifying branch"Tom Rini
This series from Leonard Anderweit <l.anderweit@phytec.de> provides some improvements to the binman tool and i.MX specific tooling then makes use of it. Link: https://lore.kernel.org/r/20250226210501.72794-1-l.anderweit@phytec.de
2025-03-12binman: cst: Build from sourceLeonard Anderweit
Build the imx code singing tool from source instead of relying on the distro to provide the tool. Use the debian/unstable branch because the default branch is outdated. The binary is supposed to be build with docker, work around that by selecting the correct Makefile directly. Also append the description and add a link to documentation. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-03-12binman: build_from_git: Add optional make path inside git repoLeonard Anderweit
Add optional argument make_path to build_from git. The new argument allows specifying the path to a Makefile in case it is not in the root of the git repo. Also adjust the corresponding test. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-03-12binman: build_from_git: Add argument specifying branchLeonard Anderweit
Add optional argument git_branch to build_from_git. The new argument allows specifying which branch of the repo to use. Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-03-12Merge patch series "drivers: Driver support for ADI SC5xx SoCs"Tom Rini
Greg Malysa <malysagreg@gmail.com> says: This series adds all of the supported peripheral drivers for the sc5xx series of SoCs from Analog Devices and other drivers that are used by the evaluation kits, such as a GPIO expander used by the EZLITE carrier boards. This series passes gitlab CI tests. Link: https://lore.kernel.org/r/20250226173150.13198-1-malysagreg@gmail.com
2025-03-12mmc: Add support for ADI SC5XX-family processor SDHCI peripheralsNathan Barrett-Morrison
Co-developed-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2025-03-12spi: Add support for ADI SC5XX-family processor SPI peripheralsNathan Barrett-Morrison
This adds support for the ADI-specific SPI driver present in the ADI SC5xx line of SoCs. This IP block is distinct from the QSPI/OSPI block that uses the Cadence driver. Both may be used at once with appropriate pin muxing configuration. Co-developed-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Angelo Dureghello <angelo.dureghello@timesys.com> Signed-off-by: Angelo Dureghello <angelo.dureghello@timesys.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Co-developed-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com> Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2025-03-12remoteproc: Add in SHARC loading for ADI SC5XX-family processorsNathan Barrett-Morrison
This adds the ability to load ldr-formatted files to the SHARC coprocessors using the rproc interface. Only a minimal subset of rproc functionality is supported: loading and starting the remote core. Secure boot and signed ldr verification are not available at this time through the U-Boot interface. Co-developed-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Co-developed-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com> Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2025-03-12dma: Add driver for ADI SC5xx-family SoC MDMA functionalityGreg Malysa
Add a rudimentary MDMA driver for the Analog Devices SC5xx SoCs, primarily intended for use with and tested against the QSPI/OSPI IP included in the SoC. Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com>
2025-03-12watchdog: Add support for ADI SC5XX-family watchdog peripheralNathan Barrett-Morrison
Co-developed-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Reviewed-by: Stefan Roese <sr@denx.de>
2025-03-12net: Add support for ADI SC5xx SoCs with DWC QoS ethernetGreg Malysa
The ADI SC598 includes a Designware QoS 5.20a IP block. This commit adds support for using the existing ethernet QoS driver with the SC598 SoC. Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com>
2025-03-12i2c: Add support for ADI SC5XX-family I2C peripheralNathan Barrett-Morrison
Co-developed-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Co-developed-by: Angelo Dureghello <angelo.dureghello@timesys.com> Signed-off-by: Angelo Dureghello <angelo.dureghello@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2025-03-12usb: musb-new: Add support for Analog Devices SC5xx SoCsNathan Barrett-Morrison
This adds support for the MUSB-based USB controller found in the Analog Devices SC57x and SC58x SoCs. Co-developed-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2025-03-12gpio: Add support for ADI ADP5588 GPIO expander chipsNathan Barrett-Morrison
This adds support for the ADP588 GPIO expander from Analog Devices. It is accessed over I2C and provides up to 18 pins. It is largely a port of the Linux driver developed by Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
2025-03-12gpio: Add support for SC5XX-family processor GPIO driverGreg Malysa
This adds support for using the GPIO pins on the SC5XX family of SoCs from Analog Devices. Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com>
2025-03-12doc: Add dt-bindings and descriptions for ADI SC5xx-family pinctrlGreg Malysa
This adds the necessary dt-bindings and documentation to use the ADI SC5xx pinctrl driver in a device tree. It is not yet available upstream in the Linux kernel. Eventually, it will be moved there. Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com>
2025-03-12pinctrl: Add support for ADI SC5XX-family pinctrlGreg Malysa
This adds support for pin configuration on the Analog Devices SC5XX SoC family. This commit is largely a port of the Linux driver, which has not yet been submitted upstream. Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Co-developed-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Oliver Gaskell <Oliver.Gaskell@analog.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com>
2025-03-12Merge patch series "pci_auto: Downgrade prefetch if necessary"Tom Rini
This series from Patrick Rudolph <patrick.rudolph@9elements.com> fixes an issue with how we treat PCIe vs PCI in some cases and fixes the qemu-arm-sbsa reference platform support. Link: https://lore.kernel.org/r/20250226135647.194842-1-patrick.rudolph@9elements.com
2025-03-12emulation: qemu-sbsa: Enable PCI enumerationPatrick Rudolph
Enable PCI enumeration by default to get the Bochs display driver up and running before the boot medium is scanned. This is just to enhance the user-experience while booting the machine. TEST: U-Boot logo, version, log output and the U-Boot shell is visible on the display device. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2025-03-12emulation: qemu-sbsa: Select SYS_PCI_64BITPatrick Rudolph
qemu's sbsa-ref is always using a 64bit CPU and the PCI prefetch MMIO window is located above 4GiB, thus always enable SYS_PCI_64BIT. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2025-03-12pci_auto: Downgrade prefetch if necessaryPatrick Rudolph
Legacy PCI devices, like qemu's Bochs VGA device, are allowed to have prefetchable 32-bit BARs, while PCIe devices are not allowed to have 32-bit prefetchable BARs. Typically prefetchable BARs are 64-bit and typically the prefetch MMIO window is also 64-bit and placed above 4GiB, as it's the case on qemu sbsa-ref. Currently the U-Boot code assumes that prefetchable BARs are 64-bit BARs and always tries to assign them into the prefetch MMIO window. When a 32-bit BAR is marked as prefetch, but the prefetch area is not within the first 4GiB of the address space, then downgrade the BAR and place it in the non-prefetch MMIO window. For prefetch BARs there's no downside on being placed in non prefetch MMIO areas, besides the possible slower performance when a driver tries to map it Write-Combine. TEST: Fixes pci_auto on QEMU sbsa-ref fails to autoconfigure BAR0. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>