summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrianDC <radian.dc@gmail.com>2016-01-05 22:43:09 +0100
committerMichael Bestas <mikeioannina@gmail.com>2017-01-04 20:00:32 +0200
commitbeaa9ddffd556fa6ed8032c63ae4fc837b94ee58 (patch)
treec762d7e46047e3d58477cc6c87c7a3d5509c27c0
parent651ad42669a11f9800f13201cf238ab5e3ab9205 (diff)
downloadandroid_hardware_qcom_fm-beaa9ddffd556fa6ed8032c63ae4fc837b94ee58.tar.gz
android_hardware_qcom_fm-beaa9ddffd556fa6ed8032c63ae4fc837b94ee58.tar.bz2
android_hardware_qcom_fm-beaa9ddffd556fa6ed8032c63ae4fc837b94ee58.zip
libfm_jni: Add support for internal antenna hardware
* Devices defining the hw.fm.internal_antenna property will switch to internal antenna to allow proper FM receival Change-Id: I3dabccb27dee8110def3b6c46bbb61252a6e3267 Signed-off-by: AdrianDC <radian.dc@gmail.com>
-rw-r--r--libfm_jni/FM_Const.h1
-rw-r--r--libfm_jni/FmRadioController.cpp7
2 files changed, 8 insertions, 0 deletions
diff --git a/libfm_jni/FM_Const.h b/libfm_jni/FM_Const.h
index 2f850d2..ef4ee2d 100644
--- a/libfm_jni/FM_Const.h
+++ b/libfm_jni/FM_Const.h
@@ -118,6 +118,7 @@ typedef unsigned long ULINT;
const char *const FM_MODE_PROP = "hw.fm.mode";
const char *const FM_VERSION_PROP = "hw.fm.version";
const char *const FM_INIT_PROP = "hw.fm.init";
+const char *const FM_INTERNAL_ANTENNA_PROP = "hw.fm.internal_antenna";
const char *const SCRIPT_START_PROP = "ctl.start";
const char *const FM_SOC_DL_SCRIPT = "fm_dl";
const char *const SCRIPT_STOP_PROP = "ctl.stOP";
diff --git a/libfm_jni/FmRadioController.cpp b/libfm_jni/FmRadioController.cpp
index 613a062..ece88e7 100644
--- a/libfm_jni/FmRadioController.cpp
+++ b/libfm_jni/FmRadioController.cpp
@@ -225,6 +225,13 @@ int FmRadioController ::Pwr_Up(int freq)
ret = FM_FAILURE;
goto exit;
}
+
+ if (property_get_bool(FM_INTERNAL_ANTENNA_PROP, false)) {
+ ret = FmIoctlsInterface::set_control(fd_driver,
+ V4L2_CID_PRV_ANTENNA, 1);
+ ALOGD("Internal antenna set, status : %d\n", ret);
+ }
+
return FM_SUCCESS;
} else { //if time out
ret = FM_FAILURE;