aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-08-28imx: imx6: Move gpr_init() function to soc.cBreno Lima19-200/+19
Since the gpr_init() function is common for boards using MX6S, MX6DL, MX6D, MX6Q and MX6QP processors move it to the soc.c file. Signed-off-by: Breno Lima <breno.lima@nxp.com> Acked-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
2017-08-25imx: use BOOT_DEVICE_BOARD instead of UARTStefan Agner1-2/+2
i.MX 6 serial downloader is not necessarily booting via UART but can also boot from USB. In fact only some i.MX chips have serial downloader support via UART (e.g. 6UL/ULL and Vybrid) but all of them have serial downloader support via USB. Use the more appropriate BOOT_DEVICE_BOARD define which is used for ROM provided recovery mechanisms in general. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-25imx: fix USB boot mode detection for i.MX 6UL and 6ULLStefan Agner2-2/+7
Add the reserved boot mode used in the bmode command for i.MX 6UL and 6ULL as introduced in commit 3fd9579085fa ("imx: mx6ull: fix USB bmode for i.MX 6UL and 6ULL"). Also replace BMODE_UART with BMODE_RESERVED, which is more appropriate. Commit 96aac843b68d ("imx: Use IMX6_BMODE_* macros instead of numericals") added macros for boot modes, in the process the reserved boot mode got named BMODE_UART. We use the reserved boot mode in the bmode command to let the boot ROM enter serial downloader recovery mode. But this is only a side effect, the actual boot mode is reserved... Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2017-08-23pinctrl: imx7ulp: Add new info instance for iomuxc1Peng Fan1-3/+7
To i.MX7ULP, we need to create two info instances for iomux0 and iomux1 respectively, otherwise iomuxc0/1 will share one info instance and use one base, because imx_pinctrl_probe will use info to store base address and etc. But iomuxc0/1 actually have different base address. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefano Babic <sbabic@denx.de>
2017-08-23pinctrl: imx: Fix mask when SHARE_MUX_CONF_REG is setPeng Fan1-1/+1
when using SHARE_MUX_CONF_REG, wrong mask is used for writing config value, which causes mux value is cleared. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefano Babic <sbabic@denx.de>
2017-08-23imx: fix licensing in i.MX filesStefano Babic4-35/+4
Some files for i.MX do not yet have the SPDX ID to reference the correct license. Signed-off-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Wolfgang Denk <wd@denx.de>
2017-08-23imx: mx7: psci: add copyright and licensePeng Fan2-0/+14
Add copyright and license header. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2017-08-23apalis/colibri_imx6: enable SDP by defaultStefan Agner2-0/+8
Enable Serial Download Protocol (SDP) in SPL and U-Boot. This is useful to make use of imx_usb to download the complete U-Boot (u-boot.img) after SPL has been downloaded. The U-Boot command sdp allows to enumerate as SDP capable device again, e.g. to download a Linux kernel and/or U-Boot script. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-08-23apalis/colibri_imx6: use independent USB PID for SPLStefan Agner2-0/+26
Use a completely independent USB Product ID for SPL. This allows to differentiate a SDP running in SPL and SDP running in a U-Boot which could not read the config block successfully. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> Reviewed-by: Łukasz Majewski <lukma@denx.de>
2017-08-23doc: add Serial Download Protocol documentationStefan Agner1-0/+100
Document the U-Boot Serial Download Protocol implementation and some typical use cases. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Łukasz Majewski <lukma@denx.de>
2017-08-23spl: add serial download protocol (SDP) supportStefan Agner4-0/+45
Add USB serial download protocol support to SPL. If the SoC started in recovery mode the SPL will immediately switch to SDP and wait for further downloads/commands from the host side. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Łukasz Majewski <lukma@denx.de>
2017-08-23cmd: add sdp commandStefan Agner3-0/+58
Add a new command to start USB Serial Download Protocol (SDP) state machine. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Stefano Babic <sbabic@denx.de>
2017-08-23usb: gadget: sdp: extend images compatible for jumpsStefan Agner1-2/+18
Support U-Boot images in SPL so that u-boot.img files can be directly downloaded and executed. Furthermore support U-Boot scripts download and execution in full U-Boot so that custom recovery actions can be downloaded from the host in a third step. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Łukasz Majewski <lukma@denx.de> Reviewed-by: Stefano Babic <sbabic@denx.de>
2017-08-23usb: gadget: add SDP driverStefan Agner4-0/+745
Add SDP (Serial Downloader Protocol) implementation for U-Boot. The protocol is used in NXP SoC's boot ROM and allows to download program images. Beside that, it can also be used to read/write registers and download complete Device Configuration Data (DCD) sets. This basic implementation supports downloading images with the imx header format reading and writing registers. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Łukasz Majewski <lukma@denx.de>
2017-08-23imx: move imximage header to common locationStefan Agner1-0/+0
Move the imximage.h header file to a common location so we can make use of it from U-Boot too. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Łukasz Majewski <lukma@denx.de>
2017-08-22fastboot: Ensure we treat CONFIG_FASTBOOT_BUF_ADDR as longTom Rini1-1/+1
Otherwise: drivers/usb/gadget/f_fastboot.c:564:32: warning: format "%lx" expects argument of type "long unsigned int", but argument 3 has type "unsigned int" [-Wformat=] Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-21Merge git://www.denx.de/git/u-boot-marvellTom Rini1-1/+1
2017-08-21Merge git://git.denx.de/u-boot-usbTom Rini12-11/+23
2017-08-21Merge git://git.denx.de/u-boot-uniphierTom Rini50-1161/+57
- Fix unmet direct dependencies warning - Remove old sLD3 SoC support - Update reset data - Add dr_mode DT property to avoid warning
2017-08-21ARM: mvebu: set correct mem_size for db-88f6820-amcChris Packham1-1/+1
The db-88f6820-amc has four chips with 2Gb density giving a total of 1GB DRAM. Update the board_topology_map to reflect the correct configuration. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
2017-08-21doc: license: Add license header to the README.dfutftp fileLukasz Majewski1-0/+8
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2017-08-21fb_mmc.c: Correct blk_dread() return value checksTom Rini1-2/+2
The function blk_dread will return -ENOSYS on failure or on success the number of blocks read, which must be the number asked to read (otherwise it failed somewhere). Correct this check. Cc: Lukasz Majewski <lukma@denx.de> Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-21common/fb_mmc.c: Fix warnings about castsTom Rini1-2/+2
When building the flash zImage code on aarch64 we see warnings about pointer size casts. Use uintptr_t instead to correct these. Cc: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-By: Sam Protsenko <semen.protsenko@linaro.org>
2017-08-21fastboot: avoid printing invalid dataJohn Keeping1-1/+1
There is no guarantee that commands are null-terminated in the USB request buffer, so limit the length of data that is printed. Signed-off-by: John Keeping <john@metanate.com> Tested-by: Steve Rae <steve.rae@raedomain.com>
2017-08-21Fix fastboot boot addressPeter Chubb1-1/+1
Fastboot loads an image at CONFIG_FASTBOOT_BUF_ADDR, but currently tells do_bootm() to look for an image at $loadaddr. This breaks if CONFIG_FASTBOOT_BUF_ADDR is different from the current user-set loadaddr. Instead, tell do_bootm() to pick up the image where it was laoded. Signed-off-by: Peter Chubb <peter.chubb@data61.csiro.au> Reviewed-by: Tom Rini <trini@konsulko.com> Acked-by: Steve Rae <steve.rae@raedomain.com>
2017-08-21usb: ehci: Convert CONFIG_USB_EHCI_PCI to KconfigBin Meng9-5/+9
This converts CONFIG_USB_EHCI_PCI to a Kconfig option, and updates all boards that use it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-20env: Replace all open-coded gd->env_valid values with ENV_ flagsSimon Glass6-18/+18
Some of these were missed in the conversion. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-20env: Allow env_load() to detect errorsSimon Glass1-1/+1
Now that we have errors available in the environment driver's load() method, check the return valid. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-20env: Correct case of no sub-init functionTom Rini2-1/+14
With the change to the environment code to remove the common init stage of pointing to the default environment and setting it as valid, combined with the change to switch gd->env_valid from 0/1/2 to an enum we now must set env_valid to one of the enum values rather than an int. And in this case, not only was setting it to an int wrong, it was now the wrong value. Finally, in the case of ENV_IS_NOWHERE we must still say that our envionrment is invalid after init for things to continue to function. Fixes: 7938822a6b75 ("env: Drop common init() functions") Tested-by: Marek Vasut <marek.vasut@gmail.com> Reported-by: Marek Vasut <marek.vasut@gmail.com> Reported-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com> --- Changes in v3: - Actually include changes for env/nowhere.c
2017-08-20ARM: dts: uniphier: add dr_mode property to dwc3 nodeMasahiro Yamada4-0/+7
Since commit 576e3cc700c5 ("usb: host: xhci-dwc3: Add dual role mode support from DT"), warning is displayed if dr_mode is not specified. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-20reset: uniphier: refactor reset data and add NAND/eMMC reset linesMasahiro Yamada1-46/+17
- Merge sys_reset data of LD4, Pro4, sLD8 and Pro5 - Merge sys_reset data of LD11 and LD20 - Use primitive UNIPHIER_RESETX() macro because bit assignments for system reset will be changed for every SoC in the future - Add NAND and eMMC resets Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-20Revert "ARM: uniphier: fix ROM boot mode for PH1-sLD3"Masahiro Yamada1-5/+0
This reverts commit 82d075e79fa509ffb8ecd8dd2dc216929d6e8289. Commit 82d075e79fa5 ("ARM: uniphier: fix ROM boot mode for PH1-sLD3") was a workaround for sLD3. Now the sLD3 SoC support has been removed. Revert it to allow to simplify the init code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-20Revert "ARM: uniphier: move lowlevel debug init code after page table switch"Masahiro Yamada1-4/+4
This reverts commit bcc51c1512a3deb6a9fdd37362c6dde32ad3da23. Commit bcc51c1512a3 ("ARM: uniphier: move lowlevel debug init code after page table switch") was intended to support lowlevel debug for sLD3. Now the sLD3 SoC support has been removed. Revert it to allow to enable lowlevel debug earlier. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-20ARM: uniphier: remove sLD3 SoC supportMasahiro Yamada44-1105/+30
This SoC is too old. It is difficult to maintain any longer. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-20clk: uniphier: fix unmet direct dependencies warningMasahiro Yamada2-4/+2
Since commit f0776a551764 ("spl: dm: Kconfig: SPL_CLK depends on SPL_DM"), the following warning is displayed: $ make uniphier_v8_defconfig warning: (ARCH_ZYNQ && ARCH_ZYNQMP && STM32F7 && CLK_UNIPHIER) selects SPL_CLK which has unmet direct dependencies (CLK && SPL_DM) While I am here, I am removing the prompt to make it user-unconfigurable option so that "select CLK_UNIPHIER" can be omitted. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-20Fix 'notes' typosAnatolij Gustschin2-3/+3
s/notes/nodes Signed-off-by: Anatolij Gustschin <agust@denx.de>
2017-08-20env: Sort selection of default choicesAndy Shevchenko1-3/+3
It would be easier to catch out which platform is using which default. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2017-08-20arm, at91: fix taurus boardHeiko Schocher1-0/+1
since commit: b529993e0222 "spl: add hierarchical defaults for SPL_LDSCRIPT" taurus board stopped working. Use the ldscript from arch/arm/cpu/u-boot-spl.lds (as before this patch) fixed it. Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2017-08-20common/board_f.c: remove CONFIG_SYS_GENERIC_GLOBAL_DATAThomas Petazzoni3-34/+0
CONFIG_SYS_GENERIC_GLOBAL_DATA is no longer used by any board or platform, so support for it can be dropped. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Vladimir Zapolskiy <vz@mleia.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-20ARM: hisilicon: hikey: Fix eMMC with latest ATF & U-BootPeter Griffin1-2/+37
ATF can leave the MMC IP in a state where U-Boot mmc driver can't enumerate the eMMC. This patch provides a mmc0_reset_clk() function like we already so do sd card controller which resets the IP when entering U-Boot. With this patch applied eMMC partitions are successfully enumerated again. => mmc dev 0 switch to partitions #0, OK mmc0(part 0) is current device => mmc part Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000800 0x00000fff "vrl" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 496847ab-56a1-4cd5-a1ad-47f4acf055c9 2 0x00001000 0x000017ff "vrl_backup" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 61a36fc1-8efb-4899-84d8-b61642efa723 3 0x00001800 0x00001fff "mcuimage" <snip> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2017-08-20fs/fat: Correct blk_dread() return value checkTom Rini1-1/+1
The function blk_dread will return -ENOSYS on failure or on success the number of blocks read, which must be the number asked to read (otherwise it failed somewhere). Correct this check. Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-20spl: spl_mmc.c Correct blk_dread() return value checkTom Rini1-1/+1
The function blk_dread will return -ENOSYS on failure or on success the number of blocks read, which must be the number asked to read (otherwise it failed somewhere). Correct this check. Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-20cmd/read.c: Fix checking blk_dread return valueTom Rini1-1/+1
The function blk_dread will return -ENOSYS on failure or on success the number of blocks read, which must be the number asked to read (otherwise it failed somewhere). Correct this check. Reported-by: Coverity (CID: 166335) Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-20mtdparts: Fix various issues reported by CoverityTom Rini1-15/+18
Now that sandbox is building cmd/mtdparts.c Coverity has looked at the code and found a number of issues. In index_partitions() it is possible that part will be NULL, so re-work the checks and debug statements to take this into account. We have a number of string buffers that we print to in the exact size of, and use string functions on, so we need to ensure they are large enough to be NULL terminated. In device_parse() it is not possible for num_partitions to be 0 (we would have hit a different error first) so remove logically dead code. Finally, in parse_mtdparts() if we have an error we need to free the memory allocated to dev. Cc: Lothar Waßmann <LW@KARO-electronics.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Reported-by: Coverity (CID: 166334, 166333, 166332, 166329, 166328) Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-20hash: Compile only hardware or software versions of SHA algorithmsTom Rini1-51/+44
Commit 089df18bfe9d ("lib: move hash CONFIG options to Kconfig") moved CONFIG_SHA1, CONFIG_SHA256, CONFIG_SHA_HW_ACCEL, and CONFIG_SHA_PROG_HW_ACCEL config options to Kconfig. So in the case of SPL, CONFIG_SPL_HASH_SUPPORT enables CONFIG_SHA1 and CONFIG_SHA256 which enables SHA SW library by default. But in the case of platforms with SHA HW library support, SHA SW library becomes redundant and increases size of SPL by approx 18K. Rework the code so that we have named members and only have either software or hardware versions of the algorithm, depending on the relevant config options. Update the comment around hash_algo to reflect this as well. Reported-by: Sumit Garg <sumit.garg@nxp.com> Cc: Sumit Garg <sumit.garg@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Sumit Garg <sumit.garg@nxp.com>
2017-08-20Makefile: honor PYTHON configuration properlyClément Bœsch3-3/+3
On some systems `python` is `python3` (for instance, Archlinux). The `PYTHON` variable can be used to point to `python2` to have a successful build. The use of `PYTHON` is currently limited in the Makefile and needs to be extended in other places: First, pylibfdt is required to be a Python 2 binding (binman imports pylibfdt and is only compatible Python 2), so its setup.py needs to be called accordingly. An alternative would be to change the libfdt setup.py shebang to python2, but the binding is actually portable. Also, it would break on system where there is no such thing as `python2`. Secondly, the libfdt import checks need to be done against Python 2 as well since the Python 2 compiled modules (in this case _libdft.so) can not be imported from Python 3. Note on the libfdt imports: "@if ! PYTHONPATH=tools $(PYTHON) -c 'import libfdt'; then..." is probably simpler than the currently sub-optimal pipe. Reviewed-by: Jonathan Gray <jsg@jsg.id.au>
2017-08-19Merge git://git.denx.de/u-boot-videoTom Rini1-1/+2
2017-08-19lcd: avoid possible NULL dereferencexypron.glpk@gmx.de1-1/+2
Do not dereference bmp before the check if it is NULL. The problem was indicated by cppcheck. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2017-08-18Merge tag 'signed-efi-next' of git://github.com/agraf/u-bootTom Rini5-8/+11
EFI Fixes for 2017.09: - Fix GOP w/o display - Fix LocateHandle - Fix exit return value truncation - Fix missing EFIAPI in efi_locate_handle (for x86)
2017-08-18Merge branch 'master' of git://git.denx.de/u-boot-mmcTom Rini67-1036/+1511