summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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]>
2022-04-21imx8m{m,n}_venice: update env memory layoutTim Harvey
Update distro config env memory layout: - loadaddr=0x48200000 allows for 130MB area for uncompressing (ie FIT images, kernel_comp_addr_r) - fdt_addr_r = loadaddr + 128MB - allows for 128MB kernel - scriptaddr = fdt_addr_r + 512KB - allows for 512KB fdt - ramdisk_addr_r = scriptaddr + 512KB - allows for 512KB script Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-04-21configs: tdx: apalis/colibri_imx6: use preboot as wellMarcel Ziswiler
Use PREBOOT as well. This allows a customer to just set fdt_board as on any other module to customize the device tree for his carrier board. Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21configs: tdx: apalis_imx6: drop hw v1.0 supportMarcel Ziswiler
Drop optional support for the ancient Apalis iMX6 V1.0 hardware which had the UART wired as DCE rather than DTE. Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21toradex: drop legacy nfsboot scriptIgor Opaniuk
Drop legacy nfsboot script in favor of distroboot DHCP boot. Signed-off-by: Igor Opaniuk <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21toradex: set default dhcp distroboot scriptnameIgor Opaniuk
Use the same name of DHCP Distroboot script as in regular eMMC case. Signed-off-by: Igor Opaniuk <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21toradex: apalis-imx8x: drop support for apalis imx8xDenys Drozdov
Drop Apalis iMX8X platform as it never left sample state and is no longer supported. Signed-off-by: Denys Drozdov <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21imx: power-domain: Add i.MX8MP supportMarek Vasut
Add i.MX8MP power domain handling into the driver. This is based on the Linux GPCv2 driver state which is soon to be in Linux next. Tested-By: Tim Harvey <[email protected]> #imx8mp-venice-gw74xx Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2022-04-21power_domain: Add power_domain_get_by_name()Marek Vasut
Implement power_domain_get_by_name() convenience function which parses DT property 'power-domain-names' and looks up power domain by matching name. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Simon Glass <[email protected]>
2022-04-19IOMUX: Fix access past end of console_devicesSean Anderson
We should only access console_devices[file][i] once we have checked that i < cd_count[file]. Otherwise, we will access uninitialized memory at the end of the loop. console_devices[file][i] should not be NULL, but putting the assignment in the loop condition allows us to ensure that i is checked beforehand. This isn't a bug, but it does make valgrind stop complaining. Fixes: 400797cad3 ("IOMUX: Split out for_each_console_dev() helper macro") Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Andrew Scull <[email protected]> Acked-by: Andy Shevchenko <[email protected]>
2022-04-19Convert CONFIG_SYS_MEM_TOP_HIDE to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_MEM_TOP_HIDE Signed-off-by: Tom Rini <[email protected]>
2022-04-19Merge tag 'u-boot-rockchip-20220418' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip - Add rk3066 SoC support; - Add rk3066 MK808 board support; - dts sync from kernel for rk322x, rk3288; - some other board level config update;