summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'arc-for-2018.11' of git://git.denx.de/u-boot-arcTom Rini2018-11-021-5/+5
|\ | | | | | | | | | | | | Just 2 non-functinal changes: 1. Rename of EMDK to EMSDP so it matches real marketing name 2. Add essential README for IoTDK
| * emdk->emsdp: Rename boardAlexey Brodkin2018-11-011-5/+5
| | | | | | | | | | | | | | | | Real marketing name of the board was recently updated so to accommodate that change renaming the board and all related to it. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* | arm: ti: boot: Don't read environment partitionSam Protsenko2018-11-011-1/+0
| | | | | | | | | | | | | | | | | | This part should've been remove in commit 88d60db01168 ("arm: ti: boot: Remove environment partition"), but I missed it somehow. Remove reading dtb file from environment partition on eMMC, as we don't have it anymore. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
* | configs: at91: at91sam9x5ek: fix bootcmd for NAND flashEugen.Hristev@microchip.com2018-11-011-2/+3
|/ | | | | | | | | The default bootcommand needs to be accurate w.r.t the nand memory map at http://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91sam9x5ekMainPage#NAND_Flash_demo_Memory_map Updated to load kernel + dtb at right offsets and boot the zImage. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* Merge branch 'master' of git://git.denx.de/u-boot-socfpgaTom Rini2018-10-311-0/+13
|\
| * arm: socfpga: Fix bootcounter located at the end of internal SRAMStefan Roese2018-10-311-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 768f23dc8ae3 ("ARM: socfpga: Put stack at the end of SRAM") broke those socfpga boards that keep the bootcounter at the end of the internal SRAM as the bootcounter needs 8 bytes by default and thus the very first SPL call to board_init_f_alloc_reserve overwrites the bootcounter. This patch allows to move the initial stack pointer down a bit by checking if CONFIG_SYS_BOOTCOUNT_ADDR is located in the internal SRAM area and then using this address as location for the start of the stack pointer. No new macros / defines are added by this approach. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Marek Vasut <marex@denx.de> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
* | fsl/usb: Workaround for USB erratum-A005275Chris Packham2018-10-291-0/+1
|/ | | | | | | | | | | | | | | | | | | Workaround makes FS as default mode on all affected socs. Add support to check erratum-A005275 validity for an soc. This info is required to determine whether a given soc is affected by this erratum. Add quirk for this erratum "has_fsl_erratum_a005275" . This quirk is used to enable workaround for the errata Force FS mode as default by: - making EPS as FS - setting PFSC bit to disable HS chirping This workaround can be disabled by mentioning "no_erratum_a005275" in hwconfig string Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: York Sun <york.sun@nxp.com>
* x86: theadorable-x86: Generate and pass root=PARTUUID instead of /dev/sdaXStefan Roese2018-10-281-14/+21
| | | | | | | | | | | | | | To enable the root device selection (kernel cmd-line) via PARTUUID, this patch enables CMD_PART on all missing theadorable-x86 boards and changes the default environment to generate the root=PARTUUID string automatically. This fixes problems that have been noticed on systems with multiple SATA/AHCI controller connected via PCIe, where the device name for the root device / partition (/dev/sdaX) was incorrect. Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: theadorable-x86-common: Change pci hotplug cmdline parameters (again)Stefan Roese2018-10-281-2/+1
| | | | | | | | | This is needed for the PCIe hotplug to work correctly on some boards with the newer Linux kernel versions. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Merge branch 'master' of git://git.denx.de/u-boot-netTom Rini2018-10-259-18/+5
|\
| * net/phy: Add phy-id for IN112525_S03Priyanka Jain2018-10-241-3/+4
| | | | | | | | | | Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
| * configs: migrate CONFIG_PHY_AQUANTIA to KconfigJeremy Gebben2018-10-247-15/+0
| | | | | | | | | | | | | | The aquantia driver requires both CONFIG_PHY_GIGE and CONFIG_PHYLIB_10G. Signed-off-by: Jeremy Gebben <jgebben@sweptlaser.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
| * miiphy: Add function to retrieve MDIO bus list headPankaj Bansal2018-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In upcoming freescale board LX2160AQDS, the MDIO bus is muxed. i.e. same MDIO bus can be routed to eight different slots depending on mux register settings. To support this mdio mux behavior, we add each MDIO bus mux as a separate MDIO bus. Now, various phy devices can be attached to each of these slots(mux). The information about these devices is passed to OS via device tree. To do the fdt fixups related to MDIO bus, its necessary that MDIO bus list is accessed.Therefore, add a function to retrieve the list head. Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* | Merge tag 'u-boot-imx-20181025' of git://git.denx.de/u-boot-imxTom Rini2018-10-2524-29/+2782
|\ \ | |/ |/| | | Merged imx8 architecture, fix build for imx8 + warnings
| * warp7: include: configs: set skip low level initRui Miguel Silva2018-10-221-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | If we have defined the OPTEE ram size and not OPTEE means that we are in the case where OPTEE is loaded already (maybe by ARM Trusted Firmware) and that most of the low level initialization is already done and that we may/should skip it doing them here. Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: u-boot@lists.denx.de
| * Kconfig: Convert CONFIG_IMX_WATCHDOG to KconfigXiaoliang Yang2018-10-228-17/+0
| | | | | | | | | | | | | | Move this option to Kconfig and tidy up the config file of eight boards which use it. Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
| * tools: add i.MX8/8X image supportPeng Fan2018-10-222-0/+274
| | | | | | | | | | | | | | | | | | i.MX8/8X bootable image type is container type. The bootable image, containers a container set which supports two container. The 1st container is for SECO firmware, the 2nd container needs to include scfw, m4_0/1 image, ACore images per your requirement. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: add i.MX8QXP MEK board supportPeng Fan2018-10-221-0/+157
| | | | | | | | | | | | | | | | | | | | | | Add i.MX8QXP MEK board support Enabled pinctrl/clk/power-domain/mmc/i2c/fec driver. Added README file. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com>
| * serial_lpuart: Update lpuart driver to support i.MX8Peng Fan2018-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Add i.MX8 compatible string and cpu type support to lpuart driver, to use little endian 32 bits configurations. Also, according to RM, the Receive FIFO Enable (RXFE) field in LPUART FIFO register is bit 3, so this definition should change to 0x08 (not 0x40) for i.MX8, otherwise the Receive FIFO is not disabled. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
| * dt-bindings: soc: add i.MX8QXP pm and rsrc definitionPeng Fan2018-10-222-0/+745
| | | | | | | | | | | | | | | | Add i.MX8QXP power and resource definition Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
| * dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QXP clocks definitionPeng Fan2018-10-221-0/+583
| | | | | | | | | | | | | | | | Add i.MX8QXP clocks definition Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
| * dt-bindings: pinctrl: add i.MX8QXP pads definitionPeng Fan2018-10-221-0/+757
| | | | | | | | | | | | | | | | Add i.MX8QXP pads definition Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
| * arm: mx5: Add M53Menlo boardMarek Vasut2018-10-161-0/+246
| | | | | | | | | | | | | | | | Add Menlosystems M53 board, based on the M53 SoM. This board has Ethernet, USB host, USB gadget, UART and LCD on it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
| * configs: mx7: Remove CONFIG_DBG_MONITORFabio Estevam2018-10-094-6/+0
| | | | | | | | | | | | | | Remove all CONFIG_DBG_MONITOR references as it is not used anywhere. Signed-off-by: Fabio Estevam <festevam@gmail.com>
| * colibri_imx7: prime get_ram_size() using imx_ddr_size()Fabio Estevam2018-10-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than passing a hardcoded maxsize to the generic get_ram_size() function use the i.MX 7 specific imx_ddr_size() function, which extracts the memory size at runtime by reading the DDR controller registers. This is a purely cosmetic change as the generic get_ram_size() function already took care of properly automatically detecting 256MB, 512MB or 1GB modules. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
| * pico-imx6ul, pico-imx7d: Enable USB and PXE boot supportOtavio Salvador2018-10-092-0/+4
| | | | | | | | | | | | | | | | | | This allow the use of a USB storage or PXE network booting as fallback, allowing for example for manufacturing installation of eMMC storage in an easy way. Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
| * pico-imx6ul, pico-imx7d: Use eMMC user partition by defaultOtavio Salvador2018-10-092-4/+4
| | | | | | | | | | | | | | | | | | After discussing with TechNexion about how its default setting, it is better to install on the eMMC user partition by default, when using DFU, so it works out of box for majority of users. Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* | ARM: Samsung: Add Exynos5422-based Odroid HC2 supportDirk Meul2018-10-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Odroid HC2 board is based on Odroid XU4 board, like the Odroid HC1. The linux kernel does not provide a hc2 DTB so the hc1 DTB is also used for the Odroid HC2. Resend because MUA changed whitespace. Signed-off-by: Dirk Meul <dirk.meul@rwth-aachen.de> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Lukasz Majewski <lukma@denx.de> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | arm: ti: boot: Remove environment partitionSam Protsenko2018-10-221-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove "environment" partition and do not read it when booting Android from eMMC. We don't use this partition anymore, so this is just an unintentional leftover. Earlier we were reading dtb file from "environment" partition to feed it further to kernel. Now we are using dtb from FIT image ("boot" partition contains boot_fit.img image), which can be seen from this command: bootm ${loadaddr}#${fdtfile} where "#" character means we have FIT image in ${loadaddr} RAM address. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Acked-by: Praneeth Bajjuri <praneeth@ti.com>
* | ARM: omap3_logic: Add NOR Flash Support for SOM-LVAdam Ford2018-10-221-1/+6
| | | | | | | | | | | | | | | | | | The DM37 and OMAP35 SOM-LV SOM-LV products both support a NOR flash part connected to CS2 in addition to the NAND part on CS0. This patch setups the GPMC timings for the MT28 NOR Flash and enables the CFI-Flash driver now that the CFI stuff is in Kconfig Signed-off-by: Adam Ford <aford173@gmail.com>
* | arm: udoo: Convert to distro configMeul, Dirk2018-10-221-89/+23
| | | | | | | | | | | | | | | | Instead of keeping a custom environment, use a more generic approach by switching to distro config. Signed-off-by: Dirk Meul <dirk.meul@rwth-aachen.de> Reviewed-by: Fabio Estevam <festevam@gmail.com>
* | common: command: fix typoHeinrich Schuchardt2018-10-191-1/+1
| | | | | | | | | | | | %s/CMD_RET_SUCCESX/CMD_RET_SUCCESS/g Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* | Convert CONFIG_FLASH_CFI_DRIVER et al to KconfigAdam Ford2018-10-19160-537/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This converts the following to Kconfig: CONFIG_FLASH_CFI_DRIVER CONFIG_SYS_FLASH_USE_BUFFER_WRITE CONFIG_FLASH_CFI_MTD CONFIG_SYS_FLASH_PROTECTION CONFIG_SYS_FLASH_CFI Signed-off-by: Adam Ford <aford173@gmail.com> [trini: Re-migrate] Signed-off-by: Tom Rini <trini@konsulko.com>
* | bootcount: Make bootcount magic configurableMarek Vasut2018-10-191-1/+0
| | | | | | | | | | | | | | | | | | Add new Kconfig option, SYS_BOOTCOUNT_MAGIC, to select the boot counter magic word. This can be useful ie. in case the entire boot counter register is not usable. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@konsulko.com>
* | work_92105: remove unused CONFIG_SPL_NAND_BOOT configuration optionVladimir Zapolskiy2018-10-191-1/+0
| | | | | | | | | | | | | | The option is unused, SPL image gets a wanted boot device by standard spl_boot_device() call. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
* | work_92105: remove unused CONFIG_LPC32XX_SPL configuration optionVladimir Zapolskiy2018-10-191-3/+0
| | | | | | | | | | | | | | The CONFIG_LPC32XX_SPL option from board include file has never been used, it is safe to remove it. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
* | ARM: dts: rmobile: r8a77990: Add USB2.0(EHCI) DT nodes on EbisuHiroyuki Yokoyama2018-10-181-0/+20
| | | | | | | | | | | | Add device tree nodes for USB2.0(EHCI) on R-Car E3 Ebisu board. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
* | ARM: rmobile: Enable cache command on Gen3Hiroyuki Yokoyama2018-10-181-1/+0
| | | | | | | | | | | | | | This patch enables the cache command, mostly for convenience of testing. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
* | Merge tag 'signed-efi-2018.11' of git://github.com/agraf/u-bootTom Rini2018-10-172-3/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch queue for efi - 2018-10-17 A few bug fixes for the 2018.11 release: - Fix block seeking on 32bit - Fix execution with DEBUG set - Fix a few Coverity found bugs - Fix warnings Heinrich Schuchardt (13): efi_loader: fix relocation on x86_64 efi_loader: correct signature of GetPosition, SetPosition efi_loader: execute efi_save_gd() first efi_loader: efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES, ...) efi_loader: error handling in read_console() efi_loader: return type efi_console_register() efi_loader: superfluous statement in is_dir() efi_loader: memory leak in efi_set_variable() efi_loader: remove lcd.h from efi_net.c arm: do not include efi_loader.h twice efi_loader: fix typo in efi_boottime.c efi_selftest: creating new handle in controller test efi_loader: efi_dp_get_next_instance() superfluous statement Tom Rini (2): efi_loader: Fix warning in efi_load_image() fs: fat: Fix warning in normalize_longname()
| * | efi_loader: return type efi_console_register()Heinrich Schuchardt2018-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a return type that can encompass the return value. This fixes CoverityScan CID 184090. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * | efi_loader: correct signature of GetPosition, SetPositionHeinrich Schuchardt2018-10-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The UEFI spec requires that file positions are passed as u64 in GetPosition() and SetPosition(). Check if the file handle points to a directory in GetPosition(). Provide a unit test for GetPosition() and SetPosition(). Fix Coverity warning CID 184079 (CONSTANT_EXPRESSION_RESULT). Add comments. Fixes: b6dd57773719 ("efi_loader: use correct types in EFI_FILE_PROTOCOL") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
* | | arm64: versal: Add support for new Xilinx Versal ACAPsMichal Simek2018-10-161-0/+91
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xilinx is introducing Versal, an adaptive compute acceleration platform (ACAP), built on 7nm FinFET process technology. Versal ACAPs combine Scalar Processing Engines, Adaptable Hardware Engines, and Intelligent Engines with leading-edge memory and interfacing technologies to deliver powerful heterogeneous acceleration for any application. The Versal AI Core series has five devices, offering 128 to 400 AI Engines. The series includes dual-core Arm Cortex™-A72 application processors, dual-core Arm Cortex-R5 real-time processors, 256KB of on-chip memory with ECC, more than 1,900 DSP engines optimized for high-precision floating point with low latency. The patch is adding necessary infrastructure in place without enabling platform which is done in separate patch. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini2018-10-122-3/+15
|\ \
| * | board: da8xxevm: Add SPL DM for serial, spiJagan Teki2018-10-101-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add SPL DM support for da8xxevm boards with SPL serial, SPI drivers supported via platdata. Cc: Adam Ford <aford173@gmail.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Tested-by: Adam Ford <aford173@gmail.com> #da850evm
| * | spi: davinci: Add platdata supportJagan Teki2018-10-101-0/+15
| |/ | | | | | | | | | | | | | | | | Davanci spi driver has DM support already, this patch add support for platdata so-that SPL can use it for low foot-print. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Tested-by: Adam Ford <aford173@gmail.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-netTom Rini2018-10-119-95/+357
|\ \
| * | driver: net: fsl-mc: Add support of multiple phys for dpmacPankaj Bansal2018-10-101-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Till now we have had cases where we had one phy device per dpmac. Now, with the upcoming products (LX2160AQDS), we have cases, where there are sometimes two phy devices for one dpmac. One phy for TX lanes and one phy for RX lanes. to handle such cases, add the support for multiple phys in ethernet driver. The ethernet link is up if all the phy devices connected to one dpmac report link up. also the link capabilities are limited by the weakest phy device. i.e. say if there are two phys for one dpmac. one operates at 10G without autoneg and other operate at 1G with autoneg. Then the ethernet interface will operate at 1G without autoneg. Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
| * | driver: net: fsl-mc: remove unused strcture elementsPankaj Bansal2018-10-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The phydev structure is present in both ldpaa_eth_priv and wriop_dpmac_info. the phydev in wriop_dpmac_info is not being used As the phydev is created based on phy_addr and bus members of wriop_dpmac_info, it is appropriate to keep phydev in wriop_dpmac_info. Also phy_regs is not being used, therefore remove it Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
| * | net: Consolidate UDP header functionsDuncan Hare2018-10-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Make it possible to add TCP versions of the same, while reusing IP portions. This patch should not change any behavior. Signed-off-by: Duncan Hare <DH@Synoia.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
| * | net: Don't overwrite waiting packets with asynchronous repliesJoe Hershberger2018-10-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Peter originally sent a fix, but it breaks a number of other things. This addresses the original reported issue in a different way. That report was: > U-Boot has 1 common buffer to send Ethernet frames, pointed to by > net_tx_packet. When sending to an IP address without knowing the MAC > address, U-Boot makes an ARP request (using the arp_tx_packet buffer) > to find out the MAC address of the IP addressr. When a matching ARP > reply is received, U-Boot continues sending the frame stored in the > net_tx_packet buffer. > > However, in the mean time, if U-Boot needs to send out any network > packets (e.g. replying ping packets or ARP requests for its own IP > address etc.), it will use the net_tx_packet buffer to prepare the > new packet. Thus this buffer is no longer the original packet meant > to be transmitted after the ARP reply. The original packet will be > lost. This instead uses the ARP tx buffer to send async replies in the case where we are actively waiting for an ARP reply. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reported-by: Tran Tien Dat <peter.trantiendat@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>