[U-Boot] [PATCH v2 0/8] x86: Support booting Linux kernel on Intel Galileo
Bin Meng
bmeng.cn at gmail.com
Thu Sep 10 08:20:22 CEST 2015
Currently U-Boot works great on Intel Galileo board, but it still
has some issues when booting a Linux kernel. The issues are mainly
with Isolated Memory Region (IMR) and thermal sensor support in
the Linux kernel for Intel Quark SoC. For example, kernel just
hangs after kernel IMR driver is probed.
It turns out U-Boot still misses some key register programming.
Add those register initializtion so that Linux kernel can boot
succesfully.
Tested on Intel Galileo board, with an AHCI mini-PCIe card with an
SSD attached (to test PCI IRQ behind the root port), as well as a
micro-SD card, a USB flash disk and ethernet under Linux.
Note the mainline Linux designware Ethernet driver uses an API
dmi_get_system_info() to determine the PHY address. Since U-Boot
currently does not support the DMI, to test the Ethernet under
Linux we need patch the kernel driver, but in the long term, we
should add DMI support in U-Boot. Add a TODO in README.x86 for now.
Changes in v2:
- Change all macros to use a single msg_port_generic_clrsetbits
- Update per review comments from Simon
Bin Meng (8):
x86: galileo: Enable random mac address for Quark
x86: quark: Add clrbits, setbits, clrsetbits macros for message port
access
x86: quark: Convert to use clrbits, setbits, clrsetbits macros
x86: quark: Lock HMBOUND register before jumping to kernel
x86: quark: Initialize thermal sensor properly
x86: galileo: Add PCIe root port IRQ routing
x86: doc: Document some porting hints about Intel Quark
x86: doc: Add DMI to the TODO list
arch/x86/cpu/quark/quark.c | 115 ++++++++++++++++-------------
arch/x86/dts/galileo.dts | 12 +++
arch/x86/include/asm/arch-quark/msg_port.h | 31 ++++++++
arch/x86/include/asm/arch-quark/quark.h | 15 ++++
configs/galileo_defconfig | 1 +
doc/README.x86 | 26 +++++++
6 files changed, 149 insertions(+), 51 deletions(-)
--
1.8.2.1
More information about the U-Boot
mailing list