summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2020-08-25arm: mx6: Make all i.MX6 SoCs user-selectableTom Rini
We have a number of platforms that are a combination of a carrier board and System-on-Module (SoM) that in turn allows for the board to have different SoCs on it. In some cases, this is handled via board-specific Kconfig options. In other cases we make use of CONFIG_SYS_EXTRA_OPTIONS. This latter case however can lead to invalid configurations as we will not in turn get options that in Kconfig are selected by or depend on that setting. To resolve this, make the SoC option a choice in Kconfig and make boards depend on what they can support. This change opens us up for further clean-ups in the cases where a single CONFIG_TARGET_xxx can support different SoCs and today they do not, or do not cleanly do so. Reported-by: Matt Porter <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: "NXP i.MX U-Boot Team" <[email protected]> Cc: Soeren Moch <[email protected]> Cc: Markus Niebel <[email protected]> Cc: Igor Opaniuk <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Hannes Schmelzer <[email protected]> Cc: Otavio Salvador <[email protected]> Cc: Nikita Kiryanov <[email protected]> Cc: Andreas Geisreiter <[email protected]> Cc: Ludwig Zenz <[email protected]> Cc: Lukasz Majewski <[email protected]> Cc: Akshay Bhat <[email protected]> Cc: Ken Lin <[email protected]> Cc: Ian Ray <[email protected]> Cc: Tim Harvey <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Raffaele RECALCATI <[email protected]> Cc: Simone CIANNI <[email protected]> Cc: Adam Ford <[email protected]> Cc: Marcin Niestroj <[email protected]> Cc: "Eric Bénard" <[email protected]> Cc: Baruch Siach <[email protected]> Cc: Jason Liu <[email protected]> Cc: Ye Li <[email protected]> Cc: Eric Nelson <[email protected]> Cc: Troy Kisky <[email protected]> Cc: Peng Fan <[email protected]> Cc: Parthiban Nallathambi <[email protected]> Cc: Marek Vasut <[email protected]> Cc: "Sébastien Szymanski" <[email protected]> Cc: Christian Gmeiner <[email protected]> Cc: Niel Fourie <[email protected]> Cc: Martyn Welch <[email protected]> Cc: Richard Hu <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Boris Brezillon <[email protected]> Cc: Arkadiusz Karas <[email protected]> Cc: Breno Lima <[email protected]> Cc: Francesco Montefoschi <[email protected]> Cc: Silvio Fricke <[email protected]> Tested-by: Matt Porter <[email protected]> [colibri_imx6] Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Marcin Niestroj <[email protected]>
2020-08-25arm: octeontx2: Add support for OcteonTX2 SoC platformsSuneel Garapati
This patch adds support for all OcteonTX2 96xx/95xx boards from Marvell. For 96xx boards, use octeontx_96xx_defconfig and for 95xx boards, use octeontx_95xx_defconfig. Signed-off-by: Suneel Garapati <[email protected]>
2020-08-25arm: octeontx: Add support for OcteonTX SoC platformsSuneel Garapati
This patch adds support for all OcteonTX 81xx/83xx boards from Marvell. For 81xx boards, use octeontx_81xx_defconfig and for 83xx boards, use octeontx_83xx_defconfig. Signed-off-by: Suneel Garapati <[email protected]>
2020-08-25arm: octeontx2: Add headers for OcteonTX2Suneel Garapati
Signed-off-by: Suneel Garapati <[email protected]>
2020-08-25arm: octeontx: Add headers for OcteonTXSuneel Garapati
Signed-off-by: Suneel Garapati <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-08-25arm: include/asm/io.h: Add 64bit clrbits and setbits helpersSuneel Garapati
Add 64bit API for clrbits and setbits. Signed-off-by: Suneel Garapati <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-08-25pci: pci-uclass: Add multi entry support for memory regionsSuneel Garapati
Enable PCI memory regions in ranges property to be of multiple entry. This helps to add support for SoC's like OcteonTX/TX2 where every peripheral is on PCI bus. Signed-off-by: Suneel Garapati <[email protected]> Cc: Simon Glass <[email protected]> Cc: Bin Meng <[email protected]>
2020-08-25cmd: provide command sbiHeinrich Schuchardt
Provide a command to display information about the SBI implementation. The output might look like: => sbi SBI 0.2 OpenSBI Extensions: sbi_set_timer sbi_console_putchar sbi_console_getchar sbi_clear_ipi sbi_send_ipi sbi_remote_fence_i sbi_remote_sfence_vma sbi_remote_sfence_vma_asid sbi_shutdown SBI Base Functionality Timer Extension IPI Extension RFENCE Extension Hart State Management Extension The command can be used to construct a unit test checking that the communication with the SEE is working. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Atish Patra <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]> Reviewed-by: Pragnesh Patel <[email protected]> Tested-by: Pragnesh Patel <[email protected]> Reviewed-by: Rick Chen <[email protected]> Tested-by: Rick Chen <[email protected]>
2020-08-25riscv: fix building with CONFIG_SPL_SMP=nHeinrich Schuchardt
Building with CONFIG_SPL_SMP=n results in: arch/riscv/lib/spl.c: In function ‘jump_to_image_no_args’: arch/riscv/lib/spl.c:33:6: error: unused variable ‘ret’ [-Werror=unused-variable] 33 | int ret; | ^~~ Define the variable ret as __maybe_unused. Fixes: 191636e44898 ("riscv: Introduce SPL_SMP Kconfig option for U-Boot SPL") Fixes: 8c59f2023cc8 ("riscv: add SPL support") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Pragnesh Patel <[email protected]>
2020-08-25riscv: fu540: Use correct API to get L2 cache controller base addressBin Meng
At present fdtdec_get_addr() is used to get L2 cache controller base address. This only works for a fixed #address-cells and #size-cells. Change to use fdtdec_get_addr_size_auto_parent() instead. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Pragnesh Patel <[email protected]>
2020-08-24arm: dts: mt7623: add USB nodesFrank Wunderlich
This adds USB nodes for MT7623/BPI-R2 Signed-off-by: Frank Wunderlich <[email protected]> Reviewed-by: Chunfeng Yun <[email protected]>
2020-08-24arm: dts: mt7622: add USB nodesFrank Wunderlich
Add DTS nodes for MT7622/BPI-R64 Signed-off-by: Frank Wunderlich <[email protected]> Reviewed-by: Chunfeng Yun <[email protected]>
2020-08-24arm: dts: rename mt7622-bpi-r64.dtsFrank Wunderlich
rename mt7622-bpi-r64.dts to mt7622-bananapi-bpi-r64.dts to follow naming convensions Signed-off-by: Frank Wunderlich <[email protected]>
2020-08-24board: armltd: Add support for Total Compute platformUsama Arif
Total Compute is based on ARM architecture and has the following features enabled in u-boot: - PL011 UART - PL180 MMC - NOR Flash - FIT image with Signature - AVB Signed-off-by: Usama Arif <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2020-08-23Merge tag 'dm-pull-22aug20' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-dm replace devfdt_get_addr_ptr() with dev_read_addr_ptr() binman fixes for portage various minor fixes 'bind' command improvements
2020-08-23Convert CONFIG_NETCONSOLE to KconfigTom Rini
This converts the following to Kconfig: CONFIG_NETCONSOLE Signed-off-by: Tom Rini <[email protected]>
2020-08-22sandbox: u-boot.lds: Remove bogus __bss_start symbolOvidiu Panait
The sections described in the sandbox linker script are inserted before data section via "INSERT BEFORE .data;". Running readelf -S on sandbox u-boot binary shows that the bss section is located after the data section: Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align ... [25] .u_boot_list PROGBITS 000000000041d1c8 0021d1c8 000000000000dd90 0000000000000000 WA 0 0 8 [26] _u_boot_sandbox_g PROGBITS 000000000042af58 0022af58 00000000000000a0 0000000000000000 WA 0 0 8 [27] .data PROGBITS 000000000042b000 0022b000 000000000000f708 0000000000000000 WA 0 0 32 [28] .bss NOBITS 000000000043a720 0023a708 0000000000018930 0000000000000000 WA 0 0 32 This means that the __bss_start assignment in the linker script is bogus, as the actual bss section start is located elsewhere. Remove this assignment, as the __bss_start symbol is not used on sandbox anyway. Signed-off-by: Ovidiu Panait <[email protected]>
2020-08-22sandbox: dts: Add compatible string for bind-test nodePatrice Chotard
Usage of lists_bind_fdt() in bind command imposes to add a compatible string for bind-test node. Others impacts are: - bind-test node is binded at sandbox start, so no need to bind it in test_bind_unbind_with_node() test. - As explained just above, after sandbox start, now a phy exist. In test/dm/phy.c, it was verified that a third phy didn't exist, now we must verified that a fourth phy doesn't exist. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-08-21rockchip: rk3188: Fix the code support for SPL_LEDKever Yang
Fix the build error for the wrong code when CONFIG_SPL_LED is enabled. Signed-off-by: Kever Yang <[email protected]>
2020-08-21rockchip: dts: rk3399-evb: add sdmmc nodeKever Yang
The sdmmc node is missing after the dts sync patch: 167efc2c7a arm64: dts: rk3399: Sync v5.7-rc1 from Linux But we still need it for boot from SD card, so add it. Signed-off-by: Kever Yang <[email protected]>
2020-08-20Merge tag 'xilinx-for-v2020.10-rc3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2020.10-rc3 - Fix fdtfile variable setup - Fix bootm_*/fdt_high/initrd_high variables handling - Fix Kconfig dependencies for Xilinx drivers - Fix booting u-boot from lowest memory - Fix firmware payload argument count for Versal - Fix dfu configurations - Fix mio_bank property handling - Fix and align code around ID detection - Start to use ENV_VARS_UBOOT_RUNTIME_CONFIG - Simplify logic around reading MAC from eeprom - Decrease malloc length for zynqmp mini qspi - Enable preboot for ZynqMP and Versal i2c: - Fix i2c eeprom partitions handling mmc: - Fix logic around HS mode enabling and use proper functions
2020-08-20xilinx: Add support for ENV_VARS_UBOOT_RUNTIME_CONFIGMichal Simek
Start to use ENV_VARS_UBOOT_RUNTIME_CONFIG to enable/disable updating variables with run time information. Signed-off-by: Michal Simek <[email protected]>
2020-08-20xilinx: zynqmp: remove chip_id functionIbai Erkiaga
Remove chip_id function and integrate the firmware call in the zynqmp_get_silicon_idcode_name function. The change avoids querying the firmware twice and makes the code bit more clear. Signed-off-by: Ibai Erkiaga <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2020-08-20xilinx: zynqmp: synchronize firmware call return payloadIbai Erkiaga
Removes duplicated definition of PAYLOAD_ARG_CNT and define it in the firmware driver. Additionally fixes payload buffer declarations without macro usage Signed-off-by: Ibai Erkiaga <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2020-08-20xilinx: Fix xlnx,mio_bank propertyMichal Simek
s/xlnx,mio_bank/xlnx,mio-bank/g DT binding is describing mio-bank not mio_bank that's why fix all DTSes and also driver itself. Signed-off-by: Michal Simek <[email protected]> Acked-by: Peng Fan <[email protected]>
2020-08-20i2c: eeprom: Use reg property instead of offset and sizeMichal Simek
Remove adhoc dt binding for fixed-partition definition for i2c eeprom. fixed-partition are using reg property instead of offset/size pair. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-08-20versal: fix versal PM ret payload sizeIbai Erkiaga
The PM return payload size is defined as 4 bytes for Versal arquitecture while the PM calls implemented both in the Versal clock driver and ZynqMP firmware driver expects 5 bytes length. Signed-off-by: Ibai Erkiaga <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2020-08-20xilinx: versal: Add new versal loadpdi commandT Karthik Reddy
Versal loadpdi command is used for loading secure & non-secure pdi images. Signed-off-by: T Karthik Reddy <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2020-08-19dts: r64: add sata- and asm_sel nodesFrank Wunderlich
asm_sel is for switching between sata and pcie mode on r64 there is GPIO90 connected to ASM1480 which switches RX/TX pairs to PCIe/SATA connector output-low means sata-controller is active with 2020-10 now reg is also needed for the phy itself Signed-off-by: Frank Wunderlich <[email protected]>
2020-08-19arm: dts: mt7622: add PCIe nodes for BananaPi-R64Frank Wunderlich
this patch adds PCIe-Nodes for BananaPi R64 original nodes from Chuanjia Liu for mt7622-rfb Signed-off-by: Frank Wunderlich <[email protected]>
2020-08-19dts: r64: add r64 dtsFrank Wunderlich
add a separate DTS for BananaPi R64 because it has 1GB RAM and SATA-Support Signed-off-by: Frank Wunderlich <[email protected]>
2020-08-19arm: dts: add watchdog-node for mt7622Frank Wunderlich
adding a watchdog-node to mt7622 dtsi Signed-off-by: Frank Wunderlich <[email protected]>
2020-08-19arm: dts: mediatek: add PCIe node for MT7622Chuanjia Liu
This patch adds PCIe node in dts for Mediatek MT7622 Soc. Signed-off-by: Chuanjia Liu <[email protected]> Signed-off-by: Henry Yen <[email protected]>
2020-08-19arm: dts: mediatek: add pciesys support for MT7622 SoCChuanjia Liu
This patch adds pciesys support in dts for MediaTek MT7622 SoC. Signed-off-by: Henry Yen <[email protected]> Signed-off-by: Chuanjia Liu <[email protected]>
2020-08-18ARM: dts: uniphier: resync DT with Linux 5.9-rc1Masahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2020-08-18ARM: uniphier: use FIELD_GET() to get access to revision register fieldsMasahiro Yamada
Define register fields as macros, and use FIELD_GET(). Signed-off-by: Masahiro Yamada <[email protected]>
2020-08-18ARM: uniphier: remove unneeded header inclusion from board_late_init.cMasahiro Yamada
<nand.h> is unneeded since commit 9248a78f40d6 ("ARM: UniPhier: remove Denali NAND controller fixup code"). <linux/io.h> is uneeded since commit 1320fa2e55d2 ("ARM: uniphier: remove workaround for the NAND write protect"). Signed-off-by: Masahiro Yamada <[email protected]>
2020-08-18ARM: uniphier: remove unused uniphier_pin_init()Masahiro Yamada
This function is unused since commit 862274913f8f ("bus: uniphier-system-bus: move hardware init from board files"). Signed-off-by: Masahiro Yamada <[email protected]>
2020-08-17ARM: imx: ddr: Add deskew register programmingMarek Vasut
Fill is code for programming the DDR_PHY_CMD_DESKEW_CONx registers, which are optional, but can be used to fill in the byte lane delays. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: NXP i.MX U-Boot Team <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2020-08-17ARM: imx: Add support for reading out the primary/secondary bmode to MX7Marek Vasut
Implement the 'getprisec' subcommand of 'bmode' command for i.MX7 by reading out the SRC GPR10 bit 30. This bit is either set by the BootROM if it switched to the secondary copy due to primary copy being corrupted OR it can be overridden by the user. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: NXP i.MX U-Boot Team <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Stefano Babic <[email protected]>
2020-08-17ARM: imx: Add support for reading out the primary/secondary bmodeMarek Vasut
Add new 'getprisec' subcommand to 'bmode' command, which sets the return value of the 'bmode' command to either 0 if the system booted from primary copy or to 1 if the system booted from secondary copy. This can be used e.g. in 'test' command to determine which copy of the system is running. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: NXP i.MX U-Boot Team <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Stefano Babic <[email protected]>
2020-08-17ARM: imx: Add support for switching primary/secondary boot mode to bmodeMarek Vasut
The i.MX6/i.MX7 is capable of booting a secondary "redundant" system image in case the primary one is corrupted. The user can force this boot mode as well by explicitly setting SRC GPR10 bit 30. This can be potentially useful when upgrading the bootloader itself. Expose this functionality to the user. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: NXP i.MX U-Boot Team <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Stefano Babic <[email protected]>
2020-08-17ARM: imx: Add bmode support for iMX7Marek Vasut
Add the basic differentiation between i.MX6 and i.MX7 into the bmode command, the mechanism really works almost the same on both platforms. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: NXP i.MX U-Boot Team <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2020-08-14xen: Port Xen bus driver from mini-osOleksandr Andrushchenko
Make required updates to run on u-boot and strip test code. Signed-off-by: Anastasiia Lukianenko <[email protected]> Signed-off-by: Oleksandr Andrushchenko <[email protected]>
2020-08-14serial: serial_xen: Add Xen PV serial driverPeng Fan
Add support for Xen para-virtualized serial driver. This driver fully supports serial console for the virtual machine. Please note that as the driver is initialized late, so no banner nor memory size is visible. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Oleksandr Andrushchenko <[email protected]> Signed-off-by: Anastasiia Lukianenko <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-08-14xen: Port Xen hypervisor related code from mini-osOleksandr Andrushchenko
Port hypervisor related code from Mini-OS. This is referencing the code of Mini-OS from [1] by Huang Shijie and Volodymyr Babchuk which is for ARM64. Update essential arch code to support required bit operations, memory barriers etc. Copyright for the bits ported belong to at least the following authors, please see related files for details: Copyright (c) 2002-2003, K A Fraser Copyright (c) 2005, Grzegorz Milos, [email protected],Intel Research Cambridge Copyright (c) 2014, Karim Allah Ahmed <[email protected]> [1] - https://github.com/zyzii/mini-os.git Signed-off-by: Oleksandr Andrushchenko <[email protected]> Signed-off-by: Anastasiia Lukianenko <[email protected]> [trini: Drop wmb() from musb-net/linux-compat.h now] Signed-off-by: Tom Rini <[email protected]>
2020-08-14board: Introduce xenguest_arm64 boardAndrii Anisov
Introduce a minimal Xen guest board running as a virtual machine under Xen Project's hypervisor [1], [2]. Part of the code is ported from Xen mini-os and also uses work initially done by different authors from NXP: please see relevant files for their copyrights. [1] https://xenbits.xen.org [2] https://wiki.xenproject.org/ Signed-off-by: Andrii Anisov <[email protected]> Signed-off-by: Oleksandr Andrushchenko <[email protected]> Signed-off-by: Anastasiia Lukianenko <[email protected]>
2020-08-14include/configs: aspeed: Remove hardcoded variablesChia-Wei, Wang
The hardcoded platform variables such as DRAM base address are not common to Aspeed SoCs AST24xx/AST25xx/AST26xx. This patch replaces those hardcoded with macros defined in a newly added header, where the basic SoC HW information are assigned accordingly. Signed-off-by: Chia-Wei, Wang <[email protected]>
2020-08-14cosmetic: aspeed: ast2500: Rename board fileChia-Wei, Wang
Rename the ast2500-board.c to board_common.c and place the renamed file under the ast2500 folder. Signed-off-by: Chia-Wei, Wang <[email protected]>
2020-08-14aspeed: ast2500: Add lowlevel_init assemblyChia-Wei, Wang
The original lowlevel_init function of AST2500 is written in C. However, the C runtime environment is not ready until _main execution. This patch adds the assembly version of the lowlevel_init function. Additional initialization to DRAM configuration and LPC reset source are also added. Signed-off-by: Chia-Wei, Wang <[email protected]>