summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2019-07-27Merge tag 'u-boot-imx-20190719' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20190719 - CCF for i.MX6 - nandbcb command to write SPL into NAND - Switch to DM (i.MX28) - Boards: Toradex, engicam, DH - Fixes for i.MX8 - Fixes for i.MX7ULP Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/561147504
2019-07-26dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721ELokesh Vutla
Add pinctrl macros for J721E SoC. These macro definitions are similar to that of AM6, but adding new definitions to avoid any naming confusions in the soc dts files. Signed-off-by: Lokesh Vutla <[email protected]> Signed-off-by: Andreas Dannenberg <[email protected]>
2019-07-26board: ti: j721e: Add board support for j721e evmLokesh Vutla
Add board specific initialization for j721e evm Signed-off-by: Lokesh Vutla <[email protected]> Signed-off-by: Jean-Jacques Hiblot <[email protected]> Signed-off-by: Andreas Dannenberg <[email protected]>
2019-07-26dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared accessLokesh Vutla
TISCI protocol supports for enabling the device either with exclusive permissions for the requesting host or with sharing across the hosts. There are certain devices which are exclusive to Linux context and there are certain devices that are shared across different host contexts. So add support for getting this information from DT by increasing the power-domain cells to 2. Signed-off-by: Lokesh Vutla <[email protected]>
2019-07-26power-domain: Add private data to power domainLokesh Vutla
Certain drivers want to attach private data corresponding to each power domain. This data might be specific be to the drvier. So add a priv entry into the power_domain structure. Signed-off-by: Lokesh Vutla <[email protected]>
2019-07-26firmware: ti_sci: Add a command for releasing all exclusive devicesLokesh Vutla
Any host while requesting for a device can request for its exclusive access. If an exclusive permission is obtained then it is the host's responsibility to release the device before the software entity on the host completes its execution. Else any other host's request for the device will be nacked. So add a command that releases all the exclusive devices that is acquired by the current host. This should be used with utmost care and can be called only at the end of the execution. Signed-off-by: Lokesh Vutla <[email protected]>
2019-07-26firmware: ti_sci: Add processor shutdown API methodAndreas Dannenberg
Add and expose a new processor shutdown API that wraps the two TISCI messages involved in initiating a core shutdown. The API will first queue a message to have the DMSC wait for a certain processor boot status to happen followed by a message to trigger the actual shutdown- with both messages being sent without waiting or requesting for a response. Note that the processor shutdown API call will need to be followed up by user software placing the respective core into either WFE or WFI mode. Signed-off-by: Andreas Dannenberg <[email protected]>
2019-07-26firmware: ti_sci: Allow for device shared and exclusive requestsLokesh Vutla
Sysfw provides an option for requesting exclusive access for a device using the flags MSG_FLAG_DEVICE_EXCLUSIVE. If this flag is not used, the device is meant to be shared across hosts. Once a device is requested from a host with this flag set, any request to this device from a different host will be nacked by sysfw. Current tisci driver enables this flag for every device requests. But this may not be true for all the devices. So provide a separate commands in driver for exclusive and shared device requests. Signed-off-by: Lokesh Vutla <[email protected]>
2019-07-26rockchip: add CONFIG_IRAM_BASE for all SoCsKever Yang
Rockchip SoCs have internal sram for bootrom data area and for sdram init program space. Introduce the base address in case we need to use it. Signed-off-by: Kever Yang <[email protected]>
2019-07-26rockchip: remove redundant CONFIG_SYS_NS16550_MEM32Kever Yang
The CONFIG_SYS_NS16550_MEM32 already defined in rockchip_common.h, no need to define again in soc level header. Signed-off-by: Kever Yang <[email protected]>
2019-07-26include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MBShyam Saini
The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which causes board reset because of larger uImage size. This was tested on rk3288 Amarula Vyasa and rk3288 Asus Tinker boards. Error log snippet: Booting using the fdt blob at 0x1f00000 Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN Must RESET board to recover resetting ... Reviewed-by: Jagan Teki <[email protected]> Signed-off-by: Shyam Saini <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2019-07-25Merge https://gitlab.denx.de/u-boot/custodians/u-boot-netTom Rini
- DaVinci emac DM work - NXP driver work - macb updates for RISC-V
2019-07-25net: davinci_emac: convert to using the driver modelBartosz Golaszewski
Now that we removed all legacy boards selecting TI_EMAC we can completely convert the driver code to using the driver model. This patch also updates all remaining users of davinci_emac. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Adam Ford <[email protected]> #am3517-evm & da850-evm Reviewed-by: Ramon Fried <[email protected]>
2019-07-25riscv: sifive: fu540: Sync-up config header with RISC-V QEMU supportAnup Patel
We typically use same set of distro images (yocto, debian, fedora, etc.) on both QEMU RISC-V virt machine and SiFive Unleashed board. With growing kernel and ramdisk images, we need to re-adjust default U-Boot environment variables. The config header for QEMU RISC-V virt machine has been already updated to handle bigger kernel and ramdisk images hence this patch updates SiFive FU540 config header accordingly. Signed-off-by: Anup Patel <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Joe Hershberger <[email protected]> Reviewed-by: David Abdurachmanov <[email protected]> Tested-by: David Abdurachmanov <[email protected]>
2019-07-25Add support for the NXP LS1021A-TSN boardJianchao Wang
The LS1021A-TSN is a development board built by VVDN/Argonboards in partnership with NXP. It features the LS1021A SoC and the first-generation SJA1105T Ethernet switch for prototyping implementations of a subset of IEEE 802.1 TSN standards. Supported boot media: microSD card (via SPL), QSPI flash. Rev. A of the board uses a Spansion S25FL512S_256K serial flash, which is 64 MB in size and has an erase sector size of 256KB (therefore, flashing the RCW would erase part of U-Boot). Rev. B and C of the board use a Spansion S25FL256S1 serial flash, which is only 32 MB in size but has an erase sector size of 64KB (therefore the RCW image can be flashed without erasing U-Boot). To avoid the problems above, the U-Boot base address has been selected at 0x100000 (the start of the 5th 256KB erase sector), which works for all board revisions. Actually 0x40000 would have been enough, but 0x100000 is common for all Layerscape devices. eTSEC3 is connecting directly to SJA1105 via an RGMII fixed-link, but SJA1105 is currently not supported by uboot. Therefore, eTSEC3 is disabled. Signed-off-by: Xiaoliang Yang <[email protected]> Signed-off-by: Mingkai Hu <[email protected]> Signed-off-by: Jianchao Wang <[email protected]> Signed-off-by: Changming Huang <[email protected]> Signed-off-by: Vladimir Oltean <[email protected]> [Vladimir] Code taken from https://github.com/openil/u-boot (which itself is mostly copied from ls1021a-iot) and adapted with the following changes: - Add a008850 errata workaround - Converted eTSEC, MMC to DM to avoid all build warnings - Plugged in distro boot feature, including support for extlinux.conf - Added defconfig for QSPI boot - Added the board/freescale/ls1021atsn/README.rst for initial setup - Increased CONFIG_SYS_MONITOR_LEN so that the SPL malloc pool does not get overwritten during copying of the u-boot.bin payload from MMC to DDR. Acked-by: Joe Hershberger <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-07-25configs: ls1021atwr: Fix distro_bootcmd for QSPI bootVladimir Oltean
Due to a typo, "run qspi_bootcmd" and "env exists secureboot" got concatenated instead of being separated by a semicolon. Signed-off-by: Vladimir Oltean <[email protected]> Reviewed-by: Bin Meng <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2019-07-25arm: ls1021atwr: Convert to use driver model TSEC driverBin Meng
Now that we have added driver model support to the TSEC driver, convert ls1021atwr board to use it. This depends on previous DM series for ls1021atwr: http://patchwork.ozlabs.org/patch/561855/ Signed-off-by: Bin Meng <[email protected]> Signed-off-by: Vladimir Oltean <[email protected]> Acked-by: Joe Hershberger <[email protected]> [Vladimir] Made the following changes: - Added 'status = "disabled";' for all Ethernet ports in ls1021a.dtsi - Fixed the confusion between the SGMII/TBI PCS for enet0 and enet1 - a mistake ported over from Linux. Each SGMII PCS lies on the private MDIO bus of the interface (and the RGMII enet2 has no SGMII PCS). - Added CONFIG_DM_ETH to all ls1021atwr_* defconfigs - Completely removed non-DM_ETH support from ls1021atwr - Changed "compatible" string from "fsl,tsec-mdio" to "fsl,etsec2-mdio" and from "fsl,tsec" to "fsl,etsec2" to match Linux
2019-07-25net: tsec: Fix offset of MDIO registers for DM_ETHVladimir Oltean
By convention, the eTSEC MDIO controller nodes are defined in DT at 0x2d24000 and 0x2d50000, but actually U-Boot does not touch the interrupt portion of the register map (MDIO_IEVENTM, MDIO_IMASKM, MDIO_EMAPM). That leaves only the MDIO bus registers (MDIO_MIIMCFG, MDIO_MIIMCOM, MDIO_MIIMADD, MDIO_MIIMADD, MDIO_MIIMCON, MDIO_MIIMSTAT) which start at the 0x520 offset. So shift the DT-defined register map by the offset of MDIO_MIIMCFG when mapping the MDIO bus registers. Signed-off-by: Vladimir Oltean <[email protected]> Acked-by: Joe Hershberger <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-07-25include: configs: ls1028a: set SYS_RX_ETH_BUFFER to 8Alex Marginean
LS1028A ethernet interfaces work with at least 8 BDs, set number of buffers to match that. Signed-off-by: Alex Marginean <[email protected]> Reviewed-by: Bin Meng <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2019-07-24Merge tag 'dm-pull-24jul19-take3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-dm Minor driver-model fixes and tweaks A few device-tree fixes Binman support for extracting files from an image
2019-07-24dm: uclass: fix comment copy/paste errorBaruch Siach
The uclass_next_device() routine continues a previously started device iteration. Change the description that is copied from uclass_first_device(). Signed-off-by: Baruch Siach <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-07-24dm: Fix parameter description of dev_read_name()Bin Meng
The comments of dev_read_name() wrongly describe "node" as its parameter. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-07-24distro_bootcmd: refactor virtio to support PCI block devicesDavid Abdurachmanov
Starting libvirt v5.3.0 with QEMU 4.0.0 use of PCI is automatic and thus storage is connected via PCI, which is not visible to U-Boot out-of-the-box. Refactor to do "pci enum" followed by "virtio scan" to see PCI connected storage, and allow bootloader to load kernel and initramfs images. Tested with Fedora/RISCV using releases: libvirt 5.4.0 & 5.5.0, QEMU 4.0.0 and U-Boot 2019.07 RC4. Signed-off-by: David Abdurachmanov <[email protected]>
2019-07-24remoteproc: Fix potential build issues with SPL remoteprocSuman Anna
The rproc uclass driver can either be built with SPL_REMOTEPROC or REMOTEPROC, but the function prototypes in remoteproc.h are defined only when CONFIG_REMOTEPROC is defined. This can cause build issues in SPL if CONFIG_REMOTEPROC is not selected. Fix this by replacing the existing precompiler macro usage with CONFIG_IS_ENABLED. Fixes: ddf56bc7e3ef ("drivers: Introduce a simplified remoteproc framework") Signed-off-by: Suman Anna <[email protected]> Reviewed-by: Nishanth Menon <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]>
2019-07-24env: am57xx: Implement A/B boot processRuslan Trofymenko
Add support for A/B boot process on AM57xx based boards: 1. Define 'slot_suffix' variable (using 'ab_select' command) 2. Extend 'emmc_android_boot' boot command (add commands for A/B boot process) 'ab_select' command is used to decide which slot should be used for booting up. A/B metadata resides in 'misc' partition. To activate the A/B boot process, the following config options must be set: CONFIG_ANDROID_AB=y CONFIG_CMD_AB_SELECT=y For successful A/B boot, the corresponding A/B infrastructure must be involved on Android side [1] (including mounting system as root), and disk must be partitioned accordingly. When A/B boot is enabled, there are some known limitations currently exist (not related to A/B patches, need to be implemented later): 1. The 'Verified Boot' sequence is not supported 2. dev path to system partition (system_a or system_b) is passed via 'bootargs' as 'root=' argument like 'root=/dev/mmcblk1p12', but further we'll need to rework it with respect to dm-verity requirements [2] In case when A/B partitions are not present in system (and A/B boot is enabled), boot up process will be terminated and next message will be shown: "boot_a(b) partition not found" [1] https://source.android.com/devices/tech/ota/ab [2] https://source.android.com/devices/tech/ota/ab/ab_implement#kernel Signed-off-by: Ruslan Trofymenko <[email protected]> Signed-off-by: Igor Opaniuk <[email protected]> Signed-off-by: Sam Protsenko <[email protected]> Reviewed-by: Alistair Strachan <[email protected]> Reviewed-by: Sam Protsenko <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-07-24common: Implement A/B metadataRuslan Trofymenko
This patch determines the A/B-specific bootloader message structure that is the basis for implementation of recovery and A/B update functions. A/B metadata is stored in this structure and used to decide which slot should we use to boot the device. Also some basic functions for A/B metadata manipulation are implemented (like slot selection). The patch was extracted from commits [1], [2] with some coding style fixes. [1] https://android-review.googlesource.com/c/platform/external/u-boot/+/729878/2 [2] https://android-review.googlesource.com/c/platform/external/u-boot/+/729880/2 Signed-off-by: Ruslan Trofymenko <[email protected]> Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Sam Protsenko <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-07-24disk: part: Extend API to get partition infoRuslan Trofymenko
This patch adds part_get_info_by_dev_and_name_or_num() function which allows us to get partition info from its number or name. Partition of interest is specified by string like "device_num:partition_number" or "device_num#partition_name". The patch was extracted from [1]. [1] https://android-review.googlesource.com/c/platform/external/u-boot/+/729880/2 Signed-off-by: Ruslan Trofymenko <[email protected]> Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Alistair Strachan <[email protected]> Reviewed-by: Sam Protsenko <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-07-23cbfs: Rename checksum to attributes_offsetSimon Glass
It seems that this field has been renamed in later version of coreboot. Update it. Signed-off-by: Simon Glass <[email protected]>
2019-07-23cbfs: Add an enum and comment for the magic numberSimon Glass
This field is not commented in the original file. Add a comment. Signed-off-by: Simon Glass <[email protected]>
2019-07-23Merge tag 'efi-2019-10-rc1-2' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for UEFI sub-system for v2019.10-rc1 (2) * Implement the EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event. * Address errors of type -Werror=address-of-packed-member when building with GCC9.1 * Fix an error when adding memory add addres 0x00000000. * Rework some code comments for Sphinx compliance.
2019-07-23Merge tag 'u-boot-stm32-20190723' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-stm - add rtc driver for stm32mp1 - add remoteproc driver for stm32mp1 - use kernel qspi compatible string for stm32
2019-07-23dt-bindings: Synchronize R-Car Gen3 headers with Linux 5.2Eugeniu Rosca
Backport and squash below Linux v5.2 commits: Commit id * Summary line da3e1c57caf93e [1] soc: renesas: r8a77970-sysc: Remove non-existent CR7 power domain b5eb730e031aca [1] soc: renesas: r8a77970-sysc: Correct names of A2DP/A2CN power domains 3961d355dfb512 dt-bindings: power: r8a77965: Remove non-existent A3IR power domain (*) Patch id mismatch between Linux and U-Boot commit [1] Dropped changes in drivers/soc/renesas/r8a77970-sysc.c, since the file doesn't exist in U-Boot. Signed-off-by: Eugeniu Rosca <[email protected]>
2019-07-22remoteproc: add elf file load supportFabien Dessenne
The current implementation supports only binary file load. Add helpers to support ELF32 format (sanity check, and load). Note that since an ELF32 image is built for the remote processor, the load function uses the device_to_virt ops to translate the addresses. Implement a basic translation for sandbox_testproc. Add related tests. Test result: => ut dm remoteproc_elf Test: dm_test_remoteproc_elf: remoteproc.c Test: dm_test_remoteproc_elf: remoteproc.c (flat tree) Failures: 0 Signed-off-by: Loic Pallardy <[email protected]> Signed-off-by: Fabien Dessenne <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]>
2019-07-22remoteproc: add device_to_virt opsFabien Dessenne
Introduce the device_to_virt function to allow translation between device address (remote processor view) and virtual address (main processor view). Signed-off-by: Loic Pallardy <[email protected]> Signed-off-by: Fabien Dessenne <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]>
2019-07-22remoteproc: fix function headersFabien Dessenne
Add full function comment headers. Fix rproc_is_initialized() return value description. Signed-off-by: Fabien Dessenne <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]>
2019-07-22dm: core: Introduce xxx_translate_dma_address()Fabien Dessenne
Add the following functions to translate DMA address to CPU address: - dev_translate_dma_address() - ofnode_translate_dma_address() - of_translate_dma_address() - fdt_translate_dma_address() These functions work the same way as xxx_translate_address(), with the difference that the translation relies on the "dma-ranges" property instead of the "ranges" property. Add related test. Test report: => ut dm fdt_translation Test: dm_test_fdt_translation: test-fdt.c Test: dm_test_fdt_translation: test-fdt.c (flat tree) Failures: 0 Signed-off-by: Fabien Dessenne <[email protected]>
2019-07-21Merge tag 'rockchip-for-v2019.07' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip - rk3399 lpddr4 support - rk3399-rock960 board support improvement - Eliminate pyelftools dependency by make_fit_atf.py - clean up rockchip dts to use -u-boot.dtsi - use ARM arch/generic timer instead of rk_timer - clean up Kconfig options for board support
2019-07-21arm: socfpga: fix 3 boards missing env var "socfpga_legacy_reset_compat"Simon Goldschmidt
This fixes 3 boards that don't use CONFIG_EXTRA_ENV_SETTINGS from socfpga_common.h. They need to enable reset manager compatibility mode unless all peripheral drivers in Linux support reset handling. Fixes: commit 4b2e32efa4e7 ("arm: socfpga: gen5: deassert peripheral reset by default") Signed-off-by: Simon Goldschmidt <[email protected]> Reported-by: Wolfgang Grandegger <[email protected]>
2019-07-20rockchip: rk3399: use common secure_timer_init() for spl/tplKever Yang
SPL/TPL share the same secure_timer_init(), update to use one copy source code and update to use CONFIG_ROCKCHIP_STIMER_BASE as base address and rename to function name to rockchip_stimer_init(). Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3368: enable stimer for rk3368Kever Yang
Add stimer_init() for spl/tpl so that we able to switch to use arch timer. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3128: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3288: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3036: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track the boot time. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk322x: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <[email protected]>
2019-07-20rockchip: rk3288: update u-boot raw image size for all boardsKever Yang
Some rk3288 boards are using raw image of u-boot.bin, and now it's much bigger than default 200KB, update CONFIG_SYS_MONITOR_LEN to 600KB. Signed-off-by: Kever Yang <[email protected]>
2019-07-19ARM: imx6: DHCOM i.MX6 PDK: Switch to DM for I2CLudwig Zenz
This patch enables DM I2C for DHCOM i.MX6 PDK2 boards and removes non DM I2C code. The I2C EEPROM with ethaddr (MAC) is defined in the device tree. Use UCLASS_I2C_EEPROM to find the device by fixed hardware path and read the ethaddr. Tested with DHCOM i.MX6dl and DHCOM i.MX6q. Signed-off-by: Ludwig Zenz <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2019-07-19colibri_imx6: configs: remove legacy usbboot commandIgor Opaniuk
Remove obsolete legacy usbboot wrapper, as distroboot can handle booting from USB drivers. Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2019-07-19apalis_imx6: configs: remove legacy usbboot commandIgor Opaniuk
Remove obsolete legacy usbboot wrapper, as distroboot can handle booting from USB drivers. Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2019-07-19colibri_imx7: introduce androidboot wrapperIgor Opaniuk
1. Introduce androidboot wrapper for booting AOSP. 2. Add partitions_android env var for simplifying the process of writing new gpt table from U-boot shell/fastboot. Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]>
2019-07-19colibri-imx6ull: fix vidargsMarcel Ziswiler
Unfortunately, that missing M makes the current downstream NXP BSP 4.14.98_2.0.0_ga crash early during Linux kernel boot. Fix this. Signed-off-by: Marcel Ziswiler <[email protected]> Reviewed-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Igor Opaniuk <[email protected]> Tested-by: Igor Opaniuk <[email protected]>