summaryrefslogtreecommitdiff
path: root/board
AgeCommit message (Collapse)Author
2024-03-02ARM: renesas: Drop unused sh_sdhi.hMarek Vasut
This file is no longer used, the SDHI controller driver is long superseded by drivers/mmc/renesas-sdhi.c which includes all the details of the hardware. Remove this file include from all board files and remove the file itself. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-03-02Merge branch 'master-riic' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
- New renesas I2C controller driver and new PMIC driver along with enablement of them.
2024-03-02FWU: developerbox: read boot index from NOR flashMasahisa Kojima
The FWU Multi Bank Update feature allows the platform to boot the firmware images from one of the partitions(banks). On the Developerbox, SCP-firmware running on the SCB(Cortex-M3) passes the value of the boot index on the NOR flash. Add a function to read the boot index value from the NOR flash. Signed-off-by: Masahisa Kojima <[email protected]>
2024-03-02qemu-arm: round down memory to multiple of 2MB for LPAEIgor Opaniuk
QEMU's -m option can take fractional megabyte values, and lowest granularity seems to be 0x2000. For example, run qemu with amount of memory set to 100005k (0x61A9400): $ qemu-system-arm -machine virt -cpu cortex-a15 -m 100005k \ -bios denx/u-boot.bin -nographic => fdt addr $fdt_addr => fdt print /memory@40000000 memory@40000000 { reg = <0x00000000 0x40000000 0x00000000 0x061aa000>; device_type = "memory"; }; When LPAE is enabled, 1:1 mapping is created using 2 MB blocks. In case amount of memory provided to QEMU is not multiple of 2 MB, hang occurs during MMU initialization. How to reproduce: qemu-system-arm -machine virt -m 1058 -nographic -bios u-boot.bin - boots qemu-system-arm -machine virt -m 1057 -nographic -bios u-boot.bin - hangs DRAM: 1 GiB initcall: 60011df8 initcall: 60011904 New Stack Pointer is: 80fffe90 initcall: 60011a20 initcall: 60011bcc initcall: 60011bd4 initcall: 600119b4 Relocation Offset is: 22042000 Relocating to 82042000, new gd at 81001ed0, sp at 80fffe90 initcall: 60011b8c initcall: 82053ea0 initcall: 82053ea8 initcall: 60012040 (relocated to 82054040) dram_bank_mmu_setup: bank: 0 - hang here during mmu init - This patches rounds down to the nearest multiple of 2MB when CONFIG_ARMV7_LPAE=y. Fixes: 3fa914af82("arm: qemu: implement enable_caches()") Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2024-03-01xen: xenguest_arm64: map all VIRTIO MMIO regionPeng Fan
When run `virtio scan` on i.MX95, there is abort when accessing virtio mmio region. The issue is the mmio region is not mapped. So let's map all virtio mmio regions. Signed-off-by: Peng Fan <[email protected]>
2024-03-01board: qcs404-evb: drop board codeCaleb Connolly
This board is entirely supported by the generic arch code and DTS. The board code used to handle turning on the vbus regulator, however this is now handled via DT. With this, the board specific defconfig is also no longer needed, so drop it as well. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01mach-snapdragon: dynamic load addressesCaleb Connolly
Heavily inspired by Apple board code. Use the LMB allocator to configure load addresses at runtime, and implement a lookup table for selecting a devicetree. As some Qualcomm RBx boards have different RAM capacities and base addresses, it isn't possible to hardcode these regions. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01mach-snapdragon: generalise board supportCaleb Connolly
Historically, Qualcomm boards have relied on heavy hardcoding in U-Boot, in many cases to the specific SoC but also to the board itself (e.g. memory map). This has been largely resolved by modernising the Qualcomm drivers in U-Boot, however the board code still largely follows this model. This patch removes the board specific memory maps and duplicated board init code, replacing it with generic init code. The memory map is now built at runtime based on data read from DT, this allows for the memory map to be provided without having to recompile U-Boot. Support is also added for booting with appended DTBs, so that the first-stage bootloader can populate the memory map for us. The sdm845 specific init code is dropped entirely, it set an environment variable depending on if a button was pressed, but this variable wasn't used in U-Boot, and could be written to use the button command instead. The KASLR detection is also dropped as with appended dtb, the kaslr seed can be read directly from the DTB passed to U-Boot. A new qcom_defconfig is added, with the aim of providing a generic U-Boot configuration that will work on as many Qualcomm boards as possible. It replaces the defconfig files for the Dragonboard 845c, Galaxy S9, and QCS404 EVB. For now the db410c and 820c are excluded as they still have some board code left. Similarly, the config headers for db845c, starqltechn, and qcs404-evb are replaced by a single qcom header. The previously db410c-specific board_usb_init() function is made to be generic and is added to mach-snapdragon. While we lack proper modelling for USB configuration, using a well-known named pinctrl state is a reasonably generic middleground, and works using upstream DT. This function will do nothing unless the USB node has a pinctrl state named "device", in which case it will be set when entering USB peripheral mode. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01board: dragonboard820c: use LINUX_KERNEL_IMAGE_HEADERCaleb Connolly
db820c predated support for prepending the kernel image header automatically, drop it's custom linker script and head.S in favour of this generic support. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01board: dragonboard410c: import board code from mach-snapdragonCaleb Connolly
Some of the db410c board support code was written to be generic and placed in mach-snapdragon. However, as the db410c is the only board using this, move the code out of mach-snapdragon. This makes is more obvious what code is relevant for which targets and helps tidy things up a little more. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01board: dragonboard410c: upstream DT compatCaleb Connolly
Use the root compatible strings from upstream Linux, add missing '#clock-cells' property to the gcc node. Adjust some of the msm8916/apq8016 drivers to use the correct upstream compatible properties and DT bindings. This prepares us to switch to upstream DT in a future patch. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01board: dragonboard410c: add chainloaded config fragmentCaleb Connolly
Add a config fragment for building U-Boot such that it can be chainloaded by aboot/LK rather than being flashed directly to the aboot partition. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01Merge patch series "toradex: fix reset and hardware detection regressions"Tom Rini
Francesco Dolcini <[email protected]> says: This series fixes two regressions affecting multiple Toradex boards (i.MX, TI and TEGRA based) and targets the current master, e.g. v2024.04 release. U-Boot `reset` command is broken on all Tordex i.MX6* based SoMs since v2023.07, this series fixes it enabling the `wdt-reboot` driver. Since v2024.04-rc1 reading the Toradex configuration block is not working properly anymore, the serial number and the hardware version are not read correctly, preventing the board from functioning correctly (wrong mac address, wrong DT, ...). This is fixed by reading the config block in `EVT_SETTINGS_R` and adding a toradex sysinfo driver. In addition to that, we now use a random mac address in case the config block is invalid. Reported-by: Sahaj Sarup <[email protected]> Closes: https://lore.kernel.org/all/CAKZ1LvM45MB8N0CqgU+C7i9=Bjb6kqNTxWo2Tv407HKLWtCMkA@mail.gmail.com/ Reported-by: Marcel Ziswiler <[email protected]> Closes: https://lore.kernel.org/all/[email protected]/ Reported-by: Francesco Dolcini <[email protected]> Closes: https://lore.kernel.org/all/ZY2ZDWAQuTlRjV9H@francesco-nb/
2024-03-01toradex: common: Use random mac address if toradex config block is missingEmanuele Ghidoli
Set CONFIG_NET_RANDOM_ETHADDR=y, which sets random eth address in case there is no toradex config block programmed. In case of missing toradex config block the generated mac address was always the same, linked to serial number 0. Use random generated mac address instead. Acked-by: Marcel Ziswiler <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> # Verdin iMX8M Plus Signed-off-by: Emanuele Ghidoli <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-01toradex: common: Add sysinfo driverEmanuele Ghidoli
This commit introduces support for the Toradex sysinfo driver in U-Boot, which uses information from Toradex config block to print correct board model. In case the Toradex config block is not present sysinfo prints the model of the board provided by device tree removing per board specific prints. Acked-by: Marcel Ziswiler <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> # Verdin iMX8M Plus Signed-off-by: Emanuele Ghidoli <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-01toradex: common: Use SETTINGS_R event to read toradex config blockEmanuele Ghidoli
Use SETTINGS_R event to read toradex config block and checkboard() to print board info. Acked-by: Marcel Ziswiler <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> # Verdin iMX8M Plus Signed-off-by: Emanuele Ghidoli <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-01toradex: Remove not necessary model prints from checkboard()Emanuele Ghidoli
Sysinfo prints the model obtained from device tree, checkboard() take info from hardware and tdx_checkboard() use the model retrieved by toradex config block. Remove the print from checkboard() function because the model obtained from toradex config block is the most complete. If toradex config block is missing the model info from device tree is enough. Acked-by: Marcel Ziswiler <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> # Verdin iMX8M Plus Signed-off-by: Emanuele Ghidoli <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-01toradex: Fix recursive call to checkboardEmanuele Ghidoli
Since checkboard() is used instead of show_board_info(), in case toradex config block is missing or malformed, checkboard is recursively called. It prints a long list of "MISSING TORADEX CONFIG BLOCK" till the stack is full. Fixes: edb0ecd18708 ("toradex: Use checkboard() instead of show_board_info()") Acked-by: Marcel Ziswiler <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> # Verdin iMX8M Plus Signed-off-by: Emanuele Ghidoli <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-01riscv: mbv: Enable SPL and binmanMichal Simek
Enable SPL and binman to generate u-boot.img (machine mode) and u-boot.itb (supervisor mode). DTB is placed at fixed address to ensure that it is 8 byte aligned which is not ensured when dtb is attached behind SPL binary that's why SPL and U-Boot are taking DTB from the same address. Also align addresses for both defconfigs. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/85506bce5580d448f095f267d029e3932c5e9990.1707911544.git.michal.simek@amd.com
2024-03-01riscv: mbv: Switch to OF_SEPARATE with fixed addressMichal Simek
Hardcode DTB address to specific address. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/a5ad3c8d21be311254dd950e4e322d13cacdc176.1707911544.git.michal.simek@amd.com
2024-03-01riscv: mbv: Align addresses with default DTMichal Simek
Better to align everything with memory map described in DT to avoid mistakes. Execute both modes form the same address to make address map more understandable. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/be54c668d5626ccd702507a86c2a95d1eaefc690.1707911544.git.michal.simek@amd.com
2024-02-28board: rzg2l: Support reset via Renesas RAA215300 PMICPaul Barker
With the SYSRESET subsystem enabled we do not need to implement reset_cpu() in the board directory. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-02-27Kconfig: Centralize prompting for SYS_CONFIG_NAMETom Rini
Generally speaking, we do not prompt for this value and define it in the board specific Kconfig file. There are some valid use cases however today where we do prompt for this value, so instead of having this be done in a number of locations, do this at the top-level location only. This removes the question from a number of other locations and makes it consistent that when we do set the value directly, we always do it the same way. We don't need to specify the type, it's always string. Signed-off-by: Tom Rini <[email protected]>
2024-02-27hc2910-2aghd05: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the hc2910-2aghd05 platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27slimbootloader: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the slimbootloader platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27qemu-x86*: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the qemu-x86* platforms and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27minnowmax: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the minnowmax platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27galileo: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the galileo platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27efi-x86_payload: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the efi-x86_payload* platforms and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27efi-x86_app: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the efi-x86_app* platforms and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27edison: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the edison platform and remove the otherwise empty file. Acked-by: Andy Shevchenko <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-02-27crownbay: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the crownbay platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27cougarcanyon2: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the cougarcanyon2 platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27cherryhill: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the cherryhill platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27bayleybay: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the bayleybay platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27coreboot: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the coreboot platform and remove the otherwise empty file. Signed-off-by: Tom Rini <[email protected]>
2024-02-27xilinx_mbv: Remove empty config headerTom Rini
Now that we support having CONFIG_SYS_CONFIG_NAME be unset to indicate a lack of board.h file, unset this on the xilinx_mbv platforms and remove the otherwise empty file. Acked-by: Michal Simek <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-02-24board: imx6dl-sielaff: spl.c: Remove multiline stringFrieder Schrempf
Remove the malformed multiline string and fix the checkpatch warning. Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Frieder Schrempf <[email protected]>
2024-02-24imx: imxrt1050-evk: Add support for SPI flash bootingJesse Taube
Add support for booting the imxrt1050-evk from spi. Add imximage config and the ability for SPL to boot from NOR. Enable binman in Kconfig and device tree for imxrt* as it is used to prepend fspi_header.bin to SPL and u-boot.img. Signed-off-by: Jesse Taube <[email protected]>
2024-02-20Merge patch series "board/ti: k3 boards: Stop using findfdt"Tom Rini
Nishanth Menon <[email protected]> says: This is a wide cleanup to switch to setting fdtfile using env_set instead of scripted magic. 'fdtfile' is expected to be set by default. This allows the stdboot triggered efi loaders to find the correct OS device tree file even if regular boot process is interrupted by user intervention.
2024-02-20board: beagle: beagleplay: Set fdtfile from C code instead of findfdt scriptNishanth Menon
Stop using the findfdt script and switch to setting the fdtfile from C code. Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: beagle: beagleboneai64: Set fdtfile from C code instead of findfdt scriptNishanth Menon
Stop using the findfdt script and switch to setting the fdtfile from C code. Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: ti: j721s2: Set fdtfile from C code instead of findfdt scriptNishanth Menon
We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: ti: j721e: Set fdtfile from C code instead of findfdt scriptNishanth Menon
We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: ti: am65x: Set fdtfile from C code instead of findfdt scriptNishanth Menon
We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: ti: am64x: Set fdtfile from C code instead of findfdt scriptNishanth Menon
We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". While at this, replace findfdt in environment with a warning as it is no longer needed. Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: ti: am62x: Set fdtfile from C code instead of findfdt scriptNishanth Menon
Stop using the findfdt script and switch to setting the fdtfile from C code. While at this, replace findfdt in environment with a warning as it is no longer needed Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: ti: am62ax: Set fdtfile from C code instead of findfdt scriptNishanth Menon
Stop using the findfdt script and switch to setting the fdtfile from C code. While at this, replace findfdt in environment with a warning as it is no longer needed Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: ti: common: Introduce a common fdt ops libraryNishanth Menon
Introduce a common fdt operations library for basic device tree operations that are common between various boards. The first library to introduce here is the capability to set up fdtfile as a standard variable as part of board identification rather than depend on scripted ifdeffery. Reviewed-by: Jonathan Humphreys <[email protected]> Reviewed-by: Roger Quadros <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>
2024-02-20board: ti: Add missing common/Kconfig referencesNishanth Menon
Add missing board/ti/common/Kconfig references for the platforms that missed it. The intent is for the common Kconfig to be usable across TI reference boards as required. Reported-by: Tom Rini <[email protected]> Signed-off-by: Nishanth Menon <[email protected]>