summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* patman: Handle non-ascii characters in namesChris Packham2017-02-081-1/+2
| | | | | | | | | When gathering addresses for the Cc list patman would encounter a UnicodeDecodeError due to non-ascii characters in the author name. Address this by explicitly using utf-8 when building the Cc list. Signed-off-by: Chris Packham <judge.packham@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* buildman: Allow showing the list of boards with -nSimon Glass2017-02-083-14/+17
| | | | | | | As well as showing the number of boards, allow showing the actual list of boards that would be built, if -v is provided. Signed-off-by: Simon Glass <sjg@chromium.org>
* cros_ec: i2c: Add support for version 3 of the EC protocolMoritz Fischer2017-02-081-0/+84
| | | | | | | | | | | | | Add support for version 3 of the ec protocol. It basically works by stitching some additional header in front (special command code), and having a result and packet_length stitched on for the reply. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com> Cc: Simon Glass <sjg@chromium.org> Cc: u-boot@lists.denx.de Acked-by: Simon Glass <sjg@chromium.org> Tested on snow: Tested-by: Simon Glass <sjg@chromium.org>
* simple-bus: enable support for of-platdataKever Yang2017-02-081-0/+4
| | | | | | | | | | Just do nothing in post_bind if of-platdata enabled, for there is no dm_scan_fdt_dev(). Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org> Fixed subject line typo: Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: core: Replace of_offset with accessorSimon Glass2017-02-08220-407/+445
| | | | | | | | | At present devices use a simple integer offset to record the device tree node associated with the device. In preparation for supporting a live device tree, which uses a node pointer instead, refactor existing code to access this field through an inline function. Signed-off-by: Simon Glass <sjg@chromium.org>
* patman: Format checkpatch messages for IDE throwbackSimon Glass2017-02-081-2/+3
| | | | | | | | | | | It is convenient to be able to deal with checkpatch warnings in the same way as build warnings. Tools such as emacs and kate can quickly locate the source file and line automatically. To achieve this, adjust the format to match the C compiler, and output to stderr. Signed-off-by: Simon Glass <sjg@chromium.org>
* dtoc: Replace dot with underscore to avoid compiler errorsSimon Glass2017-02-082-0/+6
| | | | | | | | | If there is a '.' in a compatible string, then dtoc will produce a struct with a name containing a '.'. This won't work, so replace it with '_'. Also add a suitable test to the sandbox device tree to catch this. Signed-off-by: Simon Glass <sjg@chromium.org>
* cros_ec: i2c: Group i2c write / read into single transactionMoritz Fischer2017-02-081-11/+15
| | | | | | | | | | | | | Replace dm_i2c_write() / dm_i2c_read() with transaction using struct i2c_msg[2] in order to allow for i2c controller to detect write/read cycle to emit a repeated start condition. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com> Cc: Simon Glass <sjg@chromium.org> Cc: u-boot@lists.denx.de Acked-by: Simon Glass <sjg@chromium.org> Tested on snow: Tested-by: Simon Glass <sjg@chromium.org>
* common: fdt_support: Remove check for mtdparts in fdt_fixup_mtdpartsLadislav Michl2017-02-081-5/+0
| | | | | | | | | fdt_fixup_mtdparts currently does nothing when partition info is runtime-generated or compiled-in defaults are used. Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Fix nits in commit message: Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: make LOAD_FROM_32_BIT visible for platformsAndy Shevchenko2017-02-072-10/+10
| | | | | | | | | | | This option is useful not only for development, but for the platforms where U-Boot is run from custom ROM bootloader. For example, Intel Edison is that board. Make this option visible that platforms can select it if needed. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: qemu: Add a config for 64-bit U-BootBin Meng2017-02-074-1/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new board config which uses 64-bit U-Boot. Supported features are the same as the other 64-bit board (Google Chromebook Link). It is a start for us to test 64-bit U-Boot easily without the need to access a real hardware. Note CONFIG_SPL_ENV_SUPPORT is required for QEMU 64-bit as without this the SPL build fails at the end. This is just a workaround as CONFIG_SPL_ENV_SUPPORT is not needed at all. common/built-in.o:(.data.env_htab+0xc): undefined reference to 'env_flags_validate' lib/built-in.o: In function `hsearch_r': lib/hashtable.c:380: undefined reference to 'env_callback_init' lib/hashtable.c:382: undefined reference to 'env_flags_init' make[1]: *** [spl/u-boot-spl] Error 1 Except those SPL options required by 64-bit, compared to 32-bit config, the following options are different: - CONFIG_SYS_MALLOC_F_LEN has to be increased to 0x1000 for SPL. - CONFIG_DEBUG_UART has to be included due to the weird issue. See TODO comments in arch/x86/cpu/x86_64/cpu.c:arch_setup_gd(). Once this issue gets fixed, debug uart can be optional. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: qemu: Add build options for SPLBin Meng2017-02-071-0/+9
| | | | | | | | | If SPL is used we want to use the generic SPL framework and boot from SPI via a board-specific means. Add these options to the board config file. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: qemu: Add a text base for 64-bit U-BootBin Meng2017-02-071-2/+2
| | | | | | | Set up the 64-bit U-Boot text base if building for that target. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* tools: binman: Handle optional microcode case in SPL imageBin Meng2017-02-071-0/+6
| | | | | | | | On platforms which do not require microcode in SPL, handle such case like U-Boot proper. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* tools: binman: Call correct init for Entry_u_boot_spl_with_ucode_ptrBin Meng2017-02-071-1/+1
| | | | | | | | u_boot_spl_with_ucode_ptr is derived from u_boot_with_ucode_ptr, hence it should call its parent's init. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: qemu: Mark ucode as optional for SPL in u-boot.dtsiBin Meng2017-02-071-0/+6
| | | | | | | | QEMU does not need ucode and this is indicated in u-boot.dtsi for U-Boot proper. Now add the same for SPL. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: qemu: Set up device tree for SPLBin Meng2017-02-072-0/+8
| | | | | | | | Add the correct pre-relocation tag so that the required device tree nodes are present in the SPL device tree. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: qemu: Fix compiler warnings for 64-bitBin Meng2017-02-072-4/+4
| | | | | | | This fixes compiler warnings for QEMU in 64-bit. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: qemu: Hide arch_cpu_init() and print_cpuinfo() for U-Boot properBin Meng2017-02-071-1/+4
| | | | | | | | arch_cpu_init() and print_cpuinfo() should be only available in SPL build. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: Compile irq.c for 64-bitBin Meng2017-02-071-1/+1
| | | | | | | There is no reason not to compile irq.c for 64-bit. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: spl: Add weak arch_cpu_init_dm()Bin Meng2017-02-071-0/+5
| | | | | | | | arch_cpu_init_dm() might not be implemented by every platform. Implement a weak version for SPL. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: Wrap print_ch() with config optionBin Meng2017-02-071-0/+2
| | | | | | | print_ch() should not be used if DEBUG_UART is off. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: qemu: Add missing DECLARE_GLOBAL_DATA_PTR in e820.cBin Meng2017-02-071-0/+2
| | | | | | | DECLARE_GLOBAL_DATA_PTR is missing which causes 64-bit build error. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: link: Add a config for 64-bit U-BootSimon Glass2017-02-074-1/+104
| | | | | | | | | | | | | | Add a new board config which uses 64-bit U-Boot. This is not fully functional but is it a start. Missing features: - SDRAM sizing - Booting linux - EFI support - SCSI device init (and others) Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Update compile/link flags to support 64-bit U-BootSimon Glass2017-02-072-4/+28
| | | | | | | Update config.mk settings to support both 32-bit and 64-bit U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: link: Add build options for SPLSimon Glass2017-02-071-0/+9
| | | | | | | | If SPL is used we want to use the generic SPL framework and boot from SPI via a board-specific means. Add these options to the board config file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: link: Set up device tree for SPLSimon Glass2017-02-072-3/+16
| | | | | | | | | | | | | Add the correct pre-relocation tag so that the required device tree nodes are present in the SPL device tree. On x86 it doesn't make a lot of sense to have a separate SPL device tree. Since everything is in the same ROM we might as well just use the main device tree in both SPL and U-Boot proper. But we haven't implemented that, so this is a good first step. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: link: Add SPL declarations to the binman imageSimon Glass2017-02-071-0/+19
| | | | | | | | When building for 64-bit we need to put an SPL binary into the image. Update the binman image description to reflect this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: link: Add a text base for 64-bit U-BootSimon Glass2017-02-071-1/+2
| | | | | | | Set up the 64-bit U-Boot text base if building for that target. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Add a dummy setjmp implementation for x86_64Simon Glass2017-02-072-1/+21
| | | | | | | | We don't have the code for this yet. Add a dummy version for now, so that EFI builds correctly. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Move setjmp to the i386 directorySimon Glass2017-02-073-3/+1
| | | | | | | | This code is only used in 32-bit mode. Move it so that it does not get built with 64-bit U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Move call64 to the i386 directorySimon Glass2017-02-073-1/+2
| | | | | | | | This code is only used in 32-bit mode. Move it so that it does not get built with 64-bit U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Change irq_already_routed to a local variableSimon Glass2017-02-071-4/+6
| | | | | | | This avoids using BSS before SDRAM is set up in SPL. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Move turbo_state to global_dataSimon Glass2017-02-072-4/+5
| | | | | | | | To avoid using BSS in SPL before SDRAM is set up, move this field to global_data. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Move pirq_routing_table to global_dataSimon Glass2017-02-072-7/+6
| | | | | | | | To avoid using BSS in SPL before SDRAM is set up, move this field to global_data. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Support jumping from SPL to U-BootSimon Glass2017-02-063-0/+76
| | | | | | | | Add a rough function to handle jumping from 32-bit SPL to 64-bit U-Boot. This still needs work to clean it up. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Drop interrupt support in 64-bit modeSimon Glass2017-02-061-0/+5
| | | | | | | This is not currently supported, so drop the code. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Don't try to boot Linux from SPLSimon Glass2017-02-061-0/+4
| | | | | | | | | | | Booting into linux from 64-bit U-Boot is not yet supported. Avoid bringing in the bootm code until it is implemented. Of course 32-bit U-Boot still supports booting into both 32- and 64-bit kernels. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Don't build 32-bit efi files on x86_64Simon Glass2017-02-061-0/+4
| | | | | | | These cannot be built in this mode, so drop them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Don't build cpu files which are not supported on 64-bitSimon Glass2017-02-061-1/+8
| | | | | | | | Some files cannot be built with 64-bit and mostly don't make sense in that context. Disable them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Don't build call64 and setjmp on 64-bitSimon Glass2017-02-062-1/+12
| | | | | | | | | These are currently not supported. Calling 64-bit code from 64-bit U-Boot is much simpler, so this code is not needed. setjmp() is not yet implemented for 64-bit. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Don't try to run the VGA BIOS in 64-bit modeSimon Glass2017-02-062-1/+3
| | | | | | | This is not supported, so disable it for now. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: ivybridge: Provide a dummy SDRAM init for 64-bitSimon Glass2017-02-063-0/+31
| | | | | | | | | | We don't support SDRAM init in 64-bit mode since it is essentially impossible to get into that mode before SDRAM set up. Provide dummy functions for now. At some point we will need to pass the SDRAM parameters through from SPL. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: ivybridge: Skip SATA init in SPLSimon Glass2017-02-061-0/+2
| | | | | | | This doesn't work at present. Disable it for now. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Fix up type sizes for 64-bitSimon Glass2017-02-062-0/+10
| | | | | | | Adjust types as needed to support 64-bit compilation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Drop flag_is_changable() on x86_64Simon Glass2017-02-061-0/+3
| | | | | | | | This doesn't build at present and is not used in a 64-bit build. Disable it for now. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Fix up byteorder.h for x86_64Simon Glass2017-02-061-8/+9
| | | | | | | Remove the very old x86 code and add support for 64-bit. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Add SPL build rules for start-up codeSimon Glass2017-02-061-1/+8
| | | | | | | | When SPL is used we need to build the 16-bit start-up code. Add Makefile rules to handle this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Add a link script for SPLSimon Glass2017-02-061-0/+74
| | | | | | | | If SPL is used it is always build in 32-bit mode. Add a link script to handle the correct placement of the sections. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Add a link script for 64-bit x86Simon Glass2017-02-062-0/+82
| | | | | | | | This needs a different image format from 32-bit x86, so add a new link script. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>