summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2022-06-14configs: drop CONFIG_SPL_ABORT_ON_RAW_IMAGEPeng Fan26-26/+0
CONFIG_SPL_RAW_IMAGE_SUPPORT default y has been used to replace CONFIG_SPL_ABORT_ON_RAW_IMAGE for quite some time, so drop CONFIG_SPL_ABORT_ON_RAW_IMAGE. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-06-14imx: kontron-sl-mx8mm: enable DM_SERIALPeng Fan1-1/+0
Enable CONFIG_DM_SERIAL. uart and its pinmux was already marked with u-boot,dm-spl. Move preloader_console_init after spl_init to make sure driver model work. Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Frieder Schrempf <frieder.schrempf@kontron.de> Reviewed-by: Fabio Estevam <festevam@denx.de> Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2022-06-14imx: imx8mn_var_som: enable DM_SERIALPeng Fan1-2/+0
Enable CONFIG_DM_SERIAL. uart and its pinmux was already marked with u-boot,dm-spl. Move preloader_console_init after spl_init to make sure driver model work. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-06-14imx: imx8m[m/p]_phycore: Enable DM_SERIALPeng Fan2-6/+0
Enable CONFIG_DM_SERIAL. uart and its pinmux was already marked with u-boot,dm-spl. Move preloader_console_init after spl_early_init to make sure driver model work. Signed-off-by: Peng Fan <peng.fan@nxp.com> Tested-by: Teresa Remmet <t.remmet@phytec.de> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-06-14imx: imx8mm_icore: Enable SPL_DM_SERIALPeng Fan1-3/+0
Enable CONFIG_SPL_DM_SERIAL. uart2 and its pinmux was already marked with u-boot,dm-spl. Move preloader_console_init after spl_early_init to make sure driver model work. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-06-14imx: imx8mm-cl-iot-gate: Enable DM_SERIALPeng Fan1-2/+0
Enable CONFIG_DM_SERIAL. uart3 and its pinmux was already marked with u-boot,dm-spl. Move preloader_console_init after spl_early_init to make sure driver model work. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-06-14imx: imx8m[m/n]_beacon: Enable SPL_DM_SERIALPeng Fan2-4/+0
Enable CONFIG_SPL_DM_SERIAL. uart2 and its pinmux was already marked with u-boot,dm-spl. Move preloader_console_init after spl_init to make sure driver model work. Signed-off-by: Peng Fan <peng.fan@nxp.com> Tested-by: Adam Ford <aford173@gmail.com> #imx8mm_beacon Reviewed-by: Fabio Estevam <festevam@denx.de> Tested-by: Adam Ford <aford173@gmail.com> #imx8mn_beacon
2022-06-14imx: drop CONFIG_MXC_UART_BASEPeng Fan13-32/+0
Since these boards has CONFIG_DM_SERIAL and/or CONFIG_SPL_DM_SERIAL, the legacy macro no need to be defined. Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Fabio Estevam <festevam@denx.de> Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Soeren Moch <smoch@web.de> Acked-by: Tim Harvey <tharvey@gateworks.com>
2022-06-10configs: Add configs for AM62x SKVignesh Raghavendra1-0/+67
Add am62x_evm_r5_defconfig for R5 SPL and am62x_evm_a53_defconfig for A53 SPL and U-Boot support. To keep the changes to minimum. Only UART And SD boot related configs are included. This should serve as good starting point for new board bringup with AM62x. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> [trini: Migrate a number of CONFIG symbols, have re-tested] Tested-by: Georgi Vlaev <g-vlaev@ti.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-10arm: mach-k3: am62: Introduce autogenerated SoC dataSuman Anna2-0/+2
Introduce autogenerated SoC data support clk and device data for the AM62. Hook it upto to power-domain and clk frameworks of U-Boot. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2022-06-10dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62Suman Anna1-0/+3
Add pinctrl macros for AM62x SoCs. These macro definitions are similar to that of previous platforms, but adding new definitions to avoid any naming confusions in the SoC dts files. checkpatch insists the following error exists: ERROR: Macros with complex values should be enclosed in parentheses However, we do not need parentheses enclosing the values for this macro as we do intend it to generate two separate values as has been done for other similar platforms. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2022-06-10arm: bcmbca: introduce the bcmbca architecture and 47622 SOCWilliam Zhang1-0/+14
This is the initial support for Broadcom's ARM-based 47622 SOC. In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart. The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba. The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there. Signed-off-by: William Zhang <william.zhang@broadcom.com> Signed-off-by: Kursad Oney <kursad.oney@broadcom.com> Signed-off-by: Anand Gore <anand.gore@broadcom.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
2022-06-10configs: j721e_evm.h: define CONFIG_SYS_FLASH_BASEVaishnav Achath1-0/+2
Define CONFIG_SYS_FLASH_BASE to indicate start address of Flash memory Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
2022-06-08misc: Add support for nvmem cellsSean Anderson1-0/+134
This adds support for "nvmem cells" as seen in Linux. The nvmem device class in Linux is used for various assorted ROMs and EEPROMs. In this sense, it is similar to UCLASS_MISC, but also includes UCLASS_I2C_EEPROM, UCLASS_RTC, and UCLASS_MTD. New drivers corresponding to a Linux-style nvmem device should be implemented as one of the previously-mentioned uclasses. The nvmem API acts as a compatibility layer to adapt the (slightly different) APIs of these uclasses. It also handles the lookup of nvmem cells. While nvmem devices can be accessed directly, they are most often used by reading/writing contiguous values called "cells". Cells typically hold information like calibration, versions, or configuration (such as mac addresses). nvmem devices can specify "cells" in their device tree: qfprom: eeprom@700000 { #address-cells = <1>; #size-cells = <1>; reg = <0x00700000 0x100000>; /* ... */ tsens_calibration: calib@404 { reg = <0x404 0x10>; }; }; which can then be referenced like: tsens { /* ... */ nvmem-cells = <&tsens_calibration>; nvmem-cell-names = "calibration"; }; The tsens driver could then read the calibration value like: struct nvmem_cell cal_cell; u8 cal[16]; nvmem_cell_get_by_name(dev, "calibration", &cal_cell); nvmem_cell_read(&cal_cell, cal, sizeof(cal)); Because nvmem devices are not all of the same uclass, supported uclasses must register a nvmem_interface struct. This allows CONFIG_NVMEM to be enabled without depending on specific uclasses. At the moment, nvmem_interface is very bare-bones, and assumes that no initialization is necessary. However, this could be amended in the future. Although I2C_EEPROM and MISC are quite similar (and could likely be unified), they present different read/write function signatures. To abstract over this, NVMEM uses the same read/write signature as Linux. In particular, short read/writes are not allowed, which is allowed by MISC. The functionality implemented by nvmem cells is very similar to that provided by i2c_eeprom_partition. "fixed-partition"s for eeproms does not seem to have made its way into Linux or into any device tree other than sandbox. It is possible that with the introduction of this API it would be possible to remove it. Signed-off-by: Sean Anderson <sean.anderson@seco.com>
2022-06-08misc: i2c_eeprom: Add fallbacksSean Anderson1-0/+24
Add some fallback functions for when i2c_eeprom is disabled. This allows code to reference i2c_eeprom_* functions without needing to check whether support has been compiled in. Signed-off-by: Sean Anderson <sean.anderson@seco.com>
2022-06-08misc: i2c_eeprom: Make i2c_eeprom_write use a const bufSean Anderson1-1/+2
i2c_eeprom_ops->write uses a const buf, so use one for the wrapper function as well. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-06-08virtio_ring: Check used descriptors are chain headsAndrew Scull1-0/+2
When the device returns used buffers, it should refer to the descriptor that is the head of the descriptor chain for that buffer. Confirm this to be the case by tracking the head of descriptor chains that have been made available to the device. Signed-off-by: Andrew Scull <ascull@google.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-06-08virtio_ring: Maintain a shadow copy of descriptorsAndrew Scull1-0/+10
The shared descriptors should only be written by the guest driver, however, the device is still able to overwrite and corrupt them. Maintain a private shadow copy of the descriptors for the driver to use for state tracking, removing the need to read from the shared descriptors. Signed-off-by: Andrew Scull <ascull@google.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-06-07include/configs: Remove rootwait=1 to all the affected boardsMichael Trimarchi9-10/+10
rootwait=1 is not a valid kernel boot parameters. According to the documenation is only rootwait rootwait [KNL] Wait (indefinitely) for root device to show up. Useful for devices that are detected asynchronously (e.g. USB and MMC devices). Fix: Unknown kernel command line parameters "rootwait=1", will be passed to user space. Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2022-06-07common/board_r.c: drop legacy and unused bi_enetaddrRasmus Villemoes1-1/+0
The bi_enetaddr field in struct bd_info is write-only; nothing ever reads back the value. Moreover, the value we write is more or less random, and certainly not something one can rely on: If the board has a writable environment and the mac address has been stored there, we fetch that value. But if the board doesn't, this code runs before initr_net() -> eth_initialize(), and thus before the code in eth-uclass which fetches MAC addresses from eeprom, fuses or whatnot and populates the (run-time) environment with those values. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Tom Rini <trini@konsulko.com>
2022-06-07event: fix static events for CONFIG_NEEDS_MANUAL_RELOCOvidiu Panait1-0/+10
Static events do not currently work post-relocation for boards that enable CONFIG_NEEDS_MANUAL_RELOC. Relocate event handler pointers for all event spies to fix this. Tested on Microblaze. Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
2022-06-07dm: fix DM_EVENT dependenciesHeinrich Schuchardt1-6/+1
CONFIG_DM_EVENT without CONFIG_EVENT is non-functional. Let CONFIG_DM_EVENT depend on CONFIG_EVENT. Remove superfluous stub in include/event.h. Fixes: 5b896ed5856f ("event: Add events for device probe/remove") Reported-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-06-06arm: mvebu: Remove CONFIG_SPL_BOOT_DEVICEChris Packham3-37/+0
CONFIG_SPL_BOOT_DEVICE was made obsolete by CONFIG_MVEBU_SPL_BOOT_DEVICE_{SPI,MMC,SATA,UART}. CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI is the default so existing users of CONFIG_SPL_BOOT_DEVICE can simply have the option removed. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
2022-06-06Convert CONFIG_FIXED_SDHCI_ALIGNED_BUFFER to KconfigChris Packham5-39/+0
CONFIG_FIXED_SDHCI_ALIGNED_BUFFER is needed on some Marvell SoCs when booting from MMC. All existing usages of this have the same value so make this the default and have the Kconfig option depend on SPL && MVEBU_SPL_BOOT_DEVICE_MMC. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
2022-06-06Convert CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR et al to KconfigTom Rini21-53/+0
This converts the following to Kconfig: CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_SYS_NAND_SPL_KERNEL_OFFS to KconfigTom Rini14-52/+0
This converts the following to Kconfig: CONFIG_SYS_NAND_SPL_KERNEL_OFFS Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06spl: Remove CONFIG_SPL_START_S_PATH and rework the logic behind itTom Rini2-9/+0
In some cases, when we don't use CONFIG_SPL_FRAMEWORK nor are we on PowerPC using their specific SPL/TPL framework, we need to specify the start.S file to use for these typically very constrained systems. Do this within the Makefile logic, rather than introducing a string-based CONFIG option, as this would get slightly complex to do in Kconfig for a very limited number of users. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Drop CONFIG_SPL_SIZETom Rini7-23/+0
We do not reference CONFIG_SPL_SIZE in the code, remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06ax25-ae350: Move CONFIG_SYS_FDT_BASE to KconfigTom Rini1-3/+0
The address where the device tree will be passed in to U-Boot at is now moved to the Kconfig file. If this is user configurable, it needs to be exposed rather than hidden, and should probably be renamed as well. Reviewed-by: Rick Chen <rick@andestech.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_SYS_SPL_ARGS_ADDR to KconfigTom Rini31-52/+0
This converts the following to Kconfig: CONFIG_SYS_SPL_ARGS_ADDR In doing so, we also consistently use this variable for SPL_OS_BOOT and not CONFIG_SYS_FDT_BASE in some cases. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_SPL_TARGET to KconfigTom Rini14-32/+0
This converts the following to Kconfig: CONFIG_SPL_TARGET Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Remove CONFIG_SPL_STACK_SIZETom Rini1-3/+0
This is not used anywhere, drop it. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Drop CONFIG_SPL_SPI_FLASH_MINIMALTom Rini6-6/+0
There are no users of CONFIG_SPL_SPI_FLASH_MINIMAL only platforms defining it, drop it. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_SPL_GD_ADDR to KconfigTom Rini8-13/+0
This converts the following to Kconfig: CONFIG_SPL_GD_ADDR Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06etamin: Remove CONFIG_SPL_CMT definesTom Rini1-6/+0
These are presumably private to non-upstream code, remove. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Remove CONFIG_SYS_SPL_LEN largelyTom Rini7-12/+1
This is mostly unused. In the case where it is currently used, it means the same as CONFIG_SPL_PAD_TO, which is already set for the platform. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_SYS_SPL_MALLOC_SIZE et al to KconfigTom Rini86-272/+10
This converts the following to Kconfig: CONFIG_SYS_SPL_MALLOC_SIZE CONFIG_SYS_SPL_MALLOC_START We introduce a default value here as well, and CONFIG_SYS_SPL_MALLOC to control if we have a malloc pool or not. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_SPL_BSS_START_ADDR to KconfigTom Rini107-198/+2
This converts the following to Kconfig: CONFIG_SPL_BSS_START_ADDR Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_SPL_RELOC_TEXT_BASE et al to KconfigTom Rini7-41/+0
This converts the following to Kconfig: CONFIG_SPL_RELOC_TEXT_BASE CONFIG_SPL_RELOC_STACK CONFIG_SPL_RELOC_MALLOC_ADDR CONFIG_SPL_RELOC_MALLOC_SIZE Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_TPL_NAND_INIT to KconfigTom Rini2-2/+0
This converts the following to Kconfig: CONFIG_TPL_NAND_INIT Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06imx7: Update CONFIG_SPL_STACK defaults in KconfigTom Rini1-23/+0
Update the Kconfig entry to have the correct defaults for i.MX7 platforms, and move the existing large comment from imx7_spl.h to doc/imx/common/imx7.txt so that it's not lost. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06imx6: Update CONFIG_SPL_STACK defaults in KconfigTom Rini1-39/+0
Update the Kconfig entry to have the correct defaults for i.MX6 platforms, and move the existing large comment from imx6_spl.h to doc/imx/common/imx6.txt so that it's not lost. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Convert CONFIG_SPL_STACK to KconfigTom Rini116-187/+0
This converts the following to Kconfig: CONFIG_SPL_STACK Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Migrate CUSTOM_SYS_INIT_SP_ADDR to Kconfig using system-constants.hTom Rini333-984/+52
- Make all users of CUSTOM_SYS_INIT_SP_ADDR reference SYS_INIT_SP_ADDR - Introduce HAS_CUSTOM_SYS_INIT_SP_ADDR to allow for setting the stack pointer directly, otherwise we use the common calculation. - On some platforms that were using the standard calculation but did not set CONFIG_SYS_INIT_RAM_SIZE / CONFIG_SYS_INIT_RAM_ADDR, set them. - On a small number of platforms that were not subtracting GENERATED_GBL_DATA_SIZE do so now via the standard calculation. - CONFIG_SYS_INIT_SP_OFFSET is now widely unused, so remove it from most board config header files. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06Introduce include/system-constants.hTom Rini1-0/+6
We have a number of CONFIG symbols today that are of the form: SYM1 = CONST1 + CONST2 or other static math operations (shifts, etc). The issue is that by moving these to Kconfig we no longer have the ability to calculate these values, so they become less flexible and useful. It's also the case that sometimes a platform will just define SYM1 directly or perform a slightly different set of calculations. We introduce this header now to have a place to start to handle these cases. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06stih410-b2260: Switch to using GENERATED_GBL_DATA_SIZETom Rini1-2/+1
We have GENERATED_GBL_DATA_SIZE to tell us how large the generated global data is, so do not use a hard-coded value of 1024 for it. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06powerpc: Switch to using CONFIG_SYS_INIT_SP_OFFSET from ↵Tom Rini17-46/+34
CONFIG_SYS_GBL_DATA_OFFSET In the places where PowerPC references CONFIG_SYS_GBL_DATA_OFFSET it does so as (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET). And it defines CONFIG_SYS_GBL_DATA_OFFSET in the same manner that other architectures define CONFIG_SYS_INIT_SP_OFFSET. Other architectures define CONFIG_SYS_INIT_SP_ADDR as (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) typically. Rename things within PowerPC for consistency with other architectures. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06m68k: Stop using CONFIG_SYS_GBL_DATA_OFFSETTom Rini15-30/+15
This value is only referenced by PowerPC code in a way other than directly as CONFIG_SYS_INIT_SP_ADDR. Switch to CONFIG_SYS_INIT_SP_ADDR directly. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06arm: Stop using CONFIG_SYS_GBL_DATA_OFFSETTom Rini2-4/+2
This value is only referenced by PowerPC code in a way other than directly as CONFIG_SYS_INIT_SP_ADDR. Switch to CONFIG_SYS_INIT_SP_ADDR directly. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-06-06arm: Use CONFIG_SPL_STACK or CONFIG_SYS_INIT_SP_ADDR directly.Tom Rini15-66/+14
In some cases, we define CONFIG_SYS_INIT_SP_ADDR differently for SPL or full U-Boot. This case should be making use of CONFIG_SPL_STACK, as that's what that variable is for. In a few other cases we define CONFIG_SPL_STACK directly to CONFIG_SYS_INIT_SP_ADDR, but do not need to as the code handles this correctly, normally. Signed-off-by: Tom Rini <trini@konsulko.com>