summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2022-04-25bootstd: Add the bootstd uclass and core implementationSimon Glass
The 'bootstd' device provides the central information about U-Boot standard boot. Add a uclass for bootstd and the various helpers needed to make it work. Also add a binding file. Signed-off-by: Simon Glass <[email protected]>
2022-04-25bootstd: Add the concept of a bootflowSimon Glass
A bootflow encapsulates the process used to boot an operating system. It typically has a control file (such as extlinux.conf) and information about which 'bootdev' it came from. Add the header file for this first, since it is needed by all other files. Signed-off-by: Simon Glass <[email protected]>
2022-04-25fs: Add a function to set the filesystem typeSimon Glass
When sandbox is used with hostfs we won't have a block device, but still must set up the filesystem type before any filesystem operation, such as loading a file. Add a function to handle this. Signed-off-by: Simon Glass <[email protected]>
2022-04-25dm: blk: Add a function to return the device typeSimon Glass
Use the uclass name to get the device type for a block device. Signed-off-by: Simon Glass <[email protected]>
2022-04-25dm: core: Allow finding a uclass device by partial nameSimon Glass
In some cases two devices are related and the only way to tell is to check that the names partially patch. Add a way to check this without needing to create a new string for the comparison. Fix the comment for device_find_child_by_namelen() while we are here. Signed-off-by: Simon Glass <[email protected]>
2022-04-25dm: core: Rename and fix uclass_get_by_name_len()Simon Glass
It seems that namelen is more common in U-Boot. Rename this function to fit in better. Also fix a bug where it breaks the operation of uclass_get_by_name() and add a test. Signed-off-by: Simon Glass <[email protected]> Reported-by: Patrick Delaunay <[email protected]> Reported-by: Tim Harvey <[email protected]>
2022-04-25lib: Add a way to find the postiion of a trailing numberSimon Glass
At present it is not possible to find out which part of the string is the number part and which is before it. Add a new variant which provides this feature, so we can separate the two in the caller. Signed-off-by: Simon Glass <[email protected]>
2022-04-25lib: Fix a few bugs in trailing_strtoln()Simon Glass
At present this has a minor bug in that it reads the byte before the start of the string, if it is empty. Also it doesn't handle a non-numeric prefix which is only one character long. Fix these bugs with a reworked implementation. Add a test for the second case. The first one is hard to test. Signed-off-by: Simon Glass <[email protected]>
2022-04-25lib: Correct comment formatting to avoid sphinx problemsSimon Glass
Tweak a few comments to kep sphinx happy, in case we want to include this file one day. Also fix the 'exxamine' typo. Patch-notes: This uses: sed -i 's/@param \(\S*\)\s*/@\1: /' include/vsprintf.h to convert the @param to the new format. Signed-off-by: Simon Glass <[email protected]>
2022-04-25test: Add tests for trailing_strtol()Simon Glass
This function currently has no tests. Add some. Signed-off-by: Simon Glass <[email protected]>
2022-04-25configs: Layerscape: Remove the 'fdt_addr' envHou Zhiqiang
On Layerscape platforms, the DTB is loaded from boot filesystem, per the fdt_addr description in doc/README.distro, it must be removed. Signed-off-by: Hou Zhiqiang <[email protected]> [Rebased] Signed-off-by: Priyanka Jain <[email protected]>
2022-04-23Merge tag 'efi-2022-07-rc1-3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2022-07-rc1-3 Documentation: * Document image size parameter of bootefi command UEFI: * avoid building partition support in SPL/TPL where not required * improve integration of EFI subsystem and driver model * restore ability to boot arbitrary blob
2022-04-23dm: disk: add read/write interfaces with udeviceAKASHI Takahiro
In include/blk.h, Simon suggested: ===> /* * These functions should take struct udevice instead of struct blk_desc, * but this is convenient for migration to driver model. Add a 'd' prefix * to the function operations, so that blk_read(), etc. can be reserved for * functions with the correct arguments. */ unsigned long blk_dread(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt, void *buffer); unsigned long blk_dwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt, const void *buffer); unsigned long blk_derase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt); <=== So new interfaces are provided with this patch. They are expected to be used everywhere in U-Boot at the end. The exceptions are block device drivers, partition drivers and efi_disk which should know details of blk_desc structure. Signed-off-by: AKASHI Takahiro <[email protected]>
2022-04-23efi_loader: disk: a helper function to create efi_disk objects from udeviceAKASHI Takahiro
Add efi_disk_probe() function. This function creates an efi_disk object for a raw disk device (UCLASS_BLK) and additional objects for related partitions (UCLASS_PARTITION). So this function is expected to be called through driver model's "probe" interface every time one raw disk device is detected and activated. We assume that partition devices (UCLASS_PARTITION) have been created when this function is invoked. Signed-off-by: AKASHI Takahiro <[email protected]>
2022-04-23efi_loader: split efi_init_obj_list() into two stagesAKASHI Takahiro
In the next commit, CONFIG_EFI_SETUP_EARLY will become mandated in order to support dynamic enumeration of efi_disk objects. This can, however, be problematic particularly in case of file-based variable storage (efi_variable.c, default). Non-volatile variables are to be restored from EFI system partition by efi_init_variables() in efi_init_obj_list(). When efi_init_obj_list() is called in board_init_r(), we don't know yet what disk devices we have since none of device probing commands (say, scsi rescan) has not been executed at that stage. So in this commit, a preparatory change is made; efi_init_obj_list() is broken into the two functions; * efi_init_early(), and * new efi_init_obj_list() Only efi_init_early() will be called in board_init_r(), which allows us to execute any of device probing commands, either though "preboot" variable or normal command line, before calling efi_init_obj_list() which is to be invoked at the first execution of an efi-related command (or at efi_launch_capsules()) as used to be. Signed-off-by: AKASHI Takahiro <[email protected]>
2022-04-23dm: disk: add UCLASS_PARTITIONAKASHI Takahiro
NOTE: probably we have to update config dependencies, in particular, SPL/TPL_PRINTF? With this new function, UCLASS_PARTITION devices will be created as child nodes of UCLASS_BLK device. Signed-off-by: AKASHI Takahiro <[email protected]>
2022-04-23sandbox: move a function prototypeAKASHI Takahiro
Since host_get_dev_errr() is defined in drivers/block/sandbox.c, the associated function prototype should be in a more appropriate header file. Fixes: commit 4101f6879256 ("dm: Drop the block_dev_desc_t typedef") Signed-off-by: AKASHI Takahiro <[email protected]>
2022-04-23disk: define nullified functions for !PARTITIONSAKASHI Takahiro
Some defconfig enables CMD_PART even if none of any partition table types (CONFIG_*_PARTITION) are enabled. This will lead to the size growth in SPL/TPL code since disk/part.c will be compiled in any way. We will change disk/Kconfig later so that CONFIG_PARTITIONS is only enabled when, at least, one of CONFIG_*_PARTITION is enabled. To make the build work (in particular, "part" command) correctly, a few functions should be defined as void functions in case of !CONFIG_PARTITIONS. Signed-off-by: AKASHI Takahiro <[email protected]>
2022-04-23disk: enable function prototypes in part.h for SPL/TPLAKASHI Takahiro
Since CONFIG_[SPL|TPL]_PARTITIONS were introduced, part.h has not been updated. Due to this, while the build won't fail, some functionality may possibly break as some partition-related functions are nullified even though some partition table types are enabled for SPL/TPL. Fixes: commit 88ca8e26958b ("disk: Add an option for partitions in SPL") Signed-off-by: AKASHI Takahiro <[email protected]>
2022-04-23disk: include errno.h explicitly in part.hAKASHI Takahiro
Some errno numbers are used in defining inline functions. So "errno.h" should be explicitly included to avoid possible build errors. Signed-off-by: AKASHI Takahiro <[email protected]>
2022-04-22fdt: Add -q option to fdt addr for distro_bootcmdPeter Hoyes
distro_bootcmd uses this construct a few times to test $fdt_addr_r, and fall back on $fdtcontroladdr if not set/invalid: if fdt addr ${fdt_addr_r}; then ... else ... fi If the `fdt addr` test fails, it prints the following message on the console, suggesting there is an error when there is not: libfdt fdt_check_header(): FDT_ERR_BADMAGIC To remove this potentially confusing error message, this patch adds -q as a 'quiet' option for fdt addr, and uses this flag in config_distro_bootcmd.h Signed-off-by: Peter Hoyes <[email protected]>
2022-04-22Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usbTom Rini
2022-04-22Merge tag 'u-boot-imx-20220422' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20220422 ------------------- - Switch to DM_SERIAL - Drop MMCROOT - several cleanup CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/11815
2022-04-22generic-phy: s/CONFIG_PHY/CONFIG_IS_ENABLED(PHY)/Michal Simek
Allow to disable PHY driver in SPL because it checks the CONFIG_SPL_PHY variable for SPL builds. The same change was done for usb by commit fd09c205fc57 ("usb: s/CONFIG_DM_USB/CONFIG_IS_ENABLED(DM_USB)/"). Signed-off-by: Michal Simek <[email protected]>
2022-04-21ARM: imx: imx8mn-evk: change environment address variablesHeiko Thiery
Currently the space between kernel_addr_r and the fdt_addr_r is only 32MB. To have enough space to load kernel images bigger than 32MB change the variables to a feasible value. The new environment variables layout is based on the scheme from "include/configs/ti_armv7_common.h". The CONFIG_SYS_LOAD_ADDR value is set to 0x42000000. With that we have the same value as for the kernel_addr_r. Signed-off-by: Heiko Thiery <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2022-04-21configs: imx: drop IMX_FEC_BASEPeng Fan
IMX_FEC_BASE is not used in these boards, so drop it. Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21include/configs: drop COUNTER_FREQUENCYPeng Fan
Since we have CONFIG_COUNTER_FREQUENCY enabled, no need COUNTER_FREQUENCY Signed-off-by: Peng Fan <[email protected]>
2022-04-21crc16: Move standard CRC-16 implementation from ubifs to libPali Rohár
This implementation provides standard CRC-16 algorithm with polynomial x^16 + x^15 + x^2 + 1. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-04-21crc16: Rename fs/ubifs/crc16.h to include/linux/crc16.hPali Rohár
File fs/ubifs/crc16.h is standard linux's crc16.h include file. So move it from fs/ubifs to include/linux where are also other linux include files. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-04-21crc16-ccitt: Rename file with CRC-16-CCITT implementation to crc16-ccitt.cPali Rohár
U-Boot CRC-16 implementation uses polynomial x^16 + x^12 + x^5 + 1 which is not standard CRC-16 algorithm, but it is known as CRC-16-CCITT. Rename file crc16.c to crc16-ccitt.c to reduce confusion. Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2022-04-21Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- mrvl_uart.sh: Remove script (Pali) - Fix Espressobin build for configs where ENV is not in SPI (Rogier) - mvebu: a37xx: Add support for reading OTP (Pali) - mvebu: uDPU: Ethernet fixes and misc DT and defconfig changes (Robert) - mvebu: Add support for reading LD0 and LD1 eFuse (Pali) - kwboot: Replace fstat()+st_size by lseek()+SEEK_END (Pali) - mvebu: turris_omnia: Enable CONFIG_CMD_FUSE (Pali) - arm: Add CONFIG_SPL_SYS_NO_VECTOR_TABLE used on 32bit MVEBU (Pali) - mvebu: a37xx: Add support for writing Security OTP values (Pali) - mvebu: turris: Misc enhancements and cleanups / fixes (Pali) - Sheevaplug : Use Marvell uclass mvgbe and PHY driver for Ethernet (Tony)
2022-04-21configs: drop CONFIG_MMCROOTPeng Fan
CONFIG_MMCROOT is only used to set mmcroot, no need a dedicated macro. Script as below " for i in `ls include/configs/*.h` do mmcroot=`sed -n '/define.*MMCROOT/ p' $i | awk -F\" '{ print $2;}'` if [ ! -n "$mmcroot" ]; then continue fi sed -i '/define.*MMCROOT/ d' $i sed -i 's,\" CONFIG_MMCROOT \",'$mmcroot',g' $i done " Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21board: ti: am335x: Add support for BBE Extended WiFiPaul Barker
The Sancloud BeagleBone Enhanced Extended WiFi (BBE Extended WiFi) has its own devicetree file and the board can be identified by the 2nd letter of the config string within the common EEPROM. Signed-off-by: Paul Barker <[email protected]>
2022-04-21board: ti: am335x: Add BBE Lite supportPaul Barker
The Sancloud BeagleBone Enhanced Lite (BBE Lite) has its own devicetree file and the board can be identified by the 2nd letter of the config string within the common EEPROM. Signed-off-by: Paul Barker <[email protected]>
2022-04-21env: Implement lower priority arch_env_get_location()Marek Vasut
Currently there is only one way to override desired environment location, by implementing env_get_location(). This is increasingly being conflated both on board level and architecture level, which leads to a problem on boards where this function is already implemented on architecture level, since those boards have no way to override this environment location on board level anymore. Implement arch_env_get_location() function which is architecture specific and should only ever be implemented in architecture code. This function has lower priority than env_get_location(), which should only ever be implemented in board code, and which overrides the arch_env_get_location() architecture environment selection. This way, architecture can define its default environment chooser, while board can now override it as needed at all times. There is no functional change, since env_get_location() simply returns arch_env_get_location(), and arch_env_get_location() implements the current env_get_location() default content. Signed-off-by: Marek Vasut <[email protected]> Cc: Adam Ford <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Marek Behún <[email protected]> Cc: Peng Fan <[email protected]> Cc: Simon Glass <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Tim Harvey <[email protected]> Cc: Tom Rini <[email protected]> Cc: Tommaso Merciai <[email protected]> Cc: Vladimir Oltean <[email protected]>
2022-04-21configs: phycore_imx8mm/p: drop unused SDHC macroPeng Fan
With SPL_DM_MMC and DM_MMC, the two macros not needed, drop it. CONFIG_SYS_FSL_USDHC_NUM CONFIG_SYS_FSL_ESDHC_ADDR Reviewed-by: Fabio Estevam <[email protected]> Acked-By: Teresa Remmet <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: imx8mm/n_venice: drop unused SDHC macroPeng Fan
With SPL_DM_MMC and DM_MMC, the two macros not needed, drop it. CONFIG_SYS_FSL_USDHC_NUM CONFIG_SYS_FSL_ESDHC_ADDR Reviewed-by: Fabio Estevam <[email protected]> Acked-By: Tim Harvey <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: verdin-imx8m: drop unused SDHC macroPeng Fan
With SPL_DM_MMC and DM_MMC, the two macros not needed, drop it. CONFIG_SYS_FSL_USDHC_NUM CONFIG_SYS_FSL_ESDHC_ADDR Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: imx8qm/qxp_evk: drop unused SDHC macroPeng Fan
With SPL_DM_MMC and DM_MMC, the two macros not needed, drop it. CONFIG_SYS_FSL_USDHC_NUM CONFIG_SYS_FSL_ESDHC_ADDR Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: mx7dsabresd: drop unused SDHC macroPeng Fan
With SPL_DM_MMC and DM_MMC, the two macros not needed, drop it. CONFIG_SYS_FSL_USDHC_NUM CONFIG_SYS_FSL_ESDHC_ADDR Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: mx6sxsabresd: drop CONFIG_SYS_FSL_USDHC_NUMPeng Fan
With DM_MMC, CONFIG_SYS_FSL_USDHC_NUM is not needed. Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: imx8mn_evk: drop unused SDHC macroPeng Fan
With SPL_DM_MMC and DM_MMC, the two macros not needed, drop it. #define CONFIG_SYS_FSL_USDHC_NUM 2 #define CONFIG_SYS_FSL_ESDHC_ADDR 0 Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: imx8mp_evk: drop unused SDHC macroPeng Fan
With SPL_DM_MMC and DM_MMC, the two macros not needed, drop it. #define CONFIG_SYS_FSL_USDHC_NUM 2 #define CONFIG_SYS_FSL_ESDHC_ADDR 0 Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: imx8mm_evk: drop unused SDHC macroPeng Fan
With SPL_DM_MMC and DM_MMC, the two macros not needed, drop it. #define CONFIG_SYS_FSL_USDHC_NUM 2 #define CONFIG_SYS_FSL_ESDHC_ADDR 0 Reviewed-by: Fabio Estevam <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2022-04-21configs: ge_bx50v3: remove CONFIG_PCIE_IMX_POWER_GPIOIan Ray
This GPIO is actually an input "Q7_3V3_PCIE_WAKE#_IN" not an output, so remove the misleaading and incorrect definition. Cc: Tim Harvey <[email protected]> (re: pci: imx: use vpcie-supply if defined by device-tree) Signed-off-by: Ian Ray <[email protected]>
2022-04-21arm: kirkwood: Sheevaplug : Use Marvell uclass mvgbe and PHY driver for EthernetTony Dinh
The Globalscale Technologies Sheevaplug board has the network chip Marvell 88E1116R. Use uclass mvgbe and the compatible driver M88E1310 driver to bring up Ethernet. - Remove CONFIG_RESET_PHY_R symbol from all board files - Use uclass mvgbe to bring up the network. And remove ad-hoc code. - Enable CONFIG_PHY_MARVELL to properly configure the network. - Miscellaneous changes: Move constants to .c file and remove header file board/Marvell/sheevaplug/sheevaplug.h, use BIT macro, and add/cleanup comments. Signed-off-by: Tony Dinh <[email protected]>
2022-04-21board: toradex: drop colibri pxa270 supportMarcel Ziswiler
The Colibri PXA270 has been end-of-life since quite a while and would require more and more maintenance (e.g. DM conversions). Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21board: gateworks: venice: add imx8mp-venice-gw740x supportTim Harvey
The GW74xx is based on the i.MX 8M Plus SoC featuring: - LPDDR4 DRAM - eMMC FLASH - Gateworks System Controller - PCIe Gen 3.0 switch (build option) - USB 3.0 HUB - USB Type-C front panel connector - GPS - 3-axis accelerometer - CAN bus - 6x GbE RJ45 front-panel jacks - 1x IMX8M FEC RGMII GbE (with Passive PoE) - 5x IMX8M EQOS RGMII 6 port GbE Switch (1x with 802.3af class 5 Active PoE) - RS232/RS485/RS422 serial transceiver - MIPI header (DSI/CSI/GPIO/PWM/I2S) - DigI/O header (UART/GPIO/I2C/ADC) - 802.11ac WiFi - Bluetooth BLE - 3x MiniPCIe sockets with PCI/USB - 1x M.2 Socket with USB2.0, PCIe, and dual-SIM - PMIC - Wide range DC input supply (8V to 60V DC) Do the following to add support for this and future imx8mp-venice boards: - add dts - add DRAM config - add PMIC config - add IMX8MP support in spl.c and venice.c Signed-off-by: Tim Harvey <[email protected]>
2022-04-21board: gateworks: gw_ventana: use comomn GSC driverTim Harvey
Use the common GSC driver. This allows us to do some additional cleanup: - use the GSC driver functions - move waiting for the EEPROM to the SPL int (it will always be ready after this) - move eeprom functions into eeprom file and elimate GSC_I2C_BUS - eliminate some redundant EEPROM reads (the EEPROM must be read in SPL before relocation, in SPL after relocation, and in U-Boot init. All subsequent uses can use the global structure) - remove unnecessary header files and alphabatize includes Signed-off-by: Tim Harvey <[email protected]>
2022-04-21configs: imx8m{m,n}_venice_defconfig: add usb supportTim Harvey
Enable USB support for host controller and various USB ethernet devices. Example usage of USB Mass Storage (UMS) support: u-boot=> mmc list FSL_SDHC: 0 FSL_SDHC: 1 FSL_SDHC: 2 (eMMC) u-boot=> ums 0 mmc 2 UMS: LUN 0, dev mmc 2, hwpart 0, sector 0x0, count 0xe30000 Signed-off-by: Tim Harvey <[email protected]>