summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* doc: Add info on using secure devices from TIDaniel Allred2016-05-27-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | Adds doc/README.ti-secure file to explain in generic terms how boot images need to be created for secure devices from Texas Instruments. Specific details for creating secure boot images for the AM43xx, DRA7xx and AM57xx secure devices from Texas Instruments are also provided in the README file. Secure devices require a security development package (SECDEV) package that can be downloaded from: http://www.ti.com/mysecuresoftware Login is required and access is granted under appropriate NDA and export control restrictions. Signed-off-by: Madan Srinivas <madans@ti.com> Signed-off-by: Daniel Allred <d-allred@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* Delete tests of CONFIG_OF_LIBFDT when testing CONFIG_OF_BOARD_SETUPRobert P. J. Day2016-05-27-58/+58
| | | | | | | | | | | | | | | | Since CONFIG_OF_BOARD_SETUP depends on CONFIG_OF_LIBFDT: config OF_BOARD_SETUP bool "Set up board-specific details in device tree before boot" depends on OF_LIBFDT ... remove superfluous tests of CONFIG_OF_LIBFDT when testing for CONFIG_OF_BOARD_SETUP. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> [trini: Typo fix: s/ifdefi/ifdef/] Signed-off-by: Tom Rini <trini@konsulko.com>
* test/py: Support setting up specific timeoutMichal Simek2016-05-27-0/+31
| | | | | | | | | | | | | | Large file transfers, flash erasing and more complicated tests requires more time to finish. Provide a way to setup specific timeout directly in test. For example description for 50s test: timeout = 50000 with u_boot_console.temporary_timeout(timeout): u_boot_console.run_command(...) Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Stephen Warren <swarren@nvidia.com>
* efi_loader: gop: Don't expose fb addressAlexander Graf2016-05-27-3/+0
| | | | | | | | | | | | | | | | | | Recently Linux is gaining support for efifb on AArch64 and that support actually tries to make use of the frame buffer address we expose to it via gop. While this wouldn't be bad in theory, in practice it means a few bad things 1) We expose 16bit frame buffers as 32bit today 2) Linux can't deal with overlapping non-PCI regions between efifb and a different frame buffer driver For now, let's just disable exposure of the frame buffer address. Most OSs that get booted will have a native driver for the GPU anyway. Signed-off-by: Alexander Graf <agraf@suse.de> [trini: Remove line_len entirely] Signed-off-by: Tom Rini <trini@konsulko.com>
* efi_loader: Clean up system table on exitAlexander Graf2016-05-27-0/+16
| | | | | | | | | | | | We put the system table into our runtime services data section so that payloads may still access it after exit_boot_services. However, most fields in it are quite useless once we're in that state, so let's just patch them out. With this patch we don't get spurious warnings when running EFI binaries anymore. Signed-off-by: Alexander Graf <agraf@suse.de>
* tools/env: no global variable sharing between application and libraryAndreas Fenkart2016-05-27-55/+48
| | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* MARVELL: Delete now-superfluous board/Marvell/{common, include} dirs.Robert P. J. Day2016-05-27-2450/+0
| | | | | | | With dropping support for some boards and the deletion of some source files, it appears that both of these directories are now superfluous. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
* Drop HAVE_GENERIC_BOARD and SYS_GENERIC_BOARD optionsSimon Glass2016-05-27-32/+0
| | | | | | | | These are no longer used. The migration is complete. Drop these options. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Angelo Dureghello <angelo@sysam.it> Acked-by: Andreas Bießmann <andreas@biessmann.org>
* Drop references to CONFIG_SYS_GENERIC_BOARD in config filesSimon Glass2016-05-27-9/+0
| | | | | | This option is no longer used so need not be enabled. Signed-off-by: Simon Glass <sjg@chromium.org>
* Drop use of CONFIG_SYS_GENERIC_BOARD in U-BootSimon Glass2016-05-27-10/+3
| | | | | | | | This option is always enabled and is about to be removed. Drop references to it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Andreas Bießmann <andreas@biessmann.org>
* powerpc: Drop unused code related to generic boardSimon Glass2016-05-27-122/+1
| | | | | | Since generic board init is enabled, this is not used. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* mips: Drop unused code in u-boot.hSimon Glass2016-05-27-16/+0
| | | | | | | Since generic board init is enabled, this is not used. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
* m68k: Drop unused code in u-boot.hSimon Glass2016-05-27-39/+0
| | | | | | | Since generic board init is enabled, this is not used. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Angelo Dureghello <angelo@sysam.it>
* avr32: Drop unused code in u-boot.hSimon Glass2016-05-27-20/+0
| | | | | | | Since generic board init is enabled, this is not used. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Andreas Bießmann <andreas@biessmann.org>
* sh: Drop the arch-specific board initSimon Glass2016-05-27-190/+2
| | | | | | | | | It is well past the deadline for conversion to generic board init. Remove the old code. Please test this and perhaps send a follow-up patch if needed. Signed-off-by: Simon Glass <sjg@chromium.org>
* sh: Fix build errors for generic boardSimon Glass2016-05-27-19/+36
| | | | | | | | | | | | This includes the following fixes: - Define needed __init_end symbol - see initr_reloc_global_data() - Drop SH-specific struct bd_info - Add an empty relocate_code() function This prevents build errors with generic board, but the code will still need work. Perhaps this is a better alternative than deleting the code. Signed-off-by: Simon Glass <sjg@chromium.org>
* board_f: Don't require CONFIG_SYS_MONITOR_BASESimon Glass2016-05-27-1/+1
| | | | | | | Allow this to be unset, such that gd->mon_len is invalid. This seems to be what the sh architecture does. Signed-off-by: Simon Glass <sjg@chromium.org>
* Remove/update old generic-board documentation and warningSimon Glass2016-05-27-94/+8
| | | | | | | | Remove the warning from the Makefile, since boards that do not use generic board will no longer build. Also update documentation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Andreas Bießmann <andreas@biessmann.org>
* openrisc: Drop the arch-specific board initSimon Glass2016-05-27-141/+1
| | | | | | | | | It is well past the deadline for conversion to generic board init. Remove the old code. Stefan, can you test this please and perhaps send a follow-up patch if needed? Signed-off-by: Simon Glass <sjg@chromium.org>
* usb: dwc3: Makefile: Don't build gadget code if USB_GADGET is disabledRoger Quadros2016-05-27-1/+1
| | | | | | | It is pointless to build gadget driver if USB_GADGET is disabled. Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Marek Vasut <marex@denx.de>
* net: Optionally use pxe client arch from variableAlexander Graf2016-05-27-7/+15
| | | | | | | | | | | | The client architecture that we pass to a dhcp server depends on the target payload that we want to execute. An EFI binary has a different client arch than a legacy binary or a u-boot binary. So let's parameterize the pxe client arch field to allow an override via the distro script, so that our efi boot path can tell the dhcp server that it's actually an efi firmware. Signed-off-by: Alexander Graf <agraf@suse.de>
* efi_loader: Select bounce buffers for known-bad boardsAlexander Graf2016-05-27-0/+14
| | | | | | | | We know for certain that we have 32bit DMA hardware, but 64bit addresses on LS2085A and ZynqMP, so let's enable EFI bounce buffers for all defconfigs on these SoCs. Signed-off-by: Alexander Graf <agraf@suse.de>
* efi_loader: Add bounce buffer supportAlexander Graf2016-05-27-9/+91
| | | | | | | | | | | | Some hardware that is supported by U-Boot can not handle DMA above 32bits. For these systems, we need to come up with a way to expose the disk interface in a safe way. This patch implements EFI specific bounce buffers. For non-EFI cases, this apparently was no issue so far, since we can just define our environment variables conveniently. Signed-off-by: Alexander Graf <agraf@suse.de>
* cosmetic: debug: Replace #ifdef DEBUG with debug() macroLukasz Majewski2016-05-27-3/+2
| | | | | | Replace #ifdef DEBUG with dedicated debug() macro. Signed-off-by: Lukasz Majewski <l.majewski@majess.pl>
* arm: meson: implement calls to secure monitorBeniamino Galvani2016-05-27-1/+87
| | | | | | Implement calls to secure monitor to read the MAC address from e-fuse. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
* arm: add initial support for Amlogic Meson and ODROID-C2Beniamino Galvani2016-05-27-0/+803
| | | | | | | | | | | | This adds platform code for the Amlogic Meson GXBaby (S905) SoC and a board definition for ODROID-C2. This initial submission only supports UART and Ethernet (through the existing Designware driver). DTS files are the ones submitted to Linux arm-soc for 4.7 [1]. [1] https://patchwork.ozlabs.org/patch/603583/ Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* net: designware: fix descriptor layout and warnings on 64-bit archsBeniamino Galvani2016-05-27-29/+34
| | | | | | | | | | | | | All members of the DMA descriptor must be 32-bit, even on 64-bit architectures: change the type to u32 to ensure this. Also, fix other warnings. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org> [trini: Use phys_addr_t not unsigned long long to test that we're within DMA'able memory] Signed-off-by: Tom Rini <trini@konsulko.com>
* arm: implement generic PSCI reset call for armv8Beniamino Galvani2016-05-27-1/+34
| | | | | | | | | Add a psci_system_reset() which calls the SYSTEM_RESET function of PSCI 0.2 and can be used by boards that support it to implement reset_cpu(). Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* distro: Add efi pxe boot codeAlexander Graf2016-05-27-3/+57
| | | | | | | | | | | | | | | | | | Now that we can expose network functionality to EFI applications, the logical next step is to load them via pxe to execute them as well. This patch adds the necessary bits to the distro script to automatically load and execute EFI payloads. It identifies the dhcp client as a uEFI capable PXE client, hoping the server returns a tftp path to a workable EFI binary that we can then execute. To enable boards that don't come with a working device tree preloaded, this patch also adds support to load a device tree from the /dtb directory on the remote tftp server. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Tom Rini <trini@konsulko.com>
* net: Move CONFIG_SPL_NET_VCI_STRING into KconfigAlexander Graf2016-05-27-0/+19
| | | | | | | This patch also adds the SPL time VCI string into Kconfig. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Tom Rini <trini@konsulko.com>
* net: Fix client identifiers for ARMAlexander Graf2016-05-27-2/+2
| | | | | | | | | | | | | | There are client identifiers specifically reserved for ARM U-Boot according to http://www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml#processor-architecture. So let's actually make use of them rather than the bogus 0x100 that we emitted so far. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Tom Rini <trini@konsulko.com> [trini: Drop the Xilinx define to 0x100 as it's not the correct value to use]. Signed-off-by: Tom Rini <trini@konsulko.com>
* net: Move the VCI and client arch values to KconfigAlexander Graf2016-05-27-30/+21
| | | | | | | | | | | | | We have a bunch of boards that define their vendor class identifier and client archs in the board files or in the distro config. Move everything to the generic Kconfig options. We're missing the distinction between i386 and x86_64, as I couldn't find any config variable that would tell us the difference. Is that really important to people? I guess not, so I left it out. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Tom Rini <trini@konsulko.com>
* bootp: Move vendor class identifier set to functionAlexander Graf2016-05-27-13/+13
| | | | | | | | | Both the dhcp as well as the bootp case add vendor class identifier parameters into their packets. Let's move that into a separate function to make overlaying easier. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Tom Rini <trini@konsulko.com>
* efi_loader: Add network access supportAlexander Graf2016-05-27-3/+432
| | | | | | | | | | | | | We can now successfully boot EFI applications from disk, but users may want to also run them from a PXE setup. This patch implements rudimentary network support, allowing a payload to send and receive network packets. With this patch, I was able to successfully run grub2 with network access inside of QEMU's -M xlnx-ep108. Signed-off-by: Alexander Graf <agraf@suse.de>
* test/py: fix NameError exception if bdi cmd is not supportedHeiko Schocher2016-05-27-0/+1
| | | | | | | | | | | | test/py raises an error, if a board has not enabled bdi command > pytest.skip('bdinfo command not supported') E NameError: global name 'pytest' is not defined import pytest in test/py/u_boot_utils.py fixes this. Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Stephen Warren <swarren@nvidia.com>
* cmd: replace the cast of the memory access to a fixed bit type in itestKunihiko Hayashi2016-05-27-3/+3
| | | | | | | | | | | This patch fixes a bug that long word(.l) memory access in 'itest' command reads the 8bytes of the actual memory on 64-bit architecture. The cast to the memory pointer should use a fixed bit type. Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
* disk: part_efi: fix check of the max partition sizePatrick Delaunay2016-05-27-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the last value acceptable value for offset is last_usable_lba + 1 and not last_usable_lba - 1 issue found with SDCARD partition commands on u-boot 2015.10 but this part of code don't change 1- create GPT partion on all the card > gpt write mmc 0 name=test,start=0,size=0 > part list mmc 0 Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x003a9fde "test" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 type: data guid: b710eb04-45b9-e94a-8d0b-21458d596f54 => Start = 0x22*512 = 0x4400 => Size = (0x003a9fde-0x22+1) * 512 = 0x753F7A00 2- try to recreate the same partition with the next command (block size:512 bytes = 0x200) > gpt write mmc 0 name=test,start=0x4400,size=0x753F7A00 Writing GPT: Partitions layout exceds disk size > gpt write mmc 0 name=test,start=0x4400,size=0x753F7800 Writing GPT: Partitions layout exceds disk size > gpt write mmc 0 name=test,start=0x4400,size=0x753F7600 Writing GPT: success! Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x003a9fdc "test" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 type: data guid: 36ec30ef-7ca4-cd48-97cd-ea9fb95185d0 the max LBA when the size is indicated (0x003a9fdc) is lower than when u-boot compute the max allowed value with size=0 (0x003a9fde) in the code : /* partition ending lba */ if ((i == parts - 1) && (partitions[i].size == 0)) /* extend the last partition to maximuim */ gpt_e[i].ending_lba = gpt_h->last_usable_lba; else gpt_e[i].ending_lba = cpu_to_le64(offset - 1); so offset = gpt_h->last_usable_lba + 1 is acceptable ! but the test (offset >= last_usable_lba) cause the error END Signed-off-by: Patrick Delaunay <patrick.delaunay73@gmail.com>disk: part_efi: fix check of the max partition size the last value acceptable value for offset is (last_usable_lba + 1) and not (last_usable_lba - 1) issue found with SDCARD partition commands on u-boot 2015.10 but this part of code don't change 1- I create GPT partion on all the card (start and size undefined) > gpt write mmc 0 name=test,start=0,size=0 > part list mmc 0 Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x003a9fde "test" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 type: data guid: b710eb04-45b9-e94a-8d0b-21458d596f54 => Start = 0x22*512 = 0x4400 => Size = (0x003a9fde-0x22+1) * 512 = 0x753F7A00 2- I try to recreate the same partition with the command gpt write and with start and size values (block size:512 bytes = 0x200) > gpt write mmc 0 name=test,start=0x4400,size=0x753F7A00 Writing GPT: Partitions layout exceds disk size > gpt write mmc 0 name=test,start=0x4400,size=0x753F7800 Writing GPT: Partitions layout exceds disk size > gpt write mmc 0 name=test,start=0x4400,size=0x753F7600 Writing GPT: success! I check the partition created : > part list mmc 0 Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x003a9fdc "test" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 type: data guid: 36ec30ef-7ca4-cd48-97cd-ea9fb95185d0 => but the max LBA when the size is indicated (0x003a9fdc) is lower than when u-boot compute the max allowed value with size=0 (0x003a9fde) 3- in the code, just after my patch, line 446 /* partition ending lba */ if ((i == parts - 1) && (partitions[i].size == 0)) /* extend the last partition to maximuim */ gpt_e[i].ending_lba = gpt_h->last_usable_lba; else gpt_e[i].ending_lba = cpu_to_le64(offset - 1); so offset = gpt_h->last_usable_lba + 1 is acceptable ! (it the value used when size is 0) but today the test (offset >= last_usable_lba) cause the error my patch only solve this issue END Signed-off-by: Patrick Delaunay <patrick.delaunay73@gmail.com>
* cmd: disk: Fix unused variable warningMarek Vasut2016-05-27-1/+2
| | | | | | | | | | | | | | | | | | | If serial support is not compiled into U-Boot, which may be the case for some SPL builds, the following warning will be generated in disk.c: cmd/disk.c: In function 'common_diskboot': cmd/disk.c:16:6: warning: variable 'dev' set but not used [-Wunused-but-set-variable] int dev, part; ^ The warning is a result of printf() calls being optimized away, and thus the whole dev variable becomes indeed unused. Mark the variable as __maybe_unused . Signed-off-by: Marek Vasut <marex@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* SPL: FIT: Align loading address for headerMichal Simek2016-05-27-0/+1
| | | | | | | | If bl_len is not aligned it can caused a problem because another code expects that start is aligned. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* dm: gpio: pca953x: Support PCA953X with 40 GPIOsmario.six@gdsys.cc2016-05-27-3/+6
| | | | | | | | | | | A DM driver for PCA953x was recently introduced by Peng Fan, which lacked support for the 40 GPIO versions. This patch adds support for these chips. Signed-off-by: Mario Six <mario.six@gdsys.cc> Reviewed-by: Peng Fan <van.freenix@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* tools/env: compute size of usable area only onceAndreas Fenkart2016-05-27-14/+18
| | | | | | for double buffering to work, redundant buffers must have equal size Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools/env: fw_printenv pass value_only as argumentAndreas Fenkart2016-05-27-7/+7
| | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools/env: remove 'extern' from function prototype in fw_env.hAndreas Fenkart2016-05-27-8/+8
| | | | | | | checkpatch complains about in succeding patch. Prefer to fix all declarations in a dedicated patch. Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* tools/env: pass key as argument to env_aes_cbc_cryptAndreas Fenkart2016-05-27-6/+9
| | | | Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
* Merge branch 'master' of git://git.denx.de/u-boot-mipsTom Rini2016-05-25-1208/+230
|\
| * mips: ath79: ar933x: Avoid warning with gcc5Wills Wang2016-05-26-0/+2
| | | | | | | | | | | | | | | | GCC 5.3 report a warning: 'upper' and 'lower' may be used uninitialized in this function [-Wmaybe-uninitialized]. Compiler might need explicit initializer. Signed-off-by: Wills Wang <wills.wang@live.com>
| * mips: ath79: ar933x: Fix ethernet PHY mismatchWills Wang2016-05-26-1/+3
| | | | | | | | | | | | | | | | We need reset the Ethernet Switch analog part before operation, or the build-in Ethernet PHY don't work. Signed-off-by: Wills Wang <wills.wang@live.com> Acked-by: Marek Vasut <marex@denx.de>
| * mips: Drop JZ4740 remnantsMarek Vasut2016-05-26-1158/+0
| | | | | | | | | | | | | | | | Remove the remnants of JZ4740 support. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Paul Burton <paul.burton@imgtec.com>
| * mips: Allow overriding start.S in SPLMarek Vasut2016-05-26-0/+6
| | | | | | | | | | | | | | | | | | | | Certain chips, like the JZ47xx, have extreme size constraints on the SPL size and require custom start.S . Allow overriding the start.S the same way ARM MXS does it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Paul Burton <paul.burton@imgtec.com>
| * MIPS: Move CONFIG_SYS_TEXT_BASE to KconfigPaul Burton2016-05-26-24/+29
| | | | | | | | | | | | | | | | | | Move CONFIG_SYS_TEXT_BASE to Kconfig, and add default values in board Kconfig files matching what was present in their config headers. This will make it cleaner to conditionalise the value for Malta based on 32 vs 64 bit builds. Signed-off-by: Paul Burton <paul.burton@imgtec.com>