diff --git a/init/init_msm.h b/init/init_msm.h index aacfa6fd..2843c8e2 100644 --- a/init/init_msm.h +++ b/init/init_msm.h @@ -35,6 +35,8 @@ #define PROP_HWROTATE "ro.sf.hwrotation" #define PROP_LCDDENSITY "ro.sf.lcd_density" #define PROP_QEMU_NAVKEY "qemu.hw.mainkeys" +#define PROP_BOOT_BASEBAND "ro.boot.baseband" +#define PROP_BLUETOOTH_SOC "qcom.bluetooth.soc" #define UNUSED(a) ((void)(a)) #define ISMATCH(a,b) (!strncmp(a,b,PROP_VALUE_MAX)) diff --git a/init/init_msm8974.c b/init/init_msm8974.c index 6173eff7..c8a806c7 100644 --- a/init/init_msm8974.c +++ b/init/init_msm8974.c @@ -39,6 +39,7 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type) { char platform[PROP_VALUE_MAX]; + char baseband[PROP_VALUE_MAX]; int rc; UNUSED(msm_id); @@ -60,4 +61,9 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar else { property_set(PROP_LCDDENSITY, "320"); } + + rc = property_get(PROP_BOOT_BASEBAND, baseband); + if ((rc != NULL) && ISMATCH(baseband, "apq")) { + property_set(PROP_BLUETOOTH_SOC, "ath3k"); + } }