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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot