summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2020-12-06board: ge: reduce VPD EEPROM partition sizeIan Ray
Reduce vital product data size to match the latest specification. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2020-12-06imx: ahab: fix implicit declaration warningOliver Graute
Fix the following warning: arch/arm/mach-imx/imx8/ahab.c:105:3: warning: implicit declaration of function ‘flush_dcache_range’ [-Wimplicit-function-declaration] flush_dcache_range(s, e); ^~~~~~~~~~~~~~~~~~ Include cpu_func.h header which declares the flush_dcache_range() function. Signed-off-by: Oliver Graute <[email protected]> Cc: Stefano Babic <[email protected]> Cc: uboot-imx <[email protected]>
2020-12-06imx: ahab: fix compiler warnings in debugOliver Graute
arch/arm/mach-imx/imx8/ahab.c: In function ‘authenticate_os_container’: arch/arm/mach-imx/imx8/ahab.c:96:9: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 9 has type ‘ulong {aka long unsigned int}’ [-Wformat=] debug("img %d, dst 0x%x, src 0x%x, size 0x%x\n", Fix those by using "%lu" specified. Signed-off-by: Oliver Graute <[email protected]> Cc: Stefano Babic <[email protected]> Cc: uboot-imx <[email protected]>
2020-12-06imx: ahab: Fix compiler warnings in printfOliver Graute
arch/arm/mach-imx/imx8/ahab.c:110:63: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘u64 {aka long long unsigned int}’ [-Wformat=] Fix those by using %llx Signed-off-by: Oliver Graute <[email protected]> Cc: Stefano Babic <[email protected]> Cc: uboot-imx <[email protected]>
2020-12-06arm: dts: aristainetos: sync with changes in linuxHeiko Schocher
sync with comaptible changes in linux from Krzysztof Kozlowski. https://patchwork.kernel.org/project/linux-arm-kernel/patch/[email protected]/ Signed-off-by: Heiko Schocher <[email protected]>
2020-12-06imx6: add support for aristainetos2c_cslb board variantHeiko Schocher
add support for aristainetos2c_cslb board variant. Signed-off-by: Heiko Schocher <[email protected]>
2020-12-06imx6: remove not longer supported aristainetos boardsHeiko Schocher
Removed aristainetos2, 2b, 2b-csl. This boards have been recalled and destroyed. Adapt board code to remove stuff not needed anymore. Fix checkpatch warning, remove fdt_high and initrd_high from default environment. Signed-off-by: Heiko Schocher <[email protected]> zu remove
2020-12-04bootm: Support string substitution in bootargsSimon Glass
In some cases it is necessary to pass parameters to Linux so that it will boot correctly. For example, the rootdev parameter is often used to specify the root device. However the root device may change depending on whence U-Boot loads the kernel. At present it is necessary to build up the command line by adding device strings to it one by one. It is often more convenient to provide a template for bootargs, with U-Boot doing the substitution from other environment variables. Add a way to substitute strings in the bootargs variable. This allows things like "rootdev=${rootdev}" to be used in bootargs, with the ${rootdev} substitution providing the UUID of the root device. For example, to substitute the GUID of the kernel partition: setenv bootargs "console=/dev/ttyS0 rootdev=${uuid}/PARTNROFF=1 kern_guid=${uuid}" part uuid mmc 2:2 uuid bootm This is particularly useful when the command line from another place. For example, Chrome OS stores the command line next to the kernel itself. It depends on the kernel version being used as well as the hardware features, so it is extremely difficult to devise a U-Boot script that works on all boards and kernel versions. With this feature, the command line can be read from disk and used directly, with a few substitutions set up. Signed-off-by: Simon Glass <[email protected]>
2020-12-04x86: zimage: Add silent-console processingSimon Glass
At present zimage does its own command-line processing and does not support the 'silent console' feature. There doesn't seem to be any good reason for this. Add support for silent console to zimage. Signed-off-by: Simon Glass <[email protected]>
2020-12-04bootm: Add tests for fixup_silent_linux()Simon Glass
This function currently has no tests. Export it so that we can implement a simple test on sandbox. Use IS_ENABLED() to remove the unused code, instead #ifdef. Signed-off-by: Simon Glass <[email protected]>
2020-12-04board: sl28: add OP-TEE Trusted OS support (bl32)Michael Walle
Add support to load the OP-TEE Trusted OS by the SPL. Signed-off-by: Michael Walle <[email protected]>
2020-12-04board: sl28: add ATF support (bl31)Michael Walle
Add support to load the bl31 part of the ARM Trusted Firmware by the SPL. Signed-off-by: Michael Walle <[email protected]>
2020-12-04board: sl28: remove u-boot from loadable DT nodeMichael Walle
It is not needed. Remove it. Signed-off-by: Michael Walle <[email protected]>
2020-12-04armv8: layerscape: don't initialize GIC in SPLMichael Walle
The BL31 expects the GIC to be uninitialized. Thus, if we are loading the BL31 by the SPL we must not initialize it. If u-boot is loaded by the SPL directly, it will initialize the GIC again (in the same lowlevel_init()). This was tested on a custom board with SPL loading the BL31 and jumping to u-boot as BL33 as well as loading u-boot directly by the SPL. In case the ATF BL1/BL2 is used, this patch won't change anything, because no SPL is used at all. Signed-off-by: Michael Walle <[email protected]>
2020-12-04treewide: use CONFIG_IS_ENABLED() for ARMV8_SEC_FIRMWARE_SUPPORTMichael Walle
There is SPL_ARMV8_SEC_FIRMWARE_SUPPORT and ARMV8_SEC_FIRMWARE_SUPPORT. Thus use CONFIG_IS_ENABLED() instead of the simple #ifdef. Signed-off-by: Michael Walle <[email protected]> Acked-by: Michal Simek <[email protected]>
2020-12-04configs: cei-tk1-som: remove CONFIG_ARMV7_PSCI in include filePatrick Delaunay
Activate ARCH_SUPPORT_PSCI as other TEGRA124 target and remove CONFIG_ARMV7_PSCI and CONFIG_ARMV7_PSCI_NR_CPUS in configs file as they are migrated in Kconfig. Select CONFIG_ARMV7_PSCI_0_1 (the first PSCI version), because CONFIG_ARMV7_PSCI_0_2 and CONFIG_ARMV7_PSCI_1_0 are not activated in this product. Hi, This patch depend on the previous serie [1]. I don't test this patch on real hardware but after this patch the size of the binary don't change. In .config we have: CONFIG_ARCH_SUPPORT_PSCI=y CONFIG_ARMV7_PSCI=y # CONFIG_ARMV7_PSCI_1_0 is not set # CONFIG_ARMV7_PSCI_0_2 is not set CONFIG_ARMV7_PSCI_0_1=y CONFIG_ARMV7_PSCI_NR_CPUS=4 In u-boot.cfg, this patch only add the 2 lines #define CONFIG_ARCH_SUPPORT_PSCI 1 #define CONFIG_ARMV7_PSCI_0_1 1 [1] "Convert CONFIG_ARMV7_PSCI_1_0 and CONFIG_ARMV7_PSCI_0_2 to Kconfig" http://patchwork.ozlabs.org/project/uboot/list/?series=184029 Regards Patrick END Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Peter Chubb <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2020-12-01IPQ40xx: clk: add USB clock handlingRobert Marko
USB clocks were completely forgotten as driver would always return 0 even if clock ID was unknown. This behaviour changed with "IPQ40xx: clk: dont always return 0" and this will now causes the USB-s to fail probing as clock enable will return -EINVAL. So to fix that lets add all of the USB clocks to the driver. Fixes: 430e1dcf ("IPQ40xx: Add USB nodes") Signed-off-by: Robert Marko <[email protected]> Cc: Luka Perkov <[email protected]>
2020-12-01IPQ40xx: clk: dont always return 0Robert Marko
Currently the driver will go through the clock ID-s and set/enable them as needed. But if the ID is unknown it will fall through the switch case to the default case which will always return 0. This is not correct and default cases should return a error code since clock ID is unknown. So lets return -EINVAL instead. Signed-off-by: Robert Marko <[email protected]> Cc: Luka Perkov <[email protected]>
2020-12-01IPQ40xx: clk: drop breaks in switch caseRobert Marko
There is no point in having break statements in the switch case as there is already a return before break. So lets drop them from the driver. Signed-off-by: Robert Marko <[email protected]> Cc: Luka Perkov <[email protected]>
2020-12-01IPQ40xx: clk: use dev_read_addr()Robert Marko
Lets convert the driver to use dev_read_addr() instead of the devfdt_get_addr(). While we are here, lets also alphabetise the includes. Signed-off-by: Robert Marko <[email protected]> Cc: Luka Perkov <[email protected]>
2020-11-30mips: octeon: tools: Add update_octeon_header toolStefan Roese
Add a tool to update or insert an Octeon specific header into the U-Boot image. This is needed e.g. for booting via SPI NOR, eMMC and NAND. While working on this, move enum cvmx_board_types_enum and cvmx_board_type_to_string() to cvmx-bootloader.h and remove the unreferenced (unsupported) board definition. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]>
2020-11-30mips: octeon: bootoctlinux: Use gd->ram_size instead of ram_get_info()Stefan Roese
Using ram_get_info() is complicated and does not work after relocation. Now that gd->ram_size holds the full RAM size, let's use it instead and remove the ram_get_size logic completely. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]>
2020-11-30mips: octeon: Report full DDR size in dram_init() to gd->ram_sizeStefan Roese
With this patch, gd->ram_size now holds to full RAM size detected by the DDR init code. It introduces the get_effective_memsize() function to report the maximum usable RAM size in U-Boot to the system instead. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]>
2020-11-30mips: start.S: Add Octeon boot header compatibilityStefan Roese
Octeon has a specific boot header, when booted via SPI NOR, NAND or MMC. Here the only 2 instructions are allowed in the first few bytes of the image. And these instructions need to be one branch and a nop. This patch adds the necessary nop after the nop, to that the common MIPS image is compatible with this Octeon header. The tool to patch the Octeon boot header into the image will be send in a follow-up patch. Signed-off-by: Stefan Roese <[email protected]> Cc: Aaron Williams <[email protected]> Cc: Chandrakala Chavva <[email protected]> Cc: Daniel Schwierzeck <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]>
2020-11-28riscv: sifive/fu540: kconfig: Enable support for Opencores I2C controllerPragnesh Patel
Enable support for SiFive FU540 Opencores I2C master controller. Signed-off-by: Pragnesh Patel <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2020-11-26ARM: mach-at91: fix timer.o compile conditionEugen Hristev
The AT91 architecture now has two possible timer blocks, the old PIT timer and the new PIT64B. The timer.c file has an old non DM driver that works for platforms that do not use the ATMEL_PIT_TIMER DM-based driver. Update the Makefile to select this old driver in case neither of the ATMEL_PIT_TIMER and the MCHP_PIT64B_TIMER are selected. Suggested-by: Claudiu Beznea <[email protected]> Signed-off-by: Eugen Hristev <[email protected]>
2020-11-26ARM: at91: armv7: sama7g5 uses CCF clock driverNicolas Ferre
SAMA7G5 uses CCF driver under drivers/clk/at91/ and not the custom older at91 clock.c driver. Remove it from the compilation list and adapt cpu.c arch_cpu_init() to avoid calling at91_clock_init() which is wrong anyway. Signed-off-by: Nicolas Ferre <[email protected]> Reviewed-by: Claudiu Beznea <[email protected]>
2020-11-26ARM: dts: at91: sam9x60: enable slewrate/high drive for sdhci0 pinoutEugen Hristev
Align the pin setup for sdhci0 with linux kernel. This means to have slew rate enable and high drive strength. Signed-off-by: Eugen Hristev <[email protected]>
2020-11-25remoteproc: stm32: use reset for hold bootPatrick Delaunay
Use the reset function to handle the hold boot bit in RCC with device tree handle with MCU_HOLD_BOOT identifier. This generic reset allows to remove the two specific properties: - st,syscfg-holdboot - st,syscfg-tz This patch prepares alignment with kernel device tree. Signed-off-by: Patrick Delaunay <[email protected]> Cc: Fabien DESSENNE <[email protected]> Cc: Arnaud POULIQUEN <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2020-11-25SPL: stm32mp1: fix spl_mmc_boot_partition not definedRichard Genoud
spl_mmc_boot_partition is only defined when CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is defined. Signed-off-by: Richard Genoud <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-11-25ARM: dts: stm32: Drop QSPI CS2 on DHCOMMarek Vasut
The QSPI CS2 is not used on DHCOM, remove the pinmux and flash@1. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-11-25ARM: dts: stm32: Fix uSD card-detect GPIO on DHCOMMarek Vasut
The uSD slot card-detect GPIO is connected to PG1, fix it. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-11-25ARM: dts: stm32: Add DHCOM based PicoITX boardMarek Vasut
Add DT for DH PicoITX unit, which is a bare-bones carrier board for the DHCOM. The board has ethernet port, USB, CAN, LEDs and a custom board-to-board expansion connector. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-11-25arm: stm32mp: correct the ALIGN macro usagePatrick Delaunay
Correct the ALIGN macro usage in mmu_set_region_dcache_behaviour call: the address must use ALIGN_DOWN and size can use ALIGN macro. With STM32_SYSRAM_BASE=0x2FFC0000 and MMU_SECTION_SIZE=0x100000 for STM32MP15x the computed address was 30000000 instead of 2ff00000. Fixes: 43fe9d2fda24 ("stm32mp1: mmu_set_region_dcache_behaviour") Signed-off-by: Patrick Delaunay <[email protected]>
2020-11-25ARM: dts: stm32: Fix typo in stm32h7-u-boot.dtsiPatrice Chotard
Fix typo "firsct" Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-11-25ARM: dts: stm32: Fix timer initialization for stm32 MCU's boardPatrice Chotard
Commit 4b2be78ab66c ("time: Fix get_ticks being non-monotonic") puts in evidence that get_ticks is called before timer initialization. Fix it by initializing timer before relocation. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-11-25ARM: dts: stm32: DT sync with kernel v5.10-rc1 for MCU's boardsPatrice Chotard
Device tree alignment with kernel v5.10-rc1. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-11-25ARM: dts: sync armv7-m.dtsi with kernel v5.10-rc1Patrice Chotard
Since kernel v4.8-rc1, commit 05b23ebc2bd9 ("ARM: dts: armv7-m: remove skeleton.dtsi include"), skeleton.dtsi file is no more included. This synchronization is needed to avoid to get 2 memory node in DTB file if, in DTS file, memory node is declared with the correct syntax as following: memory@90000000 { device_type = "memory"; reg = <0x90000000 0x800000>; }; Then in DTB, we will have the 2 memory nodes, which is incorrect and cause misbehavior during DT parsing by U-boot: memory { device_type = "memory"; reg = <0x00 0x00>; }; memory@90000000 { device_type = "memory"; reg = <0x90000000 0x800000>; }; Issue found when synchronizing MCU's STM32 DT from kernel v5.10-rc1. When using fdtdec_setup_mem_size_base() or fdtdec_setup_memory_banksize() API, first above memory node is found (with reg = <0x00 0x00>), so gd->ram_size, gd->ram_base, gd->bd->bi_dram[bank].start and gd->bd->bi_dram[bank].size are all set to 0 which avoid boards to boot. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-11-22pinctrl: renesas: r8a77951: Add R8A774E1 PFC supportBiju Das
Renesas RZ/G2H (r8a774e1) is pin compatible with R-Car H3 (r8a77951), however it doesn't have several automotive specific peripherals. Add a r8a77951 specific pin groups/functions along with common pin groups/functions for supporting both r8a77951 and r8a774e1 SoC. PFC changes are synced from mainline linux-5.9 commit bbf5c979011a ("Linux 5.9"). Signed-off-by: Biju Das <[email protected]> Reviewed-by: Lad Prabhakar <[email protected]>
2020-11-22pinctrl: renesas: r8a77965: Add R8A774B1 PFC supportBiju Das
Renesas RZ/G2N (r8a774b1) is pin compatible with R-Car M3-N (r8a77965), however it doesn't have several automotive specific peripherals. Add a r8a77965 specific pin groups/functions along with common pin groups/functions for supporting both r8a77965 and r8a774b1 SoC. PFC changes are synced from mainline linux-5.9 commit bbf5c979011a ("Linux 5.9"). Signed-off-by: Biju Das <[email protected]> Reviewed-by: Lad Prabhakar <[email protected]>
2020-11-20arm64: zynqmp: Get rid of unused macrosMichal Simek
There is no reason to have these macros. But record offsets of missing register in the structure for future use. Signed-off-by: Michal Simek <[email protected]>
2020-11-20microblaze: Enable GCC garbage collector for full U-BootMichal Simek
GCC's garbage collector works for Microblaze for quite a long time but none has enabled it. The same change has be done for example by commit fac4790491f6 ("arc: Eliminate unused code and data with GCC's garbage collector"). Before: text data bss dec hex filename 588760 33592 39192 661544 a1828 u-boot After: text data bss dec hex filename 504504 32164 38608 575276 8c72c u-boot Which saves almost 15% of memory footprint. Also group symbols/functions to proper section. Reported-by: Tom Rini <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2020-11-17sunxi: dts: sync Allwinner V3s-related DTs from Linux 5.10-rc1Icenowy Zheng
This commit imports device tree files that are related to Allwinner V3 series from Linux commit 3650b228f83a ("Linux 5.10-rc1"). Signed-off-by: Icenowy Zheng <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-11-17sunxi: allow to use AXP20[39] attached to I2C0 on V3 seriesIcenowy Zheng
The reference design of Allwinner V3 series uses an AXP203 or AXP209 PMIC attached to the I2C0 bus of the SoC, although the first community-available V3s board, Lichee Pi Zero, omitted it. Allow to introduce support for the PMIC on boards with it. Signed-off-by: Icenowy Zheng <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-11-17sunxi: add V3/S3 supportIcenowy Zheng
Allwinner V3/Sochip S3 uses the same die with Allwinner V3s/S3L, but V3 comes with no co-packaged DDR (DDR3 is usually used externally), and S3L comes with co-packaged DDR3. Add support for Allwinner V3/S3 chips by add SoC names to original V3s choice, and allow to select DDR3. Signed-off-by: Icenowy Zheng <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-11-17sunxi: DT: A64: update device tree filesSamuel Holland
Import updated device trees from Linux tag v5.9. This picks up new hardware (PinePhone, PineTab); and it drops the U-Boot specific DTSI files for the Pinebook and the Teres-I, since the ANX6345 bridge is now supported upstream. A couple of headers needed updates for recently-added hardware support. Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-11-17sunxi: board: Add PinePhone DT selection logicSamuel Holland
There are two different publicly-released revisions of the PinePhone hardware, versions 1.1 and 1.2; and they need different device trees. Since some GPIO pins were rerouted, we can use that to distinguish between them. Acked-by: Maxime Ripard <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-11-16Merge tag 'ti-v2021.01-rc3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-ti - Fix Nokia RX-51 boot issues - Fix CONFIG_LOGLEVEL on K3 devices - Add phyBOARD REGOR support
2020-11-16Merge tag 'u-boot-amlogic-20201116' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic - Clock fix MMC driver for SM1 based platforms - sync SOC Ids from Linux 5.10-rc1 - fix potential build warning on meson_dw_hdmi and meson-g12a-usb2 phy
2020-11-15ARM: am335x: Add phyBOARD REGOR supportParthiban Nallathambi
phyBOARD-REGOR is based on phyCORE AM335x R2 SoM (PCL060). CPU : AM335X-GP rev 2.1 Model: Phytec AM335x phyBOARD-REGOR DRAM: 512 MiB NAND: 512 MiB MMC: OMAP SD/MMC: 0 eth0: ethernet@4a100000 Working: - Eth0 - i2C - MMC/SD - NAND - UART - USB (host) Device trees were taken from Linux mainline: commit c4d6fe731176 ("Linux 5.9.0") Signed-off-by: Parthiban Nallathambi <[email protected]> Reviewed-by: Tom Rini <[email protected]>