aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-core/recipes-kernel/linux
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-core/recipes-kernel/linux')
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-agl-config.inc85
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-agl.inc126
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-yocto-agl.inc12
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-yocto_%.bbappend1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/btusb.cfg32
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/can-bus.cfg32
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/hid.cfg1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/i2c-led.cfg3
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/iiodevice.cfg26
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/joystick.cfg9
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/netfilter.cfg1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/nfc.cfg34
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/procevent.cfg2
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/qemu-drm.cfg (renamed from meta-agl-core/recipes-kernel/linux/linux/drm.cfg)0
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/qemu-virtio.cfg6
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/qemuarm.cfg8
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/rtc.cfg7
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/rtl_sdr.cfg4
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/scheddebug.cfg1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/uinput.cfg3
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/usb.cfg8
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/usbaudio.cfg2
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/usbmodem.cfg7
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/uvc.cfg4
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/wifi.cfg6
25 files changed, 121 insertions, 299 deletions
diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
new file mode 100644
index 000000000..4003dd970
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
@@ -0,0 +1,85 @@
+# Common include file that defines AGL's variables for kernel
+# configuration.
+#
+# Can be included directly for kernel.bbclass based recipes that
+# use their own config fragment merging scheme, or use the
+# KERNEL_CONFIG_FRAGMENTS variable (e.g. meta-ti, meta-qcom).
+#
+# Fragments should be added to AGL_KCONFIG_FRAGMENTS as just the
+# .cfg filename with +=. Appending to AGL_KCONFIG_FRAGMENTS (i.e.
+# using _append) should only be done for:
+# - Specific AGL features that set an override in their feature
+# template, e.g. agl-netboot.
+# - To add essential configuration for core target machines like
+# qemu. Note that appending fragments directly to SRC_URI
+# would work for qemu targets since they use linux-yocto, but
+# the AGL_KCONFIG_FRAGMENTS mechanism is recommended for
+# consistency and to preserve the option of disabling all AGL
+# additions by overriding AGL_KERNEL_SRC.
+#
+# In general, care shoud be taken to preserve the ability to set
+# AGL_KCONFIG_FRAGMENTS to "" to disable non-essential (from a build
+# perspective) AGL additions.
+#
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
+
+# NOTE: AGL_KERNEL_SRC is explicitly intended as an intermediate variable
+# that can be used as a last resort to completely disable all AGL
+# additions, modifying or appending it is not recommended.
+AGL_KERNEL_SRC ?= "${@' '.join(['file://' + x for x in d.getVar('AGL_KCONFIG_FRAGMENTS').split()])}"
+
+SRC_URI_append = " ${AGL_KERNEL_SRC}"
+
+# For meta-ti and meta-qcom
+KERNEL_CONFIG_FRAGMENTS ?= "${@' '.join(['${WORKDIR}/' + x for x in d.getVar('AGL_KCONFIG_FRAGMENTS').split()])}"
+
+# Extra configuration options for the AGL kernel
+AGL_KCONFIG_FRAGMENTS += " \
+ can-bus.cfg \
+ fanotify.cfg \
+ overlayfs.cfg \
+"
+
+AGL_KCONFIG_FRAGMENTS += " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','xen_domu.cfg','',d)}"
+
+# Base ALSA support and other sound related configuration
+AGL_KCONFIG_FRAGMENTS += "sound.cfg"
+
+# Enable support for SystemTap
+AGL_KCONFIG_FRAGMENTS += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'systemtap.cfg', '', d)}"
+
+#
+# Feature override and qemu specific appends:
+#
+
+# Enable required features for the agl-netboot feature
+AGL_KCONFIG_FRAGMENTS_append_netboot = " \
+ nbd.cfg \
+ ramdisk.cfg \
+"
+
+# Add hda audio and required virtio device support for qemu
+AGL_KCONFIG_FRAGMENTS_append_qemuall = " \
+ sound-hda.cfg \
+ qemu-virtio.cfg \
+ qemu-drm.cfg \
+"
+
+# Configuration for using the ARM virt machine (and not versatilepb)
+AGL_KCONFIG_FRAGMENTS_append_qemuarm = " qemuarm.cfg"
+
+# Additional drivers for virtual machines
+# OVERRIDES save us some c'n'p below ...
+OVERRIDES_prepend_qemux86 = "virtualmachine:"
+OVERRIDES_prepend_qemux86-64 = "virtualmachine:"
+AGL_KCONFIG_FRAGMENTS_append_virtualmachine = " vbox-vmware-sata.cfg"
+
+# Extra configuration for using qemux86-64 image on physical hardware
+AGL_KCONFIG_FRAGMENTS_append_qemux86-64 = " \
+ x86-extra-graphic-devices.cfg \
+ x86-net-devices.cfg \
+ x86-security-tpm.cfg \
+ x86-usb-devices.cfg \
+ x86-upsquare.cfg \
+"
diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl.inc b/meta-agl-core/recipes-kernel/linux/linux-agl.inc
index cd960ef6d..547c23987 100644
--- a/meta-agl-core/recipes-kernel/linux/linux-agl.inc
+++ b/meta-agl-core/recipes-kernel/linux/linux-agl.inc
@@ -1,7 +1,10 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
+# Include file intended for kernel.bbclass based recipes that do not
+# have their own config fragment merging scheme.
DEPENDS += "kern-tools-native"
+include linux-agl-config.inc
+
# returns all the elements from the src uri that are .cfg files
def find_cfgs(d):
sources=src_patches(d, True)
@@ -13,120 +16,9 @@ def find_cfgs(d):
return sources_list
do_configure_append () {
- [ ! -f .config ] && cp -a ${WORKDIR}/defconfig .config
- # Need to clear CONFIG_LSM for 5.1+ kernels to ensure it'll get
- # regenerated to reflect configuration changes (e.g. SMACK).
- sed -i '/^CONFIG_LSM/d' .config
- merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
- yes '' | make oldconfig
+ if [ -n "${AGL_KCONFIG_FRAGMENTS}" ]; then
+ [ ! -f .config ] && cp -a ${WORKDIR}/defconfig .config
+ merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
+ yes '' | make oldconfig
+ fi
}
-
-# Extra configuration options for the AGL kernel
-SRC_URI_append = "\
- file://can-bus.cfg \
- file://usb.cfg \
- file://uvc.cfg \
- file://joystick.cfg \
- file://fanotify.cfg \
- file://uinput.cfg \
- file://hid.cfg \
- file://drm.cfg \
- file://btusb.cfg \
- file://usbaudio.cfg \
- file://usbmodem.cfg \
- file://i2c-led.cfg \
- file://nfc.cfg \
- file://overlayfs.cfg \
- "
-
-SRC_URI_append = " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','file://xen_domu.cfg','',d)}"
-
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/can-bus.cfg"
-# Enable support for usb video class for usb camera devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uvc.cfg"
-# Enable support for joystick devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/joystick.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/fanotify.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uinput.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/hid.cfg"
-# Enable DRM support for graphics
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/drm.cfg"
-# Enable Bluetooth USB devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/btusb.cfg"
-# Enable USB audio devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/usbaudio.cfg"
-# Enable I2C and LED for demontrator
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/i2c-led.cfg"
-# Enable NFC devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/nfc.cfg"
-# Enable overlayfs filesystem support
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/overlayfs.cfg"
-# Enable XEN support of the guest
-KERNEL_CONFIG_FRAGMENTS_append = " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','${WORKDIR}/xen_domu.cfg','',d)}"
-
-# Enable required features for the agl-netboot feature
-SRC_URI_append_netboot = " file://nbd.cfg \
- file://ramdisk.cfg"
-KERNEL_CONFIG_FRAGMENTS_append_netboot = " ${WORKDIR}/nbd.cfg ${WORKDIR}/ramdisk.cfg"
-
-# Enable support for TP-Link TL-W722N USB Wifi adapter (rev 1 and 2)
-SRC_URI_append = " file://wifi.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/wifi.cfg"
-
-# Enable support for RTLSDR
-SRC_URI_append = " file://rtl_sdr.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/rtl_sdr.cfg"
-
-# Additional drivers for virtual machines
-# OVERRIDES save us some c'n'p below ...
-OVERRIDES_prepend_qemux86 = "virtualmachine:"
-OVERRIDES_prepend_qemux86-64 = "virtualmachine:"
-SRC_URI_append_virtualmachine = " file://vbox-vmware-sata.cfg"
-KERNEL_CONFIG_FRAGMENTS_append_virtualmachine = " ${WORKDIR}/vbox-vmware-sata.cfg"
-
-# Extra configuration for using qemux86-64 image on physical hardware
-SRC_URI_append_qemux86-64 = "\
- file://x86-extra-graphic-devices.cfg \
- file://x86-net-devices.cfg \
- file://x86-security-tpm.cfg \
- file://x86-usb-devices.cfg \
- file://x86-upsquare.cfg \
-"
-KERNEL_CONFIG_FRAGMENTS_append_qemux86-64 = "\
- ${WORKDIR}/x86-extra-graphic-devices.cfg \
- ${WORKDIR}/x86-net-devices.cfg \
- ${WORKDIR}/x86-security-tpm.cfg \
- ${WORKDIR}/x86-usb-devices.cfg \
- ${WORKDIR}/x86-upsquare.cfg \
-"
-
-# Enable support for smack
-KERNEL_CONFIG_FRAGMENTS_append_with-lsm-smack = "\
- ${WORKDIR}/audit.cfg \
- ${WORKDIR}/smack.cfg \
- ${WORKDIR}/smack-default-lsm.cfg \
-"
-
-# ALSA support and other sound related configuration
-SRC_URI_append = " file://sound.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/sound.cfg"
-
-# add hda audio for qemu
-SRC_URI_append_qemuall = " file://sound-hda.cfg"
-KERNEL_CONFIG_FRAGMENTS_append_qemuall = " ${WORKDIR}/sound-hda.cfg"
-
-# iio-dummy-device support for test iiodevice
-SRC_URI_append = " file://iiodevice.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/iiodevice.cfg"
-
-# external rtc support via e.g. http://wiki.seeedstudio.com/Grove-RTC/
-SRC_URI_append = " file://rtc.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/rtc.cfg"
-
-# netfilter options
-SRC_URI_append = " file://netfilter.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/netfilter.cfg"
-
-# Enable support for SystemTap
-SRC_URI_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'file://systemtap.cfg', '', d)}"
-KERNEL_CONFIG_FRAGMENTS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '${WORKDIR}/systemtap.cfg', '', d)}"
diff --git a/meta-agl-core/recipes-kernel/linux/linux-yocto-agl.inc b/meta-agl-core/recipes-kernel/linux/linux-yocto-agl.inc
new file mode 100644
index 000000000..dd4e8e87c
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux-yocto-agl.inc
@@ -0,0 +1,12 @@
+# Include file intended for kernel-yocto.bbclass based recipes.
+
+include linux-agl-config.inc
+
+# For qemuarm, build a generic v7 kernel instead of the arm926j one that
+# upstream qemuarm defaults to.
+KBUILD_DEFCONFIG_qemuarm = "multi_v7_defconfig"
+
+# Use alldefconfig for the qemu targets, but let other kernel-yocto
+# based BSPs use their own defaults (note that linux-renesas and
+# linux-raspberrypi also default to alldefconfig).
+KCONFIG_MODE_qemuall = "--alldefconfig"
diff --git a/meta-agl-core/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-agl-core/recipes-kernel/linux/linux-yocto_%.bbappend
new file mode 100644
index 000000000..808df2d09
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux-yocto_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}-agl.inc', '', d)}
diff --git a/meta-agl-core/recipes-kernel/linux/linux/btusb.cfg b/meta-agl-core/recipes-kernel/linux/linux/btusb.cfg
deleted file mode 100644
index 4a4c35a05..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/btusb.cfg
+++ /dev/null
@@ -1,32 +0,0 @@
-CONFIG_BT=m
-CONFIG_BT_BREDR=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-CONFIG_BT_HS=y
-CONFIG_BT_LE=y
-CONFIG_BT_LEDS=y
-# CONFIG_BT_SELFTEST is not set
-CONFIG_BT_DEBUGFS=y
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_INTEL=m
-CONFIG_BT_BCM=m
-CONFIG_BT_RTL=m
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTUSB_BCM=y
-CONFIG_BT_HCIBTUSB_RTL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_CMAC=m
-
-#
-# Bluetooth AVRCP support
-#
-CONFIG_INPUT_UINPUT=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/can-bus.cfg b/meta-agl-core/recipes-kernel/linux/linux/can-bus.cfg
index 2f24b7607..d7c7c7741 100644
--- a/meta-agl-core/recipes-kernel/linux/linux/can-bus.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/can-bus.cfg
@@ -1,8 +1,3 @@
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-# CONFIG_TASK_XACCT is not set
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
@@ -12,31 +7,4 @@ CONFIG_CAN_J1939=m
#
# CAN Device Drivers
#
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-# CONFIG_CAN_LEDS is not set
-# CONFIG_CAN_SJA1000 is not set
-# CONFIG_CAN_M_CAN is not set
-# CONFIG_CAN_CC770 is not set
-
-#
-# CAN SPI interfaces
-#
-CONFIG_CAN_MCP251X=m
-
-#
-# CAN USB interfaces
-#
-# CONFIG_CAN_EMS_USB is not set
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_GS_USB=m
-CONFIG_CAN_KVASER_USB=m
-CONFIG_CAN_PEAK_USB=m
-CONFIG_CAN_8DEV_USB=m
-CONFIG_CAN_MCBA_USB=m
-# CONFIG_CAN_SOFTING is not set
-# CONFIG_CAN_DEBUG_DEVICES is not set
diff --git a/meta-agl-core/recipes-kernel/linux/linux/hid.cfg b/meta-agl-core/recipes-kernel/linux/linux/hid.cfg
deleted file mode 100644
index 327c753ae..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/hid.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_HID_MULTITOUCH=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/i2c-led.cfg b/meta-agl-core/recipes-kernel/linux/linux/i2c-led.cfg
deleted file mode 100644
index 248b5118a..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/i2c-led.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# enabling I2C and LED for demonstrator
-CONFIG_I2C_TINY_USB=y
-CONFIG_LEDS_BLINKM=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/iiodevice.cfg b/meta-agl-core/recipes-kernel/linux/linux/iiodevice.cfg
deleted file mode 100644
index c5b8ff35e..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/iiodevice.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Extcon Device Drivers
-#
-CONFIG_IIO=y
-CONFIG_IIO_BUFFER=y
-CONFIG_IIO_BUFFER_CB=y
-CONFIG_IIO_KFIFO_BUF=y
-CONFIG_IIO_CONFIGFS=m
-CONFIG_IIO_TRIGGER=y
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_SW_DEVICE=m
-CONFIG_IIO_SW_TRIGGER=m
-
-#
-# IIO dummy driver
-#
-CONFIG_IIO_DUMMY_EVGEN=m
-CONFIG_IIO_SIMPLE_DUMMY=m
-CONFIG_IIO_SIMPLE_DUMMY_EVENTS=y
-CONFIG_IIO_SIMPLE_DUMMY_BUFFER=y
-
-#
-# Triggers - standalone
-#
-CONFIG_IIO_HRTIMER_TRIGGER=m
-CONFIG_IIO_TRIGGERED_BUFFER=m
diff --git a/meta-agl-core/recipes-kernel/linux/linux/joystick.cfg b/meta-agl-core/recipes-kernel/linux/linux/joystick.cfg
deleted file mode 100644
index 2201bcb00..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/joystick.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-CONFIG_INPUT_JOYDEV=y
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ADI=y
-CONFIG_GAMEPORT=y
-CONFIG_HID_LOGITECH=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_LOGITECH_HIDPP=y
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIG940_FF=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/netfilter.cfg b/meta-agl-core/recipes-kernel/linux/linux/netfilter.cfg
deleted file mode 100644
index 34be704c1..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/netfilter.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
diff --git a/meta-agl-core/recipes-kernel/linux/linux/nfc.cfg b/meta-agl-core/recipes-kernel/linux/linux/nfc.cfg
deleted file mode 100644
index 6d863a075..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/nfc.cfg
+++ /dev/null
@@ -1,34 +0,0 @@
-CONFIG_NFC=m
-CONFIG_NFC_DIGITAL=m
-CONFIG_NFC_NCI=m
-CONFIG_NFC_NCI_SPI=m
-CONFIG_NFC_HCI=m
-CONFIG_NFC_SHDLC=y
-CONFIG_NFC_TRF7970A=m
-CONFIG_NFC_MEI_PHY=m
-CONFIG_NFC_PORT100=m
-CONFIG_NFC_FDP=m
-CONFIG_NFC_FDP_I2C=m
-CONFIG_NFC_PN544=m
-CONFIG_NFC_PN544_I2C=m
-CONFIG_NFC_PN544_MEI=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_PN533_USB=m
-CONFIG_NFC_PN533_I2C=m
-CONFIG_NFC_MICROREAD=m
-CONFIG_NFC_MICROREAD_I2C=m
-CONFIG_NFC_MICROREAD_MEI=m
-CONFIG_NFC_MRVL=m
-CONFIG_NFC_MRVL_USB=m
-CONFIG_NFC_MRVL_I2C=m
-CONFIG_NFC_MRVL_SPI=m
-CONFIG_NFC_ST21NFCA=m
-CONFIG_NFC_ST21NFCA_I2C=m
-CONFIG_NFC_ST_NCI=m
-CONFIG_NFC_ST_NCI_I2C=m
-CONFIG_NFC_ST_NCI_SPI=m
-CONFIG_NFC_NXP_NCI=m
-CONFIG_NFC_NXP_NCI_I2C=m
-CONFIG_NFC_S3FWRN5=m
-CONFIG_NFC_S3FWRN5_I2C=m
-CONFIG_NFC_ST95HF=m
diff --git a/meta-agl-core/recipes-kernel/linux/linux/procevent.cfg b/meta-agl-core/recipes-kernel/linux/linux/procevent.cfg
deleted file mode 100644
index 6e08c25bc..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/procevent.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/drm.cfg b/meta-agl-core/recipes-kernel/linux/linux/qemu-drm.cfg
index 65fe71cd0..65fe71cd0 100644
--- a/meta-agl-core/recipes-kernel/linux/linux/drm.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/qemu-drm.cfg
diff --git a/meta-agl-core/recipes-kernel/linux/linux/qemu-virtio.cfg b/meta-agl-core/recipes-kernel/linux/linux/qemu-virtio.cfg
new file mode 100644
index 000000000..d042d7d64
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/qemu-virtio.cfg
@@ -0,0 +1,6 @@
+# qemu need a virtio storage for rootfs
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_BLK=y
+# qemuarm need virtionet
+CONFIG_VIRTIO_NET=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/qemuarm.cfg b/meta-agl-core/recipes-kernel/linux/linux/qemuarm.cfg
new file mode 100644
index 000000000..b3644b26f
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/qemuarm.cfg
@@ -0,0 +1,8 @@
+# Necessary configs for using the virt qemu machine
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_VIRT=y
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_RTC_DRV_PL031=y
+# SPEC-3976 we mimic real AGL ARM board and they dont have LPAE. This cause also HDA failure.
+# CONFIG_ARM_LPAE is not set
diff --git a/meta-agl-core/recipes-kernel/linux/linux/rtc.cfg b/meta-agl-core/recipes-kernel/linux/linux/rtc.cfg
deleted file mode 100644
index 2641958a0..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/rtc.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_LIB=y
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS3232=m
diff --git a/meta-agl-core/recipes-kernel/linux/linux/rtl_sdr.cfg b/meta-agl-core/recipes-kernel/linux/linux/rtl_sdr.cfg
deleted file mode 100644
index d4574700a..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/rtl_sdr.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_DVB_USB_V2=m
-CONFIG_DVB_USB_RTL28XXU=m
diff --git a/meta-agl-core/recipes-kernel/linux/linux/scheddebug.cfg b/meta-agl-core/recipes-kernel/linux/linux/scheddebug.cfg
deleted file mode 100644
index e8b09aa7c..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/scheddebug.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SCHED_DEBUG=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/uinput.cfg b/meta-agl-core/recipes-kernel/linux/linux/uinput.cfg
deleted file mode 100644
index 7996ef1dd..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/uinput.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# Enable the User-level Input driver (required by "wayland-fits")
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_UINPUT=m
diff --git a/meta-agl-core/recipes-kernel/linux/linux/usb.cfg b/meta-agl-core/recipes-kernel/linux/linux/usb.cfg
deleted file mode 100644
index 8e9e98ecb..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/usb.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-CONFIG_USB_SERIAL=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_ACM=m
-CONFIG_CRC_CCITT=y
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_PCI=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/usbaudio.cfg b/meta-agl-core/recipes-kernel/linux/linux/usbaudio.cfg
deleted file mode 100644
index 5961f43d3..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/usbaudio.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/usbmodem.cfg b/meta-agl-core/recipes-kernel/linux/linux/usbmodem.cfg
deleted file mode 100644
index 3ded931e5..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/usbmodem.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_CDC_MBIM=m
-CONFIG_USB_NET_QMI_WWAN=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_QUALCOMM=m
diff --git a/meta-agl-core/recipes-kernel/linux/linux/uvc.cfg b/meta-agl-core/recipes-kernel/linux/linux/uvc.cfg
deleted file mode 100644
index 7c6556c11..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/uvc.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_VIDEOBUF2_VMALLOC=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/wifi.cfg b/meta-agl-core/recipes-kernel/linux/linux/wifi.cfg
deleted file mode 100644
index 00c2e06e4..000000000
--- a/meta-agl-core/recipes-kernel/linux/linux/wifi.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_CFG80211=m
-CONFIG_MAC80211=m
-CONFIG_WLAN_VENDOR_ATH=m
-CONFIG_ATH9K_HTC=m
-CONFIG_STAGING=y
-CONFIG_R8188EU=m