aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Bachmann <mbc@iot.bzh>2015-10-22 09:51:58 +0000
committerManuel Bachmann <mbc@iot.bzh>2015-10-22 13:04:14 +0000
commite232b907c1da205da7d603a68c597b70689b0b05 (patch)
tree95898265888117aa2332780435aff8003986958a
parent4f7cf459dd3cdec72869cd40f4a1f6b02ba4faaf (diff)
r-car m2: support Bluetooth hardware
In order to have Bluetooth hardware detection, and to make BlueZ commands (such as "hciconfig", "hcitool"...) work, we need to enable kernel functionalities. Some of them are designed to be run as modules. We also make sure that all images include them, since it does not depend on a specific board's hardware. PS : we will only build them if "bluetooth" has been specified in DISTRO_FEATURES, hence saving time. Change-Id: I14e1bdd7e4e63a7484bb1516dda601e3c03fd58f Signed-off-by: Manuel Bachmann <mbc@iot.bzh>
-rw-r--r--meta-rcar-gen2/conf/local.conf.sample13
-rw-r--r--meta-rcar-gen2/recipes-kernel/linux/linux.inc17
2 files changed, 30 insertions, 0 deletions
diff --git a/meta-rcar-gen2/conf/local.conf.sample b/meta-rcar-gen2/conf/local.conf.sample
index 43857ba..76c15e2 100644
--- a/meta-rcar-gen2/conf/local.conf.sample
+++ b/meta-rcar-gen2/conf/local.conf.sample
@@ -48,6 +48,19 @@ MACHINE = "porter"
# alsa-utils alsa-tools \
#"
+# For Bluetooth hardware support
+BT_KERNEL_MODULES = " \
+ kernel-module-btusb \
+ kernel-module-bnep \
+ kernel-module-rfcomm \
+ kernel-module-rfkill \
+ "
+
+# Distribution-specific runtime components
+IMAGE_INSTALL_append = " \
+ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "${BT_KERNEL_MODULES}", "", d)} \
+ "
+
# TODO: When booting weston, someone try to load 'libgbm_kms.so' then
# fail to boot. It should be 'libgbm_kms.so.1'.
# Tentatively, it is to install 'libgbm-dev' pkg.
diff --git a/meta-rcar-gen2/recipes-kernel/linux/linux.inc b/meta-rcar-gen2/recipes-kernel/linux/linux.inc
index 886c2a9..5a55bee 100644
--- a/meta-rcar-gen2/recipes-kernel/linux/linux.inc
+++ b/meta-rcar-gen2/recipes-kernel/linux/linux.inc
@@ -59,6 +59,11 @@ do_configure_prepend() {
kernel_configure_variable LOCALVERSION "\"\""
kernel_configure_variable LOCALVERSION_AUTO n
+ # Distribution-dependent kernel features
+ case "${DISTRO_FEATURES}" in
+ *bluetooth*) do_configure_bluetooth
+ esac
+
# Udev quirks
# Newer versions of udev mandate that sysfs doesn't have deprecated entries
if [ "${UDEV_GE_141}" = "1" ] ; then
@@ -129,6 +134,18 @@ do_configure_prepend() {
yes '' | oe_runmake oldconfig
}
+do_configure_bluetooth() {
+ # Needed for Bluetooth hardware support
+ kernel_configure_variable BT_HIDP y
+ kernel_configure_variable BT_HCIBTUSB m
+ kernel_configure_variable BT_BNEP m
+ kernel_configure_variable BT_BNEP_MC_FILTER y
+ kernel_configure_variable BT_BNEP_PROTO_FILTER y
+ kernel_configure_variable BT_RFCOMM m
+ kernel_configure_variable BT_RFCOMM_TTY y
+ kernel_configure_variable RFKILL m
+}
+
do_configure_append_porter() {
# Enable CAN
kernel_configure_variable CAN y