summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2021-04-20configs: meson64: add NVME boot targetNeil Armstrong
Let's add a boot target for NVMe so we can do a full boot over NVMe. Signed-off-by: Neil Armstrong <[email protected]>
2021-04-19Revert "spl: Drop bd_info in the data section"Alexandru Gagniuc
This reverts commit 38d6b7ebdaee3e0e8426ef1b9df88bdce8ae2e75. struct global_data contains a pointer to the bd_info structure. This pointer was populated spl_set_bd() to a pre-allocated bd_info in the ".data" section. The referenced commit replaced this mechanism to one that uses malloc(). That new mechanism is only used if SPL_ALLOC_BD=y. which very few boards do. The result is that (struct global_data)->bd is NULL in SPL on most platforms. This breaks falcon mode, since arch_fixup_fdt() tries to access (struct global_data)->bd and set the "/memory" node in the devicetree. The result is that the "/memory" node contains garbage values, causing linux to panic() as it sets up the page table. Instead of trying to fix the mess, potentially causing other issues, revert to the code that worked, while this change is reworked. Signed-off-by: Alexandru Gagniuc <[email protected]>
2021-04-18Merge https://source.denx.de/u-boot/custodians/u-boot-usbTom Rini
This is a patchset which makes away with the .bind() controller indexing workaround which was broken since before v2021.04, and then adds PHY support and MX8M support on top of that. Better add it into the release early to get as much testing as possible done, because this really does a lot of changes to the ehci-mx6 driver.
2021-04-18ARM: imx8m: verdin-imx8mm: Enable USB Host supportMarek Vasut
Enable USB host support on MX8MM Verdin. Signed-off-by: Marek Vasut <[email protected]> Cc: Marcel Ziswiler <[email protected]> Cc: Max Krummenacher <[email protected]> Cc: Oleksandr Suvorov <[email protected]>
2021-04-18ARM: dts: imx8mn: Add power domain nodesMarek Vasut
Add power domain nodes to DT. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Ye Li <[email protected]> Cc: uboot-imx <[email protected]>
2021-04-18ARM: dts: imx8mm: Add power domain nodesMarek Vasut
Add power domain nodes to DT. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Ye Li <[email protected]> Cc: uboot-imx <[email protected]>
2021-04-16env: add ENV_ERASE_PTR macroPatrick Delaunay
Add ENV_ERASE_PTR macro to handle erase opts and remove the associated ifdef. This patch is a extension of previous commit 82b2f4135719 ("env_internal.h: add alternative ENV_SAVE_PTR macro"). Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-16env: increment redund flag on read failBrandon Maier
If one of the reads fails when importing redundant environments (a single read failure), the env_flags wouldn't get initialized in env_import_redund(). If a user then calls saveenv, the new environment will have the wrong flags value. So on the next load the new environment will be ignored. While debugging this, I also noticed that env/sf.c was not correctly handling a single read failure, as it would not check the crc before assigning it to gd->env_addr. Having a special error path for when there is a single read failure seems unnecessary and may lead to future bugs. Instead collapse the 'single read failure' error to be the same as a 'single crc failure'. That way env_check_redund() either passes or fails, and if it passes we are guaranteed to have checked the CRC. Signed-off-by: Brandon Maier <[email protected]> CC: Joe Hershberger <[email protected]> CC: Wolfgang Denk <[email protected]> CC: Heiko Schocher <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2021-04-16Merge https://gitlab.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
This adds support for devices with R40 dual rank DRAM, and asymmetric A64 DRAM devices like the Pinephone/3GB. Also we enable automatic gzipped kernel support, and allow scripted DT overlay support. The rest of the patches are cleanups, but also some sunxi-specific preparatory patches for USB3.0 and improved HDMI support. The bulk of those changes will go through other trees, though. Build-tested for all 156 sunxi boards, and boot tested on a A64, A20, R40, H5, H6 and H616 board. USB, SD card, eMMC, HDMI and Ethernet all work there (where applicable), with the exception of Ethernet on the H5. Since this is already broken in v2021.04, I will send a separate fix.
2021-04-16sunxi: arm64: Add addresses for compressed kernel loadArnaud Ferraris
The "booti" command to load arm64 Linux kernels supports automatic decompression of zipped kernel images, but relies on some environment variables to point to usable buffer RAM. Add those variables and let them point to some default values, that should cover most use-cases. Signed-off-by: Andre Przywara <[email protected]>
2021-04-16sunxi: add fdtoverlay_addr_r environment variableJernej Skrabec
Commit 69076dff2284 ("cmd: pxe: add support for FDT overlays") added support for loading DT overlay files to PXE boot. However, it needs additional environment variable which points to memory location which can be used to temporary store overlay data. Add it and in the process unify alignment using spaces and fix comment. Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Jernej Skrabec <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-04-15Merge branch '2021-04-14-assorted-vboot-improvements'Tom Rini
- Add ECDSA support to FIT images - Improve FIT image loadables (incl fpga) support - Further FIT improvements with SPL
2021-04-15ls1012a: use default scan_dev_for_bootMian Yousaf Kaukab
scan_dev_for_efi is supposed to be called from scan_dev_for_boot. However, this call is missing for ls1012a boards. As a result EFI boot doesn’t work. Fix this issue by removing custom definition of scan_dev_for_boot and use the default definition instead. Signed-off-by: Mian Yousaf Kaukab <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-04-15board: sl28: enable DM_SERIALMichael Walle
With all preparations in place, switch over to DM_SERIAL. Signed-off-by: Michael Walle <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-04-15dm: core: Correctly read <ranges> of simple-busBin Meng
At present we decode simple bus <ranges> using the following assumption: - parent #address-cells 1 - child #address-cells 1 - child #size-cells 1 However this might not always be the case. Update to use fdt_addr_t and fdt_size_t in 'struct simple_bus_plat', and use fdt_read_ranges() to correctly decode it according to the actual parent and child #address-cells / #size-cells under a Kconfig option CONFIG_SIMPLE_BUS_CORRECT_RANGE which can be turned on for any board that needs it. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-04-15sandbox: Add a DSA sandbox driver and unit testClaudiu Manoil
The DSA sandbox driver is used for unit testing the DSA class code. It implements a simple 2 port switch plus 1 CPU port, and uses a very simple tag to identify the ports. The DSA sandbox device is connected via CPU port to a regular Ethernet sandbox device, called 'dsa-test-eth, managed by the existing eth sandbox driver. The 'dsa-test-eth' is not intended for testing the eth class code however, but it is used to emulate traffic through the 'lan0' and 'lan1' front pannel switch ports. To achieve this the dsa sandbox driver registers a tx handler for the 'dsa-test-eth' device. The switch ports, labeled as 'lan0' and 'lan1', are also registered as eth devices by the dsa class code this time. So pinging through these switch ports is as easy as: => setenv ethact lan0 => ping 1.2.3.5 Unit tests for the dsa class code were also added. The 'dsa_probe' test exercises most API functions from dsa.h. The 'dsa' unit test simply exercises ARP/ICMP traffic through the two switch ports, including tag injection and extraction, with the help of the dsa sandbox driver. I took care to minimize the impact on the existing eth unit tests, though some adjustments needed to be made with the addition of extra eth interfaces used by the dsa unit tests. The additional eth interfaces also require MAC addresses, these have been added to the sandbox default environment. Signed-off-by: Alex Marginean <[email protected]> Signed-off-by: Claudiu Manoil <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Vladimir Oltean <[email protected]> Message-Id: <[email protected]> Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-04-15of: extra: Introduce ofnode_phy_is_fixed_link() APIBin Meng
Introduce a helper API ofnode_phy_is_fixed_link() to detect whether the ethernet controller connects to a fixed-link pseudo-PHY device. Note there are two ways to describe a fixed PHY attached to an Ethernet device: - the new DT binding, where 'fixed-link' is a sub-node of the Ethernet device - the old DT binding, where 'fixed-link' is a property with 5 cells encoding various information about the fixed PHY Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-04-15board/km: add support for seli8 design based on nxp ls102xAleksandar Gerasimovski
The SELI8 design is a new tdm service unit card for Hitachi-Powergrids XMC and FOX product lines. It is based on NXP LS1021 SoC and it provides following interfaces: - IFC interface for NOR, NAND and external FPGA's - 1 x RGMII ETH for debug purposes - 2 x SGMII ETH for management communication via back-plane - 1 x uQE HDLC for management communication via back-plane - 1 x I2C for peripheral devices - 1 x SPI for peripheral devices - 1 x UART for debug logging It is foreseen that the design will be later re-used for another XMC and FOX service cards with similar SoC requirements. Signed-off-by: Rainer Boschung <[email protected]> Signed-off-by: Matteo Ghidoni <[email protected]> Signed-off-by: Aleksandar Gerasimovski <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-04-14mkimage: Add a 'keyfile' argument for image signingAlexandru Gagniuc
It's not always desirable to use 'keydir' and some ad-hoc heuristics to get the filename of the signing key. More often, just passing the filename is the simpler, easier, and logical thing to do. Since mkimage doesn't use long options, we're slowly running out of letters. I've chosen '-G' because it was available. Signed-off-by: Alexandru Gagniuc <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-14lib: Add support for ECDSA image signingAlexandru Gagniuc
mkimage supports rsa2048, and rsa4096 signatures. With newer silicon now supporting hardware-accelerated ECDSA, it makes sense to expand signing support to elliptic curves. Implement host-side ECDSA signing and verification with libcrypto. Device-side implementation of signature verification is beyond the scope of this patch. Signed-off-by: Alexandru Gagniuc <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-14lib/rsa: Make fdt_add_bignum() available outside of RSA codeAlexandru Gagniuc
fdt_add_bignum() is useful for algorithms other than just RSA. To allow its use for ECDSA, move it to a common file under lib/. The new file is suffixed with '-libcrypto' because it has a direct dependency on openssl. This is due to the use of the "BIGNUM *" type. Signed-off-by: Alexandru Gagniuc <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-14lib: Rename rsa-checksum.c to hash-checksum.cAlexandru Gagniuc
rsa-checksum.c sontains the hash_calculate() implementations. Despite the "rsa-" file prefix, this function is useful for other algorithms. To prevent confusion, move this file to lib/, and rename it to hash-checksum.c, to give it a more "generic" feel. Signed-off-by: Alexandru Gagniuc <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-12gpio: Drop dm_gpio_set_dir()Simon Glass
This function is not used. Drop it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-04-12x86: qemu: move QFW to its own uclassAsherah Connor
We move qfw into its own uclass and split the PIO functions into a specific driver for that uclass. The PIO driver is selected in the qemu-x86 board config (this covers x86 and x86_64). include/qfw.h is cleaned up and documentation added. Signed-off-by: Asherah Connor <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2021-04-12lib: string: Implement strlcatSean Anderson
This introduces strlcat, which provides a safer interface than strncat. It never copies more than its size bytes, including the terminating nul. In addition, it never reads past dest[size - 1], even if dest is not nul-terminated. This also removes the stub for dwc3 now that we have a proper implementation. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-12firmware: scmi: voltage regulatorEtienne Carriere
Implement voltage regulators interfaced by the SCMI voltage domain protocol. The DT bindings are defined in the Linux kernel since SCMI voltage domain and regulators patches [1] and [2] integration in v5.11-rc7. Link: [1] https://github.com/torvalds/linux/commit/0f80fcec08e9c50b8d2992cf26495673765ebaba Link: [2] https://github.com/torvalds/linux/commit/2add5cacff3531e54c50b0832128299faa9f0563 Signed-off-by: Etienne Carriere <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
2021-04-12Tegra: remove e2220-1170 boardPeter Robinson
It's an old bringup board with out upstream Linux or L4T support Signed-off-by: Peter Robinson <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Tom Warren <[email protected]> Acked-by: Stephen Warren <[email protected]>
2021-04-12hash: Allow for SHA512 hardware implementationsJoel Stanley
Similar to support for SHA1 and SHA256, allow the use of hardware hashing engine by enabling the algorithm and setting CONFIG_SHA_HW_ACCEL / CONFIG_SHA_PROG_HW_ACCEL. Signed-off-by: Joel Stanley <[email protected]>
2021-04-12hw_sha: Fix coding style errorsJoel Stanley
Checkpatch complains about: ERROR: "foo * bar" should be "foo *bar" and CHECK: Alignment should match open parenthesis Signed-off-by: Joel Stanley <[email protected]>
2021-04-12lib: optee: migration optee_copy_fdt_nodes for OF_LIVE supportPatrick Delaunay
The optee_copy_fdt_nodes is only used to copy op-tee nodes of U-Boot device tree (from gd->fdt_blob when OF_LIVE is not activated) to external device tree but it is not compatible with OF_LIVE. This patch migrates all used function fdt_ functions to read node on old_blob to ofnode functions, compatible with OF_LIVE and remove this parameter "old_blob". The generated "device tree" is checked on stm32mp platform with OF_LIVE activated. Signed-off-by: Patrick Delaunay <[email protected]>
2021-04-12power: pmic: remove pmic_max77696.c fileJaehoon Chung
Remove pmic_max77696.c file. The maintaining pmic_max77696.c file is useless. Signed-off-by: Jaehoon Chung <[email protected]>
2021-04-12board: warp: add power_max77696_init() functionJaehoon Chung
Add power_max77696_init() function. Since warp doesn't support DM, the keeping its code in board file is better than maintainig the file of driver. Signed-off-by: Jaehoon Chung <[email protected]>
2021-04-11Merge branch '2021-04-11-remove-non-migrated-boards'Tom Rini
- Remove a large number of boards that have not migrated to DM_MMC, for which the migration deadline with 2 years ago at v2019.04.
2021-04-11Merge tag 'video-2021-07-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-video - rk3399 eDP support - pwm backlight without a known period_ns - add Chrome OS EC PWM driver - Kconfig SIMPLE_PANEL DM_GPIO dependency - remove mb862xx driver remnants - fix KiB format in reserve_video() debug trace - fix tegra124 sor CSTM LVDS_EN_ENABLE/DISABLE config - fix line padding calculation for 16 and 24 BPP bitmaps
2021-04-10Merge tag 'efi-2021-07-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2021-07-rc1 Bug fixes: * support EFI, HOST, VIRTIO in fsinfo command * simplify efi_get_device_path_text() * add missing EFI_UNACCEPTED_MEMORY_TYPE * mkeficapsule: improve online help * avoid several build warnings Documentation: * UEFI documentation for initrd loading options * describe building OP-TEE with for UEFI variables * mmc man-page
2021-04-10ppc: Remove MPC837XEMDS boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10pwm: Add a driver for Chrome OS EC PWMAlper Nebi Yasak
This PWM is used in rk3399-gru-bob and rk3399-gru-kevin to control the display brightness. We can only change the duty cycle, so on set_config() we just try to match the duty cycle that dividing duty_ns by period_ns gives us. To disable, we set the duty cycle to zero while keeping the old value for when we want to re-enable it. The cros_ec_set_pwm_duty() function is taken from Depthcharge's cros_ec_set_bl_pwm_duty() but modified to use the generic pwm type. The driver itself is very loosely based on rk_pwm.c for the general pwm driver structure. The devicetree binding file is from Linux, before it was converted to YAML at 5df5a577a6b4 ("dt-bindings: pwm: Convert google,cros-ec-pwm.txt to YAML format") in their repo. Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-10video: backlight: Support PWMs without a known period_nsAlper Nebi Yasak
The PWM device provided by Chrome OS EC doesn't really support anything other than setting a relative duty cycle. To support it as a backlight, this patch makes the PWM period optional in the device tree and pretends the valid brightness range is its period_ns. Also adds a sandbox test for a PWM channel that has a fixed period, checking that the resulting duty_cycle matches on a set_config() even if the requested period_ns can't be set. Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-10ppc: Remove Cyrus_P5020 and P5040 boardsTom Rini
These boards have not been converted to CONFIG_DM_MMC by the deadline. Remove them. As the P5020 is the last ARCH_P5020 platform, remove that support as well. Cc: Andy Fleming <[email protected]> Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-04-10ppc: Remove controlcenterd boardsTom Rini
These boards have not been converted to CONFIG_DM_MMC by the deadline. Remove them. Cc: Mario Six <[email protected]> Cc: Dirk Eibach <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10ppc: Remove gdsys hrcon boardsTom Rini
These boards have not been converted to CONFIG_DM_MMC, along with other DM conversions, by the deadline. Remove them. Cc: Dirk Eibach <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10ppc: Remove gdsys strider boardsTom Rini
These boards have not been converted to CONFIG_DM_MMC, along with other DM conversions, by the deadline. Remove them. Cc: Dirk Eibach <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10ppc: Remove MPC8308RDB boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Ilya Yanok <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10ppc: Remove T2081QDS board and ARCH_T2081 supportTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. It is also the only ARCH_T2081 board so remove that support as well. Cc: Shengzhou Liu <[email protected]> Cc: Ruchika Gupta <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove mx6dlarm2 boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Jason Liu <[email protected]> Cc: Ye Li <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove cgtqmx6eval boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Otavio Salvador <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove titanium boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Stefan Roese <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove ts4800 boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Lucile Quirion <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove mx53evk boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Jason Liu <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove pfla02 boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Stefano Babic <[email protected]> Signed-off-by: Tom Rini <[email protected]>