[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 @@
+CONFIG_DYNAMIC_DEBUG=y
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 @@
+CONFIG_X86_32=y
+CONFIG_MATOM=y
+
+CONFIG_MINNOWBOARD=y
+CONFIG_MINNOWBOARD_GPIO=m
+CONFIG_MINNOWBOARD_KEYS=m
+
+# Configs required for boot on this device
+CONFIG_DMI=y
+CONFIG_MTRR=y
+
+# Basic hardware support for the box - network, USB, PCI, sound
+CONFIG_PCI=y
+CONFIG_PCIEPORTBUS=y
+
+# Ensure we can boot over MMC
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PCI=y
+
+# Ensure we can boot over SATA
+CONFIG_ATA=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_SATA_AHCI=y
+
+CONFIG_PM=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+
+# Build most of the EG20t support as modules
+# TODO: EG20t should do this by default
+CONFIG_SPI_BITBANG=m
+CONFIG_SPI_GPIO=m
+CONFIG_SPI_TOPCLIFF_PCH=m
+CONFIG_PCH_PHUB=m
+CONFIG_PCH_GBE=m
+CONFIG_USB_EG20T=m
+CONFIG_USB_GADGET=m
+CONFIG_I2C=m
+CONFIG_I2C_EG20T=m
+CONFIG_CAN=m
+CONFIG_CAN_DEV=m
+CONFIG_PCH_CAN=m
+
+# Ensure the serial console is always available
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_PCH_DMA=y
+CONFIG_SERIAL_PCH_UART=y
+CONFIG_SERIAL_PCH_UART_CONSOLE=y
+
+### Non-essential on-board features ###
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_HDA_INTEL=m
+
+# GPIO Support
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIOLIB=y
+
+CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_GENERIC_PLATFORM=y
+CONFIG_MFD_CORE=y
+CONFIG_LPC_SCH=y
+CONFIG_GPIO_SCH=y
+CONFIG_GPIO_PCH=y
+
+#CONFIG_INPUT_POLLDEV=m
+#CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_GPIO_POLLED=y
+
+CONFIG_DEBUG_GPIO=y
+
+# Ensure the performance govenor is the default for optimal boot time
+# (Leave it to userspace to change it after boot)
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+
+# Enable readahead
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+
+### Standard configs we just do not need ###
+# CONFIG_KEYBOARD_ATKBD is not set
+# 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
+#CONFIG_UNIX=y
+#CONFIG_INET=y
+#CONFIG_MODULES=y
+#CONFIG_SHMEM=y
+#CONFIG_TMPFS=y
+#CONFIG_PACKET=y
+#CONFIG_INPUT=y
+#CONFIG_AGP=y
+CONFIG_PRINTK=y
+CONFIG_PRINTK_TIME=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+
+# Cleanup some warnings
+# Avoid warnings with the x86.scc
+# CONFIG_MICROCODE_AMD is not set
+
+# No need to emulate an RTC, we have one, avoid the warning of it missing
+# CONFIG_HPET_EMULATE_RTC is not set
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
-- 
1.8.1.2




More information about the linux-yocto mailing list