- 02 9月, 2021 17 次提交
-
-
由 Oleksandr Suvorov 提交于
The prototype of psci_features() duplicated. Remove extra declaration. Fixed: e21e3ffd ("psci: Fix warnings when compiling with W=1") Reported-by: NMichael Scott <mike@foundries.io> Signed-off-by: NOleksandr Suvorov <oleksandr.suvorov@foundries.io>
-
由 Samuel Holland 提交于
For ARMv8-A, NEON is standard, so the compiler can use it even when no special target flags are provided. For example, it can use stores from NEON registers to zero-initialize large structures. GCC 11 decides to do this inside the DRAM init code for the Allwinner H6. However, GCC 11 has a bug where it generates misaligned NEON register stores even with -mstrict-align. Since the MMU is not enabled this early in SPL, the misaligned store causes an exception and breaks booting. Work around this issue by restricting the compiler to using GPRs only, not vector registers. This prevents any future surprises relating to NEON use as well. Signed-off-by: NSamuel Holland <samuel@sholland.org> Acked-by: NAndre Przywara <andre.przywara@arm.com>
-
由 Peter Hoyes 提交于
Use the environment variable armv8_switch_to_el1 to determine whether to switch to EL1 at runtime. This is an alternative to the CONFIG_ARMV8_SWITCH_TO_EL1 compile-time option. The environment variable will be ineffective if the ARMV8_MULTIENTRY config is used. This is required by the Armv8r64 architecture, which must be able to boot at S-EL1 for Linux but may need to boot at other ELs for other systems. Signed-off-by: NPeter Hoyes <Peter.Hoyes@arm.com>
-
由 Peter Hoyes 提交于
The BASER_FVP board variant is implemented on top of the BASE_FVP board config (which, in turn, is based on the Juno Versatile Express board config). They all share a similar memory map - for BASER_FVP the map is inverted from the BASE_FVP (https://developer.arm.com/documentation/100964/1114/Base-Platform/Base---memory/BaseR-Platform-memory-map) * Create new TARGET_VEXPRESS64_BASER_FVP target, which uses the same board config as BASE_FVP and JUNO * Adapt vexpress_aemv8a.h header file to support BASER_FVP (and rename to vexpress_aemv8.h) * Enable config to switch to EL1 for the BASER_FVP * Create vexpress_aemv8r defconfig * Provide an MPU memory map for the BASER_FVP For now, only single core boot is supported. Signed-off-by: NPeter Hoyes <Peter.Hoyes@arm.com> [trini: Add MAINTAINERS, move BOOTCOMMAND to defconfig] Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Peter Hoyes 提交于
Armv8r64 is the first Armv8 platform that only has a PMSA at the current exception level. The architecture supplement for Armv8r64 describes new fields in ID_AA64MMFR0_EL1 which can be used to detect whether a VMSA or PMSA is present. These fields are RES0 on Armv8a. Add logic to read these fields and, for the protection of the memory used by U-Boot, initialize the MPU instead of the MMU during init, then clear the MPU regions before transition to the next stage. Provide a default (blank) MPU memory map, which can be overridden by board configurations. Signed-off-by: NPeter Hoyes <Peter.Hoyes@arm.com>
-
由 Peter Hoyes 提交于
On Armv8-R, the EL1&0 memory system architecture is configurable as a VMSA or PMSA, and resets to an "architecturally unknown" value. Add code to armv8_switch_to_el1_m which detects whether the MSA at EL1&0 is configurable using the id_aa64mmfr0_el1 register MSA fields. If it is we must ensure the VMSA is enabled so that a rich OS can boot. The MSA and MSA_FRAC fields are described in the Armv8-R architecture profile supplement (section G1.3.7): https://developer.arm.com/documentation/ddi0600/latest/Signed-off-by: NPeter Hoyes <Peter.Hoyes@arm.com>
-
由 Peter Hoyes 提交于
The use of ARMv8.3 pointer authentication (PAuth) is governed by fields in HCR_EL2, which trigger a 'trap to EL2' if not enabled. The reset value of these fields is 'architecturally unknown' so we must ensure that the fields are enabled (to disable the traps) if we are entering the kernel at EL1. The APK field disables PAuth instruction traps and the API field disables PAuth register traps Add code to disable the traps in armv8_switch_to_el1_m. Prior to doing so, it checks fields in the ID_AA64ISAR1_EL1 register to ensure pointer authentication is supported by the hardware. The runtime checks require a second temporary register, so add this to the EL1 transition macro signature and update 2 call sites. Signed-off-by: NPeter Hoyes <Peter.Hoyes@arm.com>
-
由 Stephan Gerhold 提交于
The logic in msm_generate_mac_addr() was originally taken from the LK bootloader where the serial number is a string and must be parsed first. However, in U-Boot msm_board_serial() returns an u32 and msm_generate_mac_addr() has quite complicated code that will first print it as a hex string and then immediately parse it again. What this function actually does at the end is to put the serial number encoded as big endian (the order used for the hex string) into the u8 *mac. Use put_unaligned_be32() to do that with bit shifts instead of going through the string format. This should be slightly more efficient and cleaner but does not result in any functional difference. Cc: Ramon Fried <rfried.dev@gmail.com> Signed-off-by: NStephan Gerhold <stephan@gerhold.net> Reviewed-by: NRamon Fried <rfried.dev@gmail.com>
-
由 Stephan Gerhold 提交于
At the moment U-Boot produces an empty MAC address (02:00:00:00:00:00) if the eMMC is not used by anything in U-Boot (e.g. with CONFIG_ENV_IS_NOWHERE=y instead of having the environment on eMMC). This happens because then there is nothing that actually initializes the eMMC and reads the "cid" that is later accessed. To fix this, call mmc_init() to ensure the eMMC is initialized. There is no functional difference if the eMMC is already initialized since then mmc_init() will just return without doing anything. Reviewed-by: NRamon Fried <rfried.dev@gmail.com> Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
-
由 Chia-Wei Wang 提交于
A U-Boot image could be loaded and executed at a different location than it was linked at. For example, Aspeed takes a stable release version of U-Boot image as the golden one for recovery purposes. When the primary storage such as flash is corrupted, the golden image would be loaded to any SRAM/DRAM address on demands through ethernet/UART/etc and run for rescue. To deal with this condition, the PIE is needed as there is only one signed, golden image, which could be however executed at different places. This patch adds the PIE support for ARMv7 platform. Signed-off-by: NChia-Wei Wang <chiawei_wang@aspeedtech.com>
-
由 Chia-Wei Wang 提交于
Use Kconfig 'depends on' instead of #if macro to express the option depdencies. Signed-off-by: NChia-Wei Wang <chiawei_wang@aspeedtech.com>
-
由 Stephan Gerhold 提交于
Enabling CONFIG_SYS_THUMB_BUILD produces a significantly smaller U-Boot binary (250 KiB vs 320 KiB) that still seems to be fully functional. Make use of that by default but keep it as "imply" so it can be disabled for testing in case this causes trouble for someone. Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
-
由 Stephan Gerhold 提交于
Over the time, the "stemmy" U-Boot board was tested on several other Samsung smartphones based on ST-Ericsson NovaThor Ux500. Convert the documentation to reStructuredText at doc/board/ste/stemmy.rst and make the device list complete. Also note that the board now boots into USB Fastboot instead of just ending up at the U-Boot prompt. The device table is mostly taken from the postmarketOS wiki article (https://wiki.postmarketos.org/wiki/ST-Ericsson_NovaThor_U8500). All the newly added devices were tested by Linus Walleij. Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
-
由 Stephan Gerhold 提交于
Make use of the new drivers for ARM U8500 introduced in the U-Boot 2021.10 merge window by adding basic support for USB Fastboot with the "stemmy" board. As a first step this will always boot directly into USB Fastboot for now with the console displayed on the screen to make that obvious. Samsung uses quite strange GPT partition labels on these boards, so also add a bunch of fastboot_partition_alias_* to make this more easy to use. Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
-
由 Stephan Gerhold 提交于
So far there is no need for a clock driver in U-Boot because the previous boot stage leaves all the necessary clocks on. However, some drivers in U-Boot (e.g. arm_pl180_mmci) depend on having a clock driver to obtain the clock frequency. Setting up the clock drivers properly is a bit tricky on U8500, so for now add a simple fixed-clock for the eMMC that allows obtaining the clock frequency. This should be replaced eventually if some board actually requires enabling some of the clocks. Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
-
由 Stephan Gerhold 提交于
Update ste-dbx5x0.dtsi, ste-ab8500.dtsi and ste-ab8505.dtsi with the changes made in upstream Linux. They are taken from https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/ branch "ux500-dts-for-v5.15" (pending merge for Linux 5.15). The only relevant change for U-Boot here is "ARM: dts: ux500: ab8500: Link USB PHY to USB controller node" [1] which links the USB PHY to the USB controller. This is necessary on U-Boot because the PHY driver is implemented as part of the generic PHY subsystem that makes use of these bindings. [1]: https://lore.kernel.org/linux-arm-kernel/20210709182234.47232-1-stephan@gerhold.net/Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
-
由 Stephan Gerhold 提交于
Imply the options for new drivers added for ARM U8500 during the U-Boot 2021.10 merge window. Adding these as "imply" in the Kconfig avoids having to add them to all the board defconfigs but still allows disabling them if wanted. Also select DM_USB_GADGET if DM_USB is selected because otherwise the Ux500 MUSB glue driver does not show up in the configuration. Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
-
- 01 9月, 2021 10 次提交
-
-
由 Michal Simek 提交于
default n/no doesn't need to be specified. It is default option anyway. Signed-off-by: NMichal Simek <michal.simek@xilinx.com> [trini: Rework FSP_USE_UPD portion] Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
This converts the following to Kconfig: CONFIG_SKIP_LOWLEVEL_INIT CONFIG_SKIP_LOWLEVEL_INIT_ONLY In order to do this, we need to introduce SPL and TPL variants of these options so that we can clearly disable these options only in SPL in some cases, and both instances in other cases. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
We move the SYS_CACHE_SHIFT_N options from arch/arm/Kconfig to arch/Kconfig, and introduce SYS_CACHE_SHIFT_4 to provide a size of 16. Introduce select statements for other architectures based on current usage. For MIPS, we take the existing arch-specific symbol and migrate to the generic symbol. This lets us remove a little bit of otherwise unused code. Cc: Alexey Brodkin <alexey.brodkin@synopsys.com> Cc: Anup Patel <anup.patel@wdc.com> Cc: Atish Patra <atish.patra@wdc.com> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Leo <ycliang@andestech.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Sean Anderson <seanga2@gmail.com> Cc: Simon Glass <sjg@chromium.org> Signed-off-by: NTom Rini <trini@konsulko.com> Acked-by: NSean Anderson <seanga2@gmail.com> Reviewed-by: NDaniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: NRick Chen <rick@andestech.com>
-
由 Tom Rini 提交于
- Provide a default Kconfig value of the default script - Largely continue to define this via the board Kconfig file - For the boards that select a script based on defconfig rather than TARGET, keep this within the defconfig. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
Currently, there is no over-arching symbol for access to arch/arm/mach-imx nor the CONFIG symbols that are common over all of these related platforms. This new CONFIG symbol will allow us to start down this path. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
This converts the following to Kconfig: CONFIG_MX7D Cc: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
As this symbol can either be a fixed value or the function get_board_ddr_clk, migration is tricky. Introduce a choice of DYNAMIC or STATIC_DDR_CLK_FREQ. If DYNAMIC, we continue to use the board defined get_board_ddr_clk function. If STATIC, set CONFIG_DDR_CLK_FREQ to that value and now include/clock_legacy.h contains the function prototype or defines get_board_ddr_clk() to that static value. Update callers to test for DYNAMIC or STATIC. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
Move the symbol that controls building some JEDEC SPD support functions to Kconfig. This is required on the TI keystone 2 platforms and very frequently (but not always) used on large number of Freescale/NXP platforms, so use imply there. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
Move this specific option to Kconfig. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
Move CONFIG_DDR_32BIT/64BIT to Kconfig as a choice for Armada XP platforms. Make 64bit the default as this mirrors the current code. Signed-off-by: NTom Rini <trini@konsulko.com> Acked-by: NMarek Behún <marek.behun@nic.cz> Reviewed-by: NStefan Roese <sr@denx.de>
-
- 31 8月, 2021 11 次提交
-
-
由 Tom Rini 提交于
While the Kconfig language seems to accept either form of whitespace, we use a space throughout the project, except in these spots. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
Migrate CONFIG_GICV2 and CONFIG_GICV3 to Kconfig. We still have the GIC related registers that need to be handled more cleanly but start by moving this symbol to Kconfig. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
- Migrate SYS_I2C_SH and related defines to Kconfig - Remove currently unused SYS_I2C_SH related defines - Cleanup related README section. Cc: Marek Vasut <marek.vasut+renesas@gmail.com> Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
This converts the following to Kconfig: CONFIG_SYS_I2C_MXC CONFIG_SYS_I2C_MXC_I2C1 CONFIG_SYS_I2C_MXC_I2C2 CONFIG_SYS_I2C_MXC_I2C3 CONFIG_SYS_I2C_MXC_I2C4 Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
This converts the following to Kconfig: CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SLAVE Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
The omap24xx I2C driver uses its own CONFIG namespace for common I2C variables. Rather than convert more of them to Kconfig, rename these to the common I2C ones and remove the entirely unused functionality. As part of this, we make the am335x_shc platforms consistent with their intended speed values. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
Convert SYS_I2C_EARLY_INIT to Kconfig, and make it depend on SPL_SYS_I2C_LEGACY. Remove the weak implementation as it's either something that needs to exist for real, or shouldn't be called. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
First, we convert CONFIG_SYS_I2C_LEGACY to Kconfig. Next, as you cannot have SYS_I2C_LEGACY and DM_I2C at the same time, introduce CONFIG_SPL_SYS_I2C_LEGACY so that we can enable the legacy option only in SPL. Finally, for some PowerPC cases we also need CONFIG_TPL_SYS_I2C_LEGACY support. Convert all of the existing users to one or more symbols. Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
This converts the following to Kconfig: CONFIG_SYS_I2C_MVTWSI Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
This converts the following to Kconfig: CONFIG_ID_EEPROM Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
Looking over the current boards, there are no users of CONFIG_MAC_ADDR_IN_EEPROM. Further, omapl138_lcdk uses CONFIG_NET_RANDOM_ETHADDR. Drop various unused code paths. Cc: Adam Ford <aford173@gmail.com> Cc: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: NTom Rini <trini@konsulko.com>
-
- 26 8月, 2021 2 次提交
-
-
由 Michal Simek 提交于
Use TF-A instead of ATF in description. And update generic description with removing ATF because also configurations without it are supported. Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
-
由 Michal Simek 提交于
U-Boot support board detection at run time and based on it change DT. This feature is implemented for SOM Kria platforms which contain two eeproms which contain information about SOM module and CC (Carrier card). Full U-Boot starts with minimal DT file defined by CONFIG_DEFAULT_DEVICE_TREE which is available in multi DTB fit image. It is using default setup of board_name variable initializaed to DEVICE_TREE which corresponds to CONFIG_DEFAULT_DEVICE_TREE option. When DTB_RESELECT is enabled board_detection() is called. Keep it your mind that this code is called before relocation. board_detection() is calling xilinx_read_eeprom() which fills board_info (xilinx_board_description) structure which are parsed in board_name_decode(). Based on DT configuration and amount of nvmemX aliases name of the board is composed by concatenating CONFIG_SYS_BOARD "-" <board_name> "-rev" <board_revision> "-" <cc_name> "-rev" <cc_revision>. If CC is not present or more are available it keeps going. When board name is composed and returned from board_name_decode() it is assigned to board_name variable which is used by board_fit_config_name_match() which is called via fdtdec_setup() when it goes over config options in multi dtb FIT image. From practical point of view multi DTB image is key point here which has to contain configs for detected combinations. Unfortunately as of now they have to be full DTBs and DTBOs are not supported. That's why configuration like: config_X { description = "zynqmp-board-cc"; fdt = "board", "cc"; }; needs to be squashed together with: fdtoverlay -o zynqmp-board-cc -i arch/arm/dts/zynqmp-board.dtb \ arch/arm/dts/zynqmp-cc.dtbo and only one dtb is in fit: config_X { description = "zynqmp-board-cc"; fdt = "board-cc"; }; For creating multi DTBs fit image use mkimage -E, e.g.: mkimage -E -f all.its all.dtb When DTB_RESELECT is enabled xilinx_read_eeprom() is called before relocation and it uses calloc for getting a buffer. Because this is dynamic memory it is not relocated that's why xilinx_read_eeprom() is called again as the part of board_init(). This second read with calloc buffer placed in proper position board_late_init_xilinx() can setup u-boot variables as before. Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
-