[U-Boot] [RFC PATCH 0/6] x86: New Intel Quark SoC support
Bin Meng
bmeng.cn at gmail.com
Wed Jan 28 16:19:56 CET 2015
This series adds the first step of bare support for the Intel Quark
SoC support which can be validated on Intel Galileo board.
Intel Quark is a line of 32-bit x86 SoCs by Intel, designed for small
size and low power consumption, and targeted at new markets including
wearable devices. They are smaller and slower than Atom processors and
consume less power. They lack support for SIMD instruction sets (such
as MMX and SSE) and only support embedded operating systems. Quark
powers the Intel Galileo developer microcontroller board. The CPU
instruction set is the same as Pentium (P54C/i586) CPU.
Intel decided to completely publish Quark's hardware specification to
software developers, which includes an SoC datasheet, a UEFI Firmware
Writer's Guide, and a complete reference source code for the UEFI BIOS
which is pre-flahsed on the Galileo board. As of today, the only BIOS
for Galileo is the Intel one with UEFI inteface only. There is no CSM
support yet in that BIOS, neither any 3rd party BIOS vendor provides
support to Quark SoC.
Note there are two generation of Galileo boards, aka gen1 and gen2.
Currently the development work is on gen2, but once we get it boot,
we can easily add the gen1 board (old version).
With this patch series, the generated u-boot.rom could boot the Intel
Galileo board up to fdt relocate, where U-Boot hangs because the DRAM
is not initializaed yet. A follow up patch series will be sent soon
to add support for Memory Reference Code (MRC).
Note this patch series may need rebase after Simon's Minnowmax support
patch series is applied.
Bin Meng (6):
x86: Add header files for Intel Quark SoC defines
x86: quark: Add routines to access message bus registers
x86: quark: Add Cache-As-RAM initialization
x86: Add basic Intel Quark processor support
x86: Add basic Intel Galileo board support
x86: Enable the Intel quark/galileo build
arch/x86/Kconfig | 17 +++++
arch/x86/cpu/Makefile | 1 +
arch/x86/cpu/quark/Kconfig | 63 +++++++++++++++++
arch/x86/cpu/quark/Makefile | 8 +++
arch/x86/cpu/quark/car.S | 105 +++++++++++++++++++++++++++++
arch/x86/cpu/quark/dram.c | 39 +++++++++++
arch/x86/cpu/quark/msg_port.c | 76 +++++++++++++++++++++
arch/x86/cpu/quark/pci.c | 70 +++++++++++++++++++
arch/x86/cpu/quark/quark.c | 44 ++++++++++++
arch/x86/dts/Makefile | 3 +-
arch/x86/dts/galileo.dts | 43 ++++++++++++
arch/x86/include/asm/arch-quark/device.h | 28 ++++++++
arch/x86/include/asm/arch-quark/gpio.h | 13 ++++
arch/x86/include/asm/arch-quark/msg_port.h | 93 +++++++++++++++++++++++++
arch/x86/include/asm/arch-quark/quark.h | 57 ++++++++++++++++
board/intel/galileo/Kconfig | 21 ++++++
board/intel/galileo/MAINTAINERS | 6 ++
board/intel/galileo/Makefile | 7 ++
board/intel/galileo/galileo.c | 19 ++++++
board/intel/galileo/start.S | 9 +++
configs/galileo_defconfig | 6 ++
include/configs/galileo.h | 53 +++++++++++++++
22 files changed, 780 insertions(+), 1 deletion(-)
create mode 100644 arch/x86/cpu/quark/Kconfig
create mode 100644 arch/x86/cpu/quark/Makefile
create mode 100644 arch/x86/cpu/quark/car.S
create mode 100644 arch/x86/cpu/quark/dram.c
create mode 100644 arch/x86/cpu/quark/msg_port.c
create mode 100644 arch/x86/cpu/quark/pci.c
create mode 100644 arch/x86/cpu/quark/quark.c
create mode 100644 arch/x86/dts/galileo.dts
create mode 100644 arch/x86/include/asm/arch-quark/device.h
create mode 100644 arch/x86/include/asm/arch-quark/gpio.h
create mode 100644 arch/x86/include/asm/arch-quark/msg_port.h
create mode 100644 arch/x86/include/asm/arch-quark/quark.h
create mode 100644 board/intel/galileo/Kconfig
create mode 100644 board/intel/galileo/MAINTAINERS
create mode 100644 board/intel/galileo/Makefile
create mode 100644 board/intel/galileo/galileo.c
create mode 100644 board/intel/galileo/start.S
create mode 100644 configs/galileo_defconfig
create mode 100644 include/configs/galileo.h
--
1.8.2.1
More information about the U-Boot
mailing list