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 <[email protected]> --- 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 _______________________________________________ linux-yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/linux-yocto
