summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-03apalis-tk1: rename fan enable gpio signalMarcel Ziswiler
Rename IXORA_FAN_GPIO to FAN_EN as per schematics. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-03lib/bch.c: modify algorithm for all writebcb usersMax Krummenacher
With the Colibri iMX6ULL there is a second user of the bch algorithms to encode the FCB. Use the more universal CONFIG_CMD_WRITEBCB_MX7 to decide if the modifications are needed. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-10-03colibri-imx6ull.h: unify with changes in colibri_imx7.hMax Krummenacher
Remove m4boot options not available on i.MX 6ULL. Cleanup U-Boot environment settings. This undefs CONFIG_ISO_PARTITION. This removes NAND torture no longer needed after bringup. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-10-03colibri-imx6ull.h: cleanup whitespaceMax Krummenacher
Cleanup whitespace and unify order with colibri_imx7.h. No functional change intended. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-10-03colibri-imx6ull.h: remove unused configsMax Krummenacher
Remove/change two NAND releated configs. They are not used in the GPMI driver and likely confuse readers. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-10-02colibri-imx6ull: make sure MTD partitions get passedStefan Agner
Use the correct compatible string for the i.MX6ULL GPMI device tree node to make sure MTD partition passing to the Linux kernel works. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02mtd: nand: mxs_nand: support chips without ONFI/JEDEC parameter pageStefan Agner
Some NAND chips do not provide a ONFI or JEDEC parameter page. In this case the driver should fallback to a sensible default. The kernel uses legacy_set_geometry to set a default geometry in this case. U-Boot does support the legacy BCH geometry too, but errors out if no ONFI/JEDEC parameter page is available. Synchronize behavior with Linux where we automatically fall back to legacy BCH geometry if no information from ONFI/JEDEC parameter page are available. Assume default chunk/step size of 512 like the Linux kernel is doing. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri-imx6ull: use SDP if USB serial downloader has been usedStefan Agner
In case USB serial downloader has been used to load U-Boot start the serial download protocol (SDP) emulation. This allows to download complete images such as Toradex Easy Installer over USB SDP as well. This code uses the boot ROM provided boot information to reliably detect USB serial downloader. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri_imx7_emmc: legacy sdboot from external sd cardMarcel Ziswiler
Just like the following commit for distro boot also use the 2nd instance for legacy sdboot: colibri_imx7_emmc: distro boot from external SD card 93ef92091832128259ab342a314d0f3e844bb331 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02apalis/colibri_imx6: fix white spaceMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02apalis-tk1/colibri_t20: fix and synchronize mount options 2ndMarcel Ziswiler
Finish the work started by the following commit: apalis/colibri: fix and synchronize mount options 6ed47e0f143df1c80426edb3b705c87c443c27f7 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri_imx7_emmc: distro boot from external SD cardStefan Agner
Currently distro boot is only used for external media. Use mmc 1 which is the external SD card when booting using distro boot. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-10-02colibri_imx7_emmc: fix environment storageMarcel Ziswiler
Store U-Boot environment in eMMC, before config block at the end of 1st "boot sector". Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri_imx7_emmc: fix boot commandsMarcel Ziswiler
Use proper emmc specific device tree and boot from eMMC by default rather than from NAND aka ubi. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri_imx7_emmc: clean-up config header fileMarcel Ziswiler
Clean-up config header file. Re-order boot commands. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri_imx7: get rid of environment in mmc optionMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02colibri_imx7: clean-up config header fileMarcel Ziswiler
Clean-up config header file. Re-order boot commands. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-10-02apalis/colibri: fix and synchronize mount optionsStefan Agner
The kernel does not know about rw,noatime. The string rw by itself is valid, and to pass additional arguments rootflags=noatime can be used. The kernel mounts ext3/ext4 file systems by default ro, hence so far the kernel mounted the rootfs read-only. The init manager systemd then remounts the rootfs after file system checking. This makes sense and does not add measureable boot time. Let the kernel explicitly mount ro on block device based rootfs. The root mount flag noatime is only relevant when re-mounting read-write, hence it needs to be present in /etc/fstab. UBIFS used on raw NAND devices has no user space file checking, hence there is no value to mount it in read-only first. Also mount time for UBIFS is larger, and mounting first read-only and then read-write has higher boot time (300ms, likely due to missing block cache). Let the kernel explicitly mount rw on raw NAND based rootfs. UBIFS has no atime support, hence no root mount flags needed. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-10-02colibri_imx7: improve DDR3 timingStefan Agner
This makes sure that all Colibri iMX7 modules work with the same timing. The changes are: - Disable ODT on read (JEDEC standard JESD79-3F says in chapter 5.2.3 ODT during Reads: "As the DDR3 SDRAM can not terminate and drive at the same time, RTT must be disabled at least half a clock cycle..." and also MX7D SABRESD is disabling it) This alone fixed memory issues for two Colibri iMX7 1GB modules which showed issues before - Make sure tRFC(min) is at least 260ns - Make sure tRC is >50.625ns - tRP needs to be >13.125ns, we can lower from 18.75ns to 15ns - tFAW is not relevant, leave at reset Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx7_emmc: add Colibri iMX7 Dual 1GB (eMMC) supportStefan Agner
This adds support for Colibri iMX7 Dual 1GB modules which come with on-board eMMC storage (whereas the other Colibri iMX7 modules use raw NAND). A subselection (variant) for the Colibri iMX7 target is used to maximize sharing. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31toradex: remove ISO partition supportStefan Agner
The ISO partition support is mainly useful for CD drives which are not really common in embedded space and in general anymore. Removing ISO partition support saves 1.5kB and gets rid of the somewhat confusing message when no partition table is present: ** First descriptor is NOT a primary desc on 0:1 ** Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31disk: part: align buffer so it can be used with DMA enabled driversStefan Agner
When using ISO partitions with a DMA enabled block device driver reading the ISO partition leads to unaligned DMA operations: CACHE: Misaligned operation at range [bffb7da8, bffb85a8] Align the buffer to make sure we pass a buffer which works for DMA operations. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx6ull.c: setup all used uart to dte modeMax Krummenacher
Setup all UARTs in DTE mode, so that when Linux does the pinmuxing the data direction is already correct and no two outputs are working against each other. Make sure that with the switch also the UARTs' RI and DCD interrupts are masked. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri-imx6ull: add initialMax Krummenacher
The resulting U-Boot boots at least from serial downloader mode. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31MLK-13140 ARM: imx: update REFTOP_VBGADJ according to fuse settingBai Ping
On i.MX6ULL, according to the latest REFTOP_TRIM fuse define, we need to set the REFTOP_VBGADJ bits in PMU_MISC0 register as below table: '000" - set REFTOP_VBGADJ[2:0] to 3'b000 '001" - set REFTOP_VBGADJ[2:0] to 3'b001 '010" - set REFTOP_VBGADJ[2:0] to 3'b010 '011" - set REFTOP_VBGADJ[2:0] to 3'b011 '100" - set REFTOP_VBGADJ[2:0] to 3'b100 '101" - set REFTOP_VBGADJ[2:0] to 3'b101 '110" - set REFTOP_VBGADJ[2:0] to 3'b110 '111" - set REFTOP_VBGADJ[2:0] to 3'b111 Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit b2690f5cf54390999acb2f1f7b788bfd18fa11be) (cherry picked from commit 30ce7adebd443ef777e820c4a891cbb3b28ac671)
2017-08-31MLK-13124 ARM: imx: update the REFTOP_VBGADJ settingBai Ping
Per to design team, we need to set REFTOP_VBGADJ in PMU MISC0 according to the REFTOP_TRIM[2:0] fuse. the actually table is as below: '000' - set REFTOP_VBGADJ[2:0] to 3b'110 '110' - set REFTOP_VBGADJ[2:0] to 3b'000 '001' - set REFTOP_VBGADJ[2:0] to 3b'001 '010' - set REFTOP_VBGADJ[2:0] to 3b'010 '011' - set REFTOP_VBGADJ[2:0] to 3b'011 '100' - set REFTOP_VBGADJ[2:0] to 3b'100 '101' - set REFTOP_VBGADJ[2:0] to 3b'101 '111' - set REFTOP_VBGADJ[2:0] to 3b'111 Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit 911fcf93bad8c0a595c350b92f107b626029559b) Conflicts: arch/arm/cpu/armv7/mx6/soc.c Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31imx6ull: cherry-pick remaining stuff from 05922b0Max Krummenacher
Not all of the following commit from the nxp vendor tree made it into 2016.11. http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/?h=imx_v2016.03_4.1.15_2.0.0_ga&id=05922b0abf848949df778c19312cb1cf7fdfbe6a commit 05922b0abf848949df778c19312cb1cf7fdfbe6a Author: Peng Fan <peng.fan@nxp.com> Date: Mon May 9 17:31:34 2016 +0800 MLK-12767 imx6ull: fix runtime checking for i.MX6ULL Fix runtime checking for i.MX6ULL. Add is_cpu_type(MXC_CPU_MX6ULL) to avoid using wrong code path. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31MLK-12766 net: fec: do not access reserved register for i.MX6ULLPeng Fan
The MIB RAM and FIFO receive start register does not exist on i.MX6ULL. Accessing these register will cause enet not work well or cause system report fault. Reported-by: Bai Ping <ping.bai@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 5fb09cab9bb3cc4cef02239299d02cec666396ab) Conflicts: drivers/net/fec_mxc.c Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31MLK-12486-1: switch to use setup_gpmi_io_clk for i.MX6ULPeng Fan
Add i.MX6UL support in setup_gpmi_io_clk and change mx6ul_14x14_evk to use it. Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit f39d809ef99c3727e17285c52df9cd01020bee65) Conflicts: board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31MLK-12883 usb: limit USB_MAX_XFER_BLK to 256Peng Fan
For Some USB mass storage devices, such as: " - Kingston DataTraveler 2.0 001D7D06CF09B04199C7B3EA - Class: (from Interface) Mass Storage - PacketSize: 64 Configurations: 1 - Vendor: 0x0930 Product 0x6545 Version 1.16 " When `usb read 0x80000000 0 0x2000`, we met "EHCI timed out on TD - token=0x80008d80". The devices does not support scsi VPD page, we are not able to get the maximum transfer length for READ(10)/WRITE(10). So we limit this to 256 blocks as READ(6). Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit df0052575b2bc9d66ae73584768e1a457ed5d914)
2017-08-31tdx-cfg-block: add new sku'sMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx7: remove unused config optionMax Krummenacher
CONFIG_SYS_NAND_MX7_GPMI_62_ECC_BYTES is no longer used in code. Remove it. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx7.h: do not deploy nand torture cmdMax Krummenacher
The nand torture command is a potentially destructive command used for board bring up and qualification. Do not deploy it regularly. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31net: Use packed structures for networkingDenis Pynkin
PXE boot is broken with GCC 7.1 due option '-fstore-merging' enabled by default for '-O2': BOOTP broadcast 1 data abort pc : [<8ff8bb30>] lr : [<00004f1f>] reloc pc : [<17832b30>] lr : [<878abf1f>] sp : 8f558bc0 ip : 00000000 fp : 8ffef5a4 r10: 8ffed248 r9 : 8f558ee0 r8 : 8ffef594 r7 : 0000000e r6 : 8ffed700 r5 : 00000000 r4 : 8ffed74e r3 : 00060101 r2 : 8ffed230 r1 : 8ffed706 r0 : 00000ddd Flags: nzcv IRQs off FIQs off Mode SVC_32 Resetting CPU ... Core reason is usage of structures for network headers without packed attribute. Reviewed-by: Yauheni Kaliuta <yauheni.kaliuta@redhat.com> Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> (cherry picked from commit 704f3acfcf55343043bbed01c5fb0a0094a68e8a) Conflicts: include/net.h upstream changed magic numbers with define Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31configs: apalis-tk1: Use ext4 file system by defaultSanchayan Maity
Use ext4 file system by default. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri-vf: sync the board info messageBhuvanchandra DV
Use similar info message as on other modules. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31toradex: common: unify behaviour when config block is missingBhuvanchandra DV
If the config block is missing, various things may fail or behave strangely on certain modules. This patch unifies that behaviour by using a fake MAC address, until user updates the config block. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx6: use SDP if USB serial downloader has been usedStefan Agner
In case USB serial downloader has been used to load U-Boot start the serial download protocol (SDP) emulation. This allows to download complete images such as Toradex Easy Installer over USB SDP as well. This code uses the boot ROM provided boot information to reliably detect USB serial downloader. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31apalis_imx6: use SDP if USB serial downloader has been usedStefan Agner
In case USB serial downloader has been used to load U-Boot start the serial download protocol (SDP) emulation. This allows to download complete images such as Toradex Easy Installer over USB SDP as well. This code uses the boot ROM provided boot information to reliably detect USB serial downloader. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31imx_common: detect USB serial downloader reliablyStefan Agner
The current mechanism using SCR/GPR registers work well when the serial downloader boot mode has been selected explicitly (either via boot mode pins or using bmode command). However, in case the system entered boot ROM due to unbootable primary boot devices (e.g. empty eMMC), the SPL fails to detect that it has been downloaded through serial loader and tries to continue booting from eMMC: Trying to boot from MMC1 mmc_load_image_raw_sector: mmc block read error SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### The only known way to reliably detect USB serial downloader is by checking the USB PHY receiver block power state... Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31imx: add macro to detect whether USB has been initializedStefan Agner
This macro allows to detect whether the boot ROM initialized USB already (serial downloader). This is helpful to reliably detect if the system has been recovered via USB serial downloader. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31colibri_imx7: use SDP if USB serial downloader has been usedStefan Agner
In case USB serial downloader has been used to load U-Boot start the serial download protocol (SDP) emulation. This allows to download complete images such as Toradex Easy Installer over USB SDP as well. This code uses the boot ROM provided boot information to reliably detect USB serial downloader. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31imx: imx7: detect USB serial download protocol boot modeStefan Agner
The i.MX 7 boot ROM provides a structure with boot information. The reference manual (chapter 6.6.14 Boot Information for Software in the RM) only lists 6 boot devices, but tests have shown that the boot device type is consistently 0xf in case the SoC has been booted through USB Serial Downloader. Create a new boot mode for the USB Serial Download Protocol (SDP). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31imx: imx7: make get_boot_device available for board filesStefan Agner
The function get_boot_device might be useful in board files, add it to the sys_proto.h header file. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-08-31apalis_t30: fix optional pcie port reset for reliable pcie operationMarcel Ziswiler
Allow optionally bringing up the Apalis type specific 4 lane PCIe port as well as the PCIe switch as found on the Apalis Evaluation board. In order to avoid violating the PCIe reset timing do this by overriding the tegra_pcie_board_port_reset() function. Note however that both the Apalis type specific 4 lane PCIe port as well as the regular Apalis PCIe port are also left disabled in the device tree by default. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-31apalis_t30: fix pcie port 2 pin muxingMarcel Ziswiler
Fix PCIe port 2 on-module connected to the Intel i210 gigabit Ethernet chip. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-31apalis_t30: describe pcie portsMarcel Ziswiler
Add some more comments describing the various PCIe ports available. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-31pci: tegra: introduce weak tegra_pcie_board_port_reset() functionMarcel Ziswiler
Introduce a weak tegra_pcie_board_port_reset() function by default calling the existing tegra_pcie_port_reset() function. Additionally add a tegra_pcie_port_index_of_port() function to retrieve the specific PCIe port index if required. This allows overriding the PCIe port reset functionality from board specific code as e.g. required for Apalis T30 and Apalis TK1. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-09-01power: as3722: fix as3722_ldo_enable for ldo index bigger than 7Marcel Ziswiler
Fix as3722_ldo_enable() functions for LDOs with an index > 7. Turns out there are actually two separate AS3722_LDO_CONTROL registers AS3722_LDO_CONTROL0 and AS3722_LDO_CONTROL1. Actually make use of both. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-09-01apalis-tk1: add missing as3722 gpio0 configurationMarcel Ziswiler
As the AS3722 GPIO0 is also a not connected on our Apalis TK1 module explicitly configure it to high-impedance as well. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Stefan Agner <stefan.agner@toradex.com>