- Nov 25, 2014
-
-
Simon Glass authored
Intel's Graphics Media Accelerator (GMA) is a generic name for a wide range of video devices. Add code to set up the hardware on ivybridge. Part of the init happens in native code, part of it happens in a 16-bit option ROM for those nostalgic for the 1970s. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Some x86 machines require a binary blob containing 16-bit initialisation code for their video hardware. Allow this to be built into the x86 ROM so that it is accessible during boot. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a very simple driver which uses vesa to discover the video mode and then provides a frame buffer for use by U-Boot. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Anatolij Gustschin <agust@denx.de>
-
Simon Glass authored
Some platforms don't have native code for dealing with their video hardware. In some cases they use a binary blob to set it up and perform required actions like setting the video mode. This approach is a hangover from the old PC days where a ROM was provided and executed during startup. Even now, these ROMs are supplied as a way to set up video. It avoids the code for every video chip needing to be provided in the boot loader. But it makes the video much less flexible - e.g. it is not possible to do anything else while the video init is happening (including waiting hundreds of milliseconds for display panels to start up). In any case, to deal with this sad state of affairs, provide an API for execution of x86 video ROMs, either natively or through emulation. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
On x86 machines we can use an emulator to run option ROMS as with other architectures. But with some additional effort (mostly due to the 16-bit nature of option ROMs) we can run them natively. Add support for this. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
For option ROMs we can use these extensions to request a particular video mode. Add a header file which defines the binary interface. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add Kconfig options to allow selection of a vesa mode on x86 machines. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Option ROMs require a few additional descriptors. Add these, and remove the enum since we now have to access several descriptors from assembler. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
We should have a public header so that users can avoid defining functions themselves. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This is needed to permit calling C from assembler without too much pain. Add a definition for x86. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Enable SPI so that the SPI flash can be used. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add init for the northbridge, another part of the platform controller hub. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These are not available in U-Boot as yet, so drop them. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add the setup code for the CPU so that it can be used at full speed. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add code to set up the Local Advanced Peripheral Interrupt Controller. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
This is no-longer used, so drop it. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Bin Meng authored
Actually initr_enable_interrupts() was never called in an x86 build due to it was wrapped by CONFIG_x86 (typo of X86). Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Acked-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
-
Bin Meng authored
Rename interrupt_init() in arch/x86/lib/pcat_interrupts.c to i8259_init() and create a new interrupt_init() in arch/x86/cpu/interrupt.c to call i8259_init() followed by a call to cpu_init_interrupts(). Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Acked-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
-
Bin Meng authored
Since cpu_init_interrupts() was moved out of cpu_init_r(), it is useless to keep cpu_init_r() for x86, thus remove it. Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Acked-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
-
Bin Meng authored
Currently cpu_init_interrupts() is called from cpu_init_r() to setup the interrupt and exception of the cpu core, but at that time the i8259 has not been initialized to mask all the irqs and remap the master i8259 interrupt vector base, so the whole system is at risk of being interrupted, and if interrupted, wrong interrupt/exception message is shown. Signed-off-by:
Bin Meng <bmeng.cn@gmail.com> Acked-by:
Simon Glass <sjg@chromium.org> Tested-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Intel chips have a turbo mode where they can run faster for a short period until they reach thermal limits. Add code to adjust and query this feature. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add init for XHCI so that high-speed USB can be used. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Enable USB support on link - there are two EHCI ports available. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add init for EHCI so that USB can be used. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add the requires settings to enable SATA on link. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add code to set up the SATA interfaces on boot. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add some settings required to set up the LPC correctly. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These peripherals should not be at the top level, since they exist inside the PCI bus. We don't have a full device tree node for pci yet, but we should at least put it at the right level. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Set up all the remaining pieces of the LPC (low-pin-count) peripheral in PCH (Peripheral Controller Hub). Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add required init for the Intel Platform Controller Hub in ivybridge. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
We don't use many features yet, so this only has a few declarations. It will be expanded as needed. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add basic setup for the PCH. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add this additional init in case it is needed by the OS. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
Some PCI functions cannot be auto-configured. Add a function to set up a fixed BAR which can be used in these situations. Also add a function to read the current address of a BAR. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
Enable this option so that we can configure the available PCI devices. Also make sure that PCI is available early after relocation as we use it for several other subsystems. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Some boards will want to do some setup before and after a PCI hose is scanned. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
Add definitions for the I/O Advanced Peripheral Interrupt Controller. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Provide a function to set up the RTC ready for use. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
Define the reset base in config.mk so that it does not need to be calculated twice in the link script. Also tidy up the START_16 and RESET_VEC_LOC values to fit with this new approach. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
Some toolchains put the relocation data into separate sections. Adjust the linker script to catch this case. Without relocation data, U-Boot will not boot. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-