summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2022-04-01arm: smh: Add some functions for working with the host consoleSean Anderson
This adds three wrappers around the semihosting commands for reading and writing to the host console. We use the more standard getc/putc/puts names instead of readc/writec/write0 for familiarity. Signed-off-by: Sean Anderson <[email protected]>
2022-04-01arm: smh: Remove smhload commandSean Anderson
This command's functionality is now completely implemented by the standard fs load command. Convert the vexpress64 boot command (which is the only user) and remove the implementation. Signed-off-by: Sean Anderson <[email protected]>
2022-04-01fs: Add semihosting filesystemSean Anderson
This adds a filesystem which is backed by the host's filesystem. It is modeled off of sandboxfs, which has very similar aims. Semihosting doesn't support listing directories (except with SYS_SYSTEM), so neither do we. it's possible to optimize a bit for the common case of reading a whole file by omitting a call to smh_seek, but this is left as a future optimization. Signed-off-by: Sean Anderson <[email protected]>
2022-04-01arm: smh: Add some file manipulation commandsSean Anderson
In order to add filesystem support, we will need to be able to seek and write files. Add the appropriate helper functions. Signed-off-by: Sean Anderson <[email protected]>
2022-04-01arm: smh: Document functions in headerSean Anderson
This adds some documentation for semihosting functions in the header. Signed-off-by: Sean Anderson <[email protected]>
2022-04-01arm: smh: Use numeric modes for smh_openSean Anderson
There's no point in using string constants for smh_open if we are just going to have to parse them. Instead, use numeric modes. The user needs to be a bit careful with these, since they are much closer semantically to string modes used by fopen(3) than the numeric modes used with open(2). Signed-off-by: Sean Anderson <[email protected]>
2022-04-01arm: smh: Export semihosting functionsSean Anderson
This exports semihosting functions for use in other files. The header is in include/ and not arm/include/asm because I anticipate that RISC-V may want to add their own implementation at some point. smh_len_fd has been renamed to smh_flen to more closely match the semihosting spec. Signed-off-by: Sean Anderson <[email protected]>
2022-04-01vexpress64: Add ARMv8R-64 board variantPeter Hoyes
The ARMv8-R64 architecture introduces optional VMSA (paging based MMU) support in the EL1/0 translation regime, which makes that part mostly compatible to ARMv8-A. Add a new board variant to describe the "BASE-R64" FVP model, which inherits a lot from the existing v8-A FVP support. One major difference is that the memory map in "inverted": DRAM starts at 0x0, MMIO is at 2GB [1]. * Create new TARGET_VEXPRESS64_BASER_FVP target, sharing most of the exising configuration. * Implement inverted memory map in vexpress_aemv8.h * Create vexpress_aemv8r defconfig * Provide an MMU memory map for the BASER_FVP * Update vexpress64 documentation At the moment the boot-wrapper is the only supported secure firmware. As there is no official DT for the board yet, we rely on it being supplied by the boot-wrapper into U-Boot, so use OF_HAS_PRIOR_STAGE, and go with a dummy DT for now. [1] https://developer.arm.com/documentation/100964/1114/Base-Platform/Base---memory/BaseR-Platform-memory-map Signed-off-by: Peter Hoyes <[email protected]> [Andre: rebase and add Linux kernel header] Signed-off-by: Andre Przywara <[email protected]> [trini: Add MAINTAINERS entry for Peter]
2022-04-01vexpress64: generalise page table generationAndre Przywara
In preparation for the ARMv8-R64 FVP support, which has DRAM mapped at 0x0, generalise the page table generation, by using symbolic names for the address ranges instead of fixed numbers. We already define the base of the DRAM and MMIO regions, so just use those symbols in the page table description. Rename V2M_BASE to the more speaking V2M_DRAM_BASE on the way. On the VExpress memory map, the address space right after 4GB is of no particular interest to software, as the whole of DRAM is mapped at 32GB instead. The first 2 GB alias to the lower 2GB of DRAM mapped below 4GB, so we skip this part and map some more of the high DRAM, should anyone need it. Signed-off-by: Andre Przywara <[email protected]>
2022-04-01vexpress64: fvp: add distro_boot supportAndre Przywara
So far the FVP model just supports booting through semihosting, so by loading files from the host the model is running on. This allows for quick booting of new kernels (or replacing DTBs), but prevents more featureful boots like using UEFI. Enable the distro_boot feature, and provide a list of possible boot sources that U-Boot should check: - For backwards compatibility we start with semihosting, which gets its commands migrated from CONFIG_BOOTCOMMAND into the distro_boot infrastructure. This is also slightly tweaked to fail graceful in case the required files could not be found. - Next we try to use a user provided script, that could be easily placed into memory using the model command line. - Since we gained virtio support with the enablement of OF_CONTROL, let's check virtio block devices next. This is where UEFI boot can be easily used, for instance by providing a distro installer .iso file through virtio-blk. - Networking is now provided by virtio as well, so enable the default PXE and DHCP boot flows, mostly because we can. Signed-off-by: Andre Przywara <[email protected]>
2022-04-01vexpress64: config header: unify environment definitionAndre Przywara
The definition of the standard environment variables (kernel_addr_r and friends) has been improved lately for the FVP model, but the Juno board is still using some custom scheme. Since we need to extend this to a third board soon, let's unify the definition: - Define the Juno addresses in the same generic way we do for the FVP model, and move the actual variable setting out of the board #ifdef's. - Add the missing addresses for a PXE file and a boot script. - Cleanup some stale comments on the way. As the FVP model doesn't have support for distro_boot quite yet, add a dummy definition for now, to be replaced with the real thing later. Signed-off-by: Andre Przywara <[email protected]>
2022-04-01Convert CONFIG_SYS_MONITOR_BASE to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_MONITOR_BASE Note that for how this is re-used on some PowePC platforms, we introduce CONFIG_SPL_SYS_MONITOR_BASE and CONFIG_TPL_SYS_MONITOR_BASE and use the CONFIG_VAL macro to get the correct value at build time, in the code. Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_NORFLASH_PS32BIT to KconfigTom Rini
This converts the following to Kconfig: CONFIG_NORFLASH_PS32BIT Note that we also attempt to correct the behavior of the code here, which had been testing for "NORFLASH_PS32BIT" which would never be set, instead check for the now set "CONFIG_NORFLASH_PS32BIT", which results in some behavior change. Cc: TsiChung Liew <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-01at91: Switch to SD_BOOT / CONFIG_NAND_BOOTTom Rini
The values CONFIG_SYS_USE_NANDFLASH and CONFIG_SYS_USE_MMC serve the same purpose as CONFIG_SD_BOOT / CONFIG_NAND_BOOT so migrate to using these switches instead as they're already in Kconfig. Cc: Stelian Pop <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Daniel Gorsulowski <[email protected]> Cc: Eugen Hristev <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_E300 et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_E300 CONFIG_E5500 Signed-off-by: Tom Rini <[email protected]>
2022-04-01mx53loco: Convert CONFIG_DIALOG_POWER to KconfigTom Rini
Signed-off-by: Tom Rini <[email protected]>
2022-04-01exynos: Drop CONFIG_DEVICE_TREE_LISTTom Rini
This value isn't used anywhere, drop it. Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_DEEP_SLEEP to KconfigTom Rini
This converts the following to Kconfig: CONFIG_DEEP_SLEEP Signed-off-by: Tom Rini <[email protected]>
2022-04-01M5329EVB, M5373EVB: Remove CONFIG_NANDFLASH_SIZETom Rini
In the case of M5373EVB we always had NANDFLASH_SIZE=16, so just use it directly. In the case of M5329EVB we had not removed the rest of NAND support when saying we didn't have NAND, so instead use that to key off of rather than NANDFLASH_SIZE. Cc: TsiChung Liew <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-01db-mv784mp-gp: Rename CONFIG_DB_784MP_GP to CONFIG_TARGET_DB_MV784MP_GPTom Rini
The value CONFIG_DB_784MP_GP is only used in the DDR code to refer to CONFIG_TARGET_DB_MV784MP_GP so just use that second value directly. Cc: Stefan Roese <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-04-01p1_p2_rdb: Remove CONFIG_CPLD_[BO]R_PRELIMTom Rini
These are not referenced in code, drop. Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_CLOCKS to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CLOCKS Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_CLOCK_SYNTHESIZER to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CLOCK_SYNTHESIZER Signed-off-by: Tom Rini <[email protected]>
2022-04-01exynos: Drop CONFIG_CLK_*Tom Rini
We only set one of these values ever at this point, so remove dead code. Cc: Minkyu Kang <[email protected]> Cc: Jaehoon Chung <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Minkyu Kang <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2022-04-01Convert CONFIG_SYS_USE_NORFLASH et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_USE_NORFLASH CONFIG_SYS_USE_BOOT_NORFLASH Signed-off-by: Tom Rini <[email protected]>
2022-04-01global: Remove CONFIG_SYS_USE_DATAFLASH*Tom Rini
There are a handful of variants around CONFIG_SYS_USE_DATAFLASH and none of them now control anything further within their board config.h files, so remove these from CONFIG_SYS_EXTRA_OPTIONS and then remove the empty blocks in the board config.h files. In a few places further clean up related logic. Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_LPUART et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_LPUART CONFIG_LPUART_32B_REG And note that CONFIG_LPUART_32B_REG is unused in code. Signed-off-by: Tom Rini <[email protected]>
2022-04-01mpc8548cds: Rework CONFIG_LEGACY usageTom Rini
This CONFIG option is used in one place, so pick a more direct name and migrate to Kconfig. Rework the code slightly. Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_MCFRTC et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_MCFRTC CONFIG_SYS_MCFRTC_BASE While at it, remove '#undef RTC_DEBUG' from these config files. Signed-off-by: Tom Rini <[email protected]>
2022-04-01stmark2: Remove CONFIG_SERIAL_FLASHTom Rini
This is not referenced anywhere, remove it. Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_MCFTMR to KconfigTom Rini
This converts the following to Kconfig: CONFIG_MCFTMR Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_CF_DSPI to KconfigTom Rini
This converts the following to Kconfig: CONFIG_CF_DSPI Signed-off-by: Tom Rini <[email protected]>
2022-04-01atmel: Remove CONFIG_SPL_ATMEL_SIZETom Rini
This seems to be unused in the code, remove it. Cc: Eugen Hristev <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-04-01Remove CONFIG_BOARDNAME and CONFIG_BOARD_NAMETom Rini
Both of these variables are used in a few hard-coded ways to set some string values or print something to the user. In almost all cases, it's just as useful to hard-code the value used. The exception here is printing something closer to correct board name for p1_p2_rdb machines. This can be done using something from the device tree, but for now hard-code a non-CONFIG based value instead. Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_BITBANGMII_MULTI to KconfigTom Rini
This converts the following to Kconfig: CONFIG_BITBANGMII_MULTI Signed-off-by: Tom Rini <[email protected]>
2022-04-01Convert CONFIG_BCM2835_GPIO to KconfigTom Rini
This converts the following to Kconfig: CONFIG_BCM2835_GPIO Signed-off-by: Tom Rini <[email protected]>
2022-04-01Finish converting CONFIG_BOOTM_NETBSD et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_BOOTM_NETBSD CONFIG_BOOTM_RTEMS CONFIG_DESIGNWARE_WATCHDOG CONFIG_DISPLAY_CPUINFO CONFIG_DM_ETH CONFIG_DM_MMC CONFIG_DM_REGULATOR CONFIG_DM_SPI CONFIG_DM_SPI_FLASH CONFIG_ISO_PARTITION CONFIG_OF_SEPARATE CONFIG_SPI_FLASH_WINBOND CONFIG_SPL_ETH CONFIG_TIMER CONFIG_USB_DWC3 CONFIG_USB_DWC3_GADGET CONFIG_USB_DWC3_OMAP CONFIG_USB_DWC3_PHY_OMAP CONFIG_USB_EHCI_TEGRA CONFIG_USB_GADGET_DOWNLOAD CONFIG_USB_GADGET_DUALSPEED CONFIG_USB_GADGET_MANUFACTURER CONFIG_USB_GADGET_PRODUCT_NUM CONFIG_USB_GADGET_VBUS_DRAW CONFIG_USB_GADGET_VENDOR_NUM This catches a number of cases where board config files were #undef various CONFIG options when building SPL, and that doesn't work. Clean up the related comments as well. Signed-off-by: Tom Rini <[email protected]>
2022-03-31mkimage: add public key for image pre-load stagePhilippe Reynes
This commit enhances mkimage to update the node /image/pre-load/sig with the public key. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Philippe Reynes <[email protected]>
2022-03-31cmd: bootm: add a stage pre-loadPhilippe Reynes
Add a stage pre-load to the command bootm. Right now, this stage may be used to read a header and check the signature of the full image. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Philippe Reynes <[email protected]>
2022-03-31boot: image: add a stage pre-loadPhilippe Reynes
Add a stage pre-load that could check or modify an image. For the moment, only a header with a signature is supported. This header has the following format: - magic : 4 bytes - version : 4 bytes - header size : 4 bytes - image size : 4 bytes - offset image signature : 4 bytes - flags : 4 bytes - reserved0 : 4 bytes - reserved1 : 4 bytes - sha256 of the image signature : 32 bytes - signature of the first 64 bytes : n bytes - image signature : n bytes - padding : up to header size The stage uses a node /image/pre-load/sig to get some informations: - algo-name (mandatory) : name of the algo used to sign - padding-name : name of padding used to sign - signature-size : size of the signature (in the header) - mandatory : set to yes if this sig is mandatory - public-key (madatory) : value of the public key Before running the image, the stage pre-load checks the signature provided in the header. This is an initial support, later we could add the support of: - ciphering - uncompressing - ... Signed-off-by: Philippe Reynes <[email protected]>
2022-03-31board: gateworks: venice: determine dram size at runtimeTim Harvey
The SPL does not update the memory node with the dram size from EEPROM but instead we can use get_ram_size which does a simple memory test to determine the available RAM. Update PHYS_SDRAM_SIZE to 4GiB as that is the max used on the Venice boards. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-03-30clk: ccf: Add some helper functions for clock opsSean Anderson
Most CCF drivers follow a common pattern where their clock ops defer the actual operation to the backing CCF clock. Add some generic implementations of these functions to reduce duplication of code. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Peng Fan <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-03-30clk: Make clk_free return voidSean Anderson
Most callers of this function do not check the return value, and it is unclear what action they should take if it fails. If a function is freeing multiple clocks, it should not stop just because the first one failed. Since the callbacks can no longer fail, just convert the return type to void. Signed-off-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-03-30clk: Make rfree return voidSean Anderson
When freeing a clock there is not much we can do if there is an error, and most callers do not actually check the return value. Even e.g. checking to make sure that clk->id is valid should have been done in request() in the first place (unless someone is messing with the driver behind our back). Just return void and don't bother returning an error. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2022-03-29dt-bindings: phy: Sync phy.h with Linux kernelMichal Simek
Make sure that both files are in sync to have the same values in DTs. The patch is fixing SPDX license as is used in the kernel and adding new values for PHY_TYPE_DPHY and PHY_TYPE_CPHY. SPDX license change was done by: Link: https://lkml.kernel.org/r/[email protected] and new value added by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/06dbc03d4c9ac5d621341d8fb8cc16f489062b39.1648113469.git.michal.simek@xilinx.com
2022-03-28arm: socfpga: vining: Fix mtdparts for 2x256 MiB SF variantMarek Vasut
The 2x256 MiB SF variant of this system has 192 MiB rootfs MTD partition containing UBI on SF0, use the correct size in U-Boot environment, else U-Boot cannot mount UBI and boot on this variant. Signed-off-by: Marek Vasut <[email protected]> Cc: Siew Chin Lim <[email protected]> Cc: Simon Goldschmidt <[email protected]> Cc: Tien Fong Chee <[email protected]> Cc: Tom Rini <[email protected]>
2022-03-28video: Convert CONFIG_VIDEO_BCM2835 to KconfigSimon Glass
This converts the following to Kconfig: CONFIG_VIDEO_BCM2835 This is the final ad-hoc CONFIG_VIDEO_... to convert. Signed-off-by: Simon Glass <[email protected]> Acked-by: Matthias Brugger <[email protected]>
2022-03-28video: Drop FSL DIU driverSimon Glass
This does not use driver model and is more than two years past the migration date. Drop it. It can be added back later if needed. Signed-off-by: Simon Glass <[email protected]>
2022-03-28video: fsl: colibri_vf: Drop FSL DCU driverSimon Glass
This does not use driver model and is more than two years past the migration date. Drop it. It can be added back later if needed. Signed-off-by: Simon Glass <[email protected]>
2022-03-28video: Clean up the uclass headerSimon Glass
Drop the unnecessary cruft from this header and update the title. Signed-off-by: Simon Glass <[email protected]>