| 3a1a18ff | 28-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Add support for Intel Minnowboard Max
This is a relatively low-cost x86 board in a small form factor. The main peripherals are uSD, USB, HDMI, Ethernet and SATA. It uses an Atom 3800 series CPU
x86: Add support for Intel Minnowboard Max
This is a relatively low-cost x86 board in a small form factor. The main peripherals are uSD, USB, HDMI, Ethernet and SATA. It uses an Atom 3800 series CPU. So far only the dual core 2GB variant is supported.
This uses the existing FSP support. Binary blobs are required to make this board work. The microcode update is included as a patch (all 3000 lines of it).
Change-Id: I0088c47fe87cf08ae635b343d32c332269062156 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 447f8b01 | 28-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Allow a UART to be set up before the FSP is ready
Since the FSP is a black box it helps to have some sort of debugging available to check its inputs. If the debug UART is in use, set it up afte
x86: Allow a UART to be set up before the FSP is ready
Since the FSP is a black box it helps to have some sort of debugging available to check its inputs. If the debug UART is in use, set it up after CAR is available.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 82196cf3 | 28-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Adjust the FSP types slightly
To avoid casts, find_fsp_header() should return a pointer. Add asmlinkage to two API functions which use that convention. UPD_TERMINATOR is common so move it into
x86: Adjust the FSP types slightly
To avoid casts, find_fsp_header() should return a pointer. Add asmlinkage to two API functions which use that convention. UPD_TERMINATOR is common so move it into a common file.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 1021af4d | 28-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Move common FSP code into a common location
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> |
| 2d934e57 | 28-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Rename MMCONF_BASE_ADDRESS and make it common across x86
This setting will be used by more than just ivybridge so make it common.
Also rename it to PCIE_ECAM_BASE which is a more descriptive n
x86: Rename MMCONF_BASE_ADDRESS and make it common across x86
This setting will be used by more than just ivybridge so make it common.
Also rename it to PCIE_ECAM_BASE which is a more descriptive name.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 191c008a | 20-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Implement a cache for Memory Reference Code parameters
The memory reference code takes a very long time to 'train' its SDRAM interface, around half a second. To avoid this delay on every boot w
x86: Implement a cache for Memory Reference Code parameters
The memory reference code takes a very long time to 'train' its SDRAM interface, around half a second. To avoid this delay on every boot we can store the parameters from the last training sessions to speed up the next.
Add an implementation of this, storing the training data in CMOS RAM and SPI flash.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| b18c68d8 | 20-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Use ipchecksum from net/
The existing IP checksum function is only accessible to the 'coreboot' cpu. Drop it in favour of the new code in the network subsystem.
Signed-off-by: Simon Glass <sjg
x86: Use ipchecksum from net/
The existing IP checksum function is only accessible to the 'coreboot' cpu. Drop it in favour of the new code in the network subsystem.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 3b621cca | 22-Jan-2015 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Test mtrr support flag before accessing mtrr msr
On some x86 processors (like Intel Quark) the MTRR registers are not supported. This is reflected by the CPUID (EAX 01H) result EDX[12]. Accessi
x86: Test mtrr support flag before accessing mtrr msr
On some x86 processors (like Intel Quark) the MTRR registers are not supported. This is reflected by the CPUID (EAX 01H) result EDX[12]. Accessing the MTRR registers on such processors will cause #GP so we must test the support flag before accessing MTRR MSRs.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 49491669 | 22-Jan-2015 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Save mtrr support flag in global data
CPUID (EAX 01H) returns MTRR support flag in EDX bit 12. Probe this flag in x86_cpu_init_f() and save it in global data.
Signed-off-by: Bin Meng <bmeng.cn
x86: Save mtrr support flag in global data
CPUID (EAX 01H) returns MTRR support flag in EDX bit 12. Probe this flag in x86_cpu_init_f() and save it in global data.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| bdc88d4e | 30-Dec-2014 |
Simon Glass <sjg@chromium.org> |
x86: Support ROMs on other archs
We shouldn't assume that the VGA ROM can always be loaded at c0000. This is only true on x86 machines.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bi
x86: Support ROMs on other archs
We shouldn't assume that the VGA ROM can always be loaded at c0000. This is only true on x86 machines.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| b2439aec | 06-Jan-2015 |
Bin Meng <bmeng.cn@gmail.com> |
x86: fsp: Drop get_hob_type() and get_hob_length()
These two are not worth having separate inline functions as they are really simple, so drop them.
Also changed 'type' parameter of fsp_get_next_ho
x86: fsp: Drop get_hob_type() and get_hob_length()
These two are not worth having separate inline functions as they are really simple, so drop them.
Also changed 'type' parameter of fsp_get_next_hob() from u16 to uint.
Suggested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| c72f74e2 | 01-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: ivybridge: Update microcode early in boot
At present the normal update (which happens much later) does not work. This seems to have something to do with the 'no eviction' mode in the CAR, or at
x86: ivybridge: Update microcode early in boot
At present the normal update (which happens much later) does not work. This seems to have something to do with the 'no eviction' mode in the CAR, or at least moving the microcode update after that causes it not to work.
For now, do an update early on so that it definitely works. Also refuse to continue unless the microcode update check (later in boot) is successful.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| aff2523f | 01-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Add support for MTRRs
Memory Type Range Registers are used to tell the CPU whether memory is cacheable and if so the cache write mode to use.
Clean up the existing header file to follow style,
x86: Add support for MTRRs
Memory Type Range Registers are used to tell the CPU whether memory is cacheable and if so the cache write mode to use.
Clean up the existing header file to follow style, and remove the unneeded code.
These can speed up booting so should be supported. Add these to global_data so they can be requested while booting. We will apply the changes during relocation (in a later commit).
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 6c911c43 | 01-Jan-2015 |
Simon Glass <sjg@chromium.org> |
x86: Drop RAMTOP Kconfig
We don't need this in U-Boot since we calculate it based on available memory.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> |
| 949dbc12 | 30-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Simplify the fsp hob access functions
Remove the troublesome union hob_pointers so that some annoying casts are no longer needed in those hob access routines. This also improves the readability
x86: Simplify the fsp hob access functions
Remove the troublesome union hob_pointers so that some annoying casts are no longer needed in those hob access routines. This also improves the readability.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 8f9052fd | 30-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
pci: Make pci apis usable before relocation
Introduce a gd->hose to save the pci hose in the early phase so that apis in drivers/pci/pci.c can be used before relocation. Architecture codes need assi
pci: Make pci apis usable before relocation
Introduce a gd->hose to save the pci hose in the early phase so that apis in drivers/pci/pci.c can be used before relocation. Architecture codes need assign a valid gd->hose in the early phase.
Some variables are declared as static so change them to be either stack variable or global data member so that they can be used before relocation, except the 'indent' used by CONFIG_PCI_SCAN_SHOW which just affects some print format.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 255fd5ca | 17-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Clean up the FSP support codes
This is the follow-on patch to clean up the FSP support codes:
- Remove the _t suffix on the structures defines - Use __packed for structure defines - Use U-Boot
x86: Clean up the FSP support codes
This is the follow-on patch to clean up the FSP support codes:
- Remove the _t suffix on the structures defines - Use __packed for structure defines - Use U-Boot's assert() - Use standard bool true/false - Remove read_unaligned64() - Use memcmp() in the compare_guid() - Remove the cast in the memset() call - Replace some magic numbers with macros - Use panic() when no valid FSP image header is found - Change some FSP utility routines to use an fsp_ prefix - Add comment blocks for asm_continuation and fsp_init_done - Remove some casts in find_fsp_header() - Change HOB access macros to static inline routines - Add comments to mention find_fsp_header() may be called in a stackless environment - Add comments to mention init(¶ms) in fsp_init() cannot be removed
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| adfe3b24 | 17-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: crownbay: Add SPI flash support
The Crown Bay board has an SST25VF016B flash connected to the Tunnel Creek processor SPI controller used as the BIOS media where U-Boot is stored. Enable this fl
x86: crownbay: Add SPI flash support
The Crown Bay board has an SST25VF016B flash connected to the Tunnel Creek processor SPI controller used as the BIOS media where U-Boot is stored. Enable this flash support.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| b71eec31 | 17-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: ich6-gpio: Add Intel Tunnel Creek GPIO support
Intel Tunnel Creek GPIO register block is compatible with current ich6-gpio driver, except the offset and content of GPIO block base address regis
x86: ich6-gpio: Add Intel Tunnel Creek GPIO support
Intel Tunnel Creek GPIO register block is compatible with current ich6-gpio driver, except the offset and content of GPIO block base address register in the LPC PCI configuration space are different.
Use u16 instead of u32 to store the 16-bit I/O address of the GPIO registers so that it could support both Ivybridge and Tunnel Creek.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| b2e02d28 | 17-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Add basic support to queensbay platform and crownbay board
Implement minimum required functions for the basic support to queensbay platform and crownbay board.
Currently the implementation is
x86: Add basic support to queensbay platform and crownbay board
Implement minimum required functions for the basic support to queensbay platform and crownbay board.
Currently the implementation is to call fsp_init() in the car_init(). We may move that call to cpu_init_f() in the future.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| e6126a58 | 03-Dec-2014 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
x86: move arch-specific asmlinkage to <asm/linkage.h>
Commit 65dd74a674d6 (x86: ivybridge: Implement SDRAM init) introduced x86-specific asmlinkage into arch/x86/include/asm/config.h.
Commit ed0a2f
x86: move arch-specific asmlinkage to <asm/linkage.h>
Commit 65dd74a674d6 (x86: ivybridge: Implement SDRAM init) introduced x86-specific asmlinkage into arch/x86/include/asm/config.h.
Commit ed0a2fbf14f7 (x86: Add a definition of asmlinkage) added the same macro define again, this time, into include/common.h. (Please do not add arch-specific stuff to include/common.h any more; it is already too cluttered.)
The generic asmlinkage is defined in <linux/linkage.h>. If you want to override it with an arch-specific one, the best way is to add it to <asm/linkage.h> like Linux Kernel.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
show more ...
|
| bceb9f0f | 12-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Support Intel FSP initialization path in start.S
Per Intel FSP architecture specification, FSP provides 3 routines for bootloader to call. The first one is the TempRamInit (aka Cache-As-Ram ini
x86: Support Intel FSP initialization path in start.S
Per Intel FSP architecture specification, FSP provides 3 routines for bootloader to call. The first one is the TempRamInit (aka Cache-As-Ram initialization) and the second one is the FspInit which does the memory bring up (like MRC for other x86 targets) and chipset initialization. Those two routines have to be called before U-Boot jumping to board_init_f in start.S.
The FspInit() will return several memory blocks called Hand Off Blocks (HOBs) whose format is described in Platform Initialization (PI) specification (part of the UEFI specication) to the bootloader. Save this HOB address to the U-Boot global data for later use.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 95a5a474 | 12-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Add post failure codes for bist and car
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org> |
| 8e04d4c5 | 12-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: queensbay: Adapt FSP support codes
Use inline assembly codes to call FspNotify() to make sure parameters are passed on the stack as required by the FSP calling convention.
Signed-off-by: Bin M
x86: queensbay: Adapt FSP support codes
Use inline assembly codes to call FspNotify() to make sure parameters are passed on the stack as required by the FSP calling convention.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 752a0b08 | 12-Dec-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Initial import from Intel FSP release for Queensbay platform
This is the initial import from Intel FSP release for Queensbay platform (Tunnel Creek processor and Topcliff Platform Controller Hu
x86: Initial import from Intel FSP release for Queensbay platform
This is the initial import from Intel FSP release for Queensbay platform (Tunnel Creek processor and Topcliff Platform Controller Hub), which can be downloaded from Intel website.
For more details, check http://www.intel.com/fsp.
Note: U-Boot coding convention was applied to these codes, so it looks completely different from the original Intel release. Also update FSP support codes license header to use SPDX ID.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|