[linux-yocto] [PATCH 5/9] meta: Add MinnowBoard BSP

Darren Hart dvhart at linux.intel.com
Sat May 18 14:47:34 PDT 2013

The MinnowBoard (minnowboard.org) is an Intel Atom E640T processor
coupled with an Intel EG20T Platform Controller Hub (Tunnel Creek +
Topcliff = Queensbay). The E6xx CPU embeds on-chip graphics supported by
the Intel Embedded Media and Graphics Driver (EMGD).

Create a "standard" ktype for the initial BSP.

Include critical boot features such as SATA, USB_STORAGE, MMC, and
PCH_UART (serial console) built-in, and include drivers for non-boot
on-board features via modules to keep size down as well as reduce the
kernel boot time.

Build in the minnowboard platform drivers which configures the GPIO
lines, connects the on-board LEDs and buttons via the leds-gpio and
gpio-keys-polled drivers, and provides

While the serial console is a PCH_UART, when doing early boot debug, the
8250 driver is needed for port-based console and for earlyprintk, so
include it as well.

Include support for all USB gadget drivers as modules.

Signed-off-by: Darren Hart <dvhart at linux.intel.com>
 meta/cfg/kernel-cache/bsp/minnow/minnow-dev.cfg    |   1 +
 .../kernel-cache/bsp/minnow/minnow-no-pch-gpio.cfg |   1 +
 .../kernel-cache/bsp/minnow/minnow-preempt-rt.scc  |  25 +++++
 .../kernel-cache/bsp/minnow/minnow-standard.scc    |  20 ++++
 meta/cfg/kernel-cache/bsp/minnow/minnow-tiny.scc   |   8 ++
 meta/cfg/kernel-cache/bsp/minnow/minnow.cfg        | 109 +++++++++++++++++++++
 meta/cfg/kernel-cache/bsp/minnow/minnow.scc        |  18 ++++
 7 files changed, 182 insertions(+)
 create mode 100644 meta/cfg/kernel-cache/bsp/minnow/minnow-dev.cfg
 create mode 100644 meta/cfg/kernel-cache/bsp/minnow/minnow-no-pch-gpio.cfg
 create mode 100644 meta/cfg/kernel-cache/bsp/minnow/minnow-preempt-rt.scc
 create mode 100644 meta/cfg/kernel-cache/bsp/minnow/minnow-standard.scc
 create mode 100644 meta/cfg/kernel-cache/bsp/minnow/minnow-tiny.scc
 create mode 100644 meta/cfg/kernel-cache/bsp/minnow/minnow.cfg
 create mode 100644 meta/cfg/kernel-cache/bsp/minnow/minnow.scc

diff --git a/meta/cfg/kernel-cache/bsp/minnow/minnow-dev.cfg b/meta/cfg/kernel-cache/bsp/minnow/minnow-dev.cfg
new file mode 100644
index 0000000..5698f5e
--- /dev/null
+++ b/meta/cfg/kernel-cache/bsp/minnow/minnow-dev.cfg
@@ -0,0 +1 @@
diff --git a/meta/cfg/kernel-cache/bsp/minnow/minnow-no-pch-gpio.cfg b/meta/cfg/kernel-cache/bsp/minnow/minnow-no-pch-gpio.cfg
new file mode 100644
index 0000000..ec27527
--- /dev/null
+++ b/meta/cfg/kernel-cache/bsp/minnow/minnow-no-pch-gpio.cfg
@@ -0,0 +1 @@
+# CONFIG_GPIO_PCH is not set
diff --git a/meta/cfg/kernel-cache/bsp/minnow/minnow-preempt-rt.scc b/meta/cfg/kernel-cache/bsp/minnow/minnow-preempt-rt.scc
new file mode 100644
index 0000000..38cd9f9
--- /dev/null
+++ b/meta/cfg/kernel-cache/bsp/minnow/minnow-preempt-rt.scc
@@ -0,0 +1,25 @@
+define KMACHINE minnow
+define KTYPE preempt-rt
+define KARCH i386
+# no new branch required, re-use the ktypes/preempt-rt branch
+include ktypes/preempt-rt
+branch minnow
+include minnow.scc
+# FIXME: check if this is still needed
+# Disable GPIO_PCH for PREEMPT_RT per:
+# https://bugzilla.kernel.org/show_bug.cgi?id=49511
+# kconf hardware minnow-no-pch-gpio.cfg
+# Extra minnow configs above the minimal defined in minnow.scc
+include cfg/efi-ext.scc
+# FIXME: this belongs in standard
+# default policy for preempt-rt kernels
+include cfg/usb-mass-storage.scc
+include cfg/boot-live.scc
+include features/latencytop/latencytop.scc
+include features/profiling/profiling.scc
diff --git a/meta/cfg/kernel-cache/bsp/minnow/minnow-standard.scc b/meta/cfg/kernel-cache/bsp/minnow/minnow-standard.scc
new file mode 100644
index 0000000..2817bab
--- /dev/null
+++ b/meta/cfg/kernel-cache/bsp/minnow/minnow-standard.scc
@@ -0,0 +1,20 @@
+define KMACHINE minnow
+define KTYPE standard
+define KARCH i386
+include ktypes/standard
+branch minnow
+include minnow.scc
+# Extra minnow configs above the minimal defined in minnow.scc
+include cfg/efi-ext.scc
+# The following should really be in standard.scc
+# USB live-image support
+include cfg/usb-mass-storage.scc
+include cfg/boot-live.scc
+# Basic profiling
+include features/latencytop/latencytop.scc
+include features/profiling/profiling.scc
diff --git a/meta/cfg/kernel-cache/bsp/minnow/minnow-tiny.scc b/meta/cfg/kernel-cache/bsp/minnow/minnow-tiny.scc
new file mode 100644
index 0000000..750b99a
--- /dev/null
+++ b/meta/cfg/kernel-cache/bsp/minnow/minnow-tiny.scc
@@ -0,0 +1,8 @@
+define KMACHINE minnow
+define KTYPE tiny
+define KARCH i386
+include ktypes/tiny
+branch minnow
+include minnow.scc
diff --git a/meta/cfg/kernel-cache/bsp/minnow/minnow.cfg b/meta/cfg/kernel-cache/bsp/minnow/minnow.cfg
new file mode 100644
index 0000000..a6457d9
--- /dev/null
+++ b/meta/cfg/kernel-cache/bsp/minnow/minnow.cfg
@@ -0,0 +1,109 @@
+# Configs required for boot on this device
+# Basic hardware support for the box - network, USB, PCI, sound
+# Ensure we can boot over MMC
+# Ensure we can boot over SATA
+# Build most of the EG20t support as modules
+# TODO: EG20t should do this by default
+# Ensure the serial console is always available
+### Non-essential on-board features ###
+# GPIO Support
+# Ensure the performance govenor is the default for optimal boot time
+# (Leave it to userspace to change it after boot)
+# Enable readahead
+### Standard configs we just do not need ###
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_MOUSE_PS2 is not set
+### Should be specified elsewhere ###
+# Make sure these are on, otherwise the bootup won't be fun
+# Cleanup some warnings
+# Avoid warnings with the x86.scc
+# No need to emulate an RTC, we have one, avoid the warning of it missing
diff --git a/meta/cfg/kernel-cache/bsp/minnow/minnow.scc b/meta/cfg/kernel-cache/bsp/minnow/minnow.scc
new file mode 100644
index 0000000..0a595d9
--- /dev/null
+++ b/meta/cfg/kernel-cache/bsp/minnow/minnow.scc
@@ -0,0 +1,18 @@
+include cfg/x86.scc
+include features/eg20t/eg20t.scc
+include cfg/dmaengine.scc
+include features/power/intel.scc
+include cfg/efi.scc
+include features/usb/ehci-hcd.scc
+include features/usb/ohci-hcd.scc
+include features/usb/usb-gadgets.scc
+include cfg/timer/hpet.scc
+include cfg/timer/rtc.scc
+include features/leds/leds.scc
+# Earlyprintk and port debug requires 8250
+# This is a =y fragment
+kconf hardware cfg/serial-8250.cfg
+kconf hardware minnow.cfg
+kconf hardware minnow-dev.cfg

More information about the linux-yocto mailing list