drivers: misc: add bluedroid_pm drver
authorNagarjuna Kristam <nkristam@nvidia.com>
Mon, 12 Nov 2012 10:54:34 +0000 (15:54 +0530)
committerMrutyunjay Sawant <msawant@nvidia.com>
Mon, 3 Dec 2012 10:26:51 +0000 (02:26 -0800)
commitdc52aec5701605281c1e058cc5f85f027994852a
tree487c5224325634c6e5fe4c66ac7aea21815d769b
parent119ecc7c7ec6b83f60dadf715dbabf50467bb335
drivers: misc: add bluedroid_pm drver

This driver is implemented to actively manage the bluetooth radio power and
control wake interface from bluetooth radio to host processor.
Two interfaces are used to manage bluetooth radio power

RFKILL: This interface is used to toggle rfkill switches which are controlled
by gpios and voltage regulators. This interface is created only when
bluetooth radio requires one of rfkill switches [GPIO/ Voltage regulators]
Driver assumes vdd_bt_3v3 as consumer name for 3V regulator and
vddio_bt_1v8 as consumer name for 1.8V regulator

PROCFS: Using procfs interface, driver controls BT chip ext_wake GPIO to
enable/disable BT chip LPM. This interface is created only when bluetooth
module supports LPM mode control using GPIO

This driver assumes platform data is passed from the board files to configure
IO parameters needed to control bluetooth radio.

"shutdown_gpio" is resource name to register radio's Enable/Shutdown gpio
"reset_gpio" is resource name to regster radio's reset gpio
"gpio_ext_wake" is resource name to register radio's ext_wake gpio
"gpio_host_wake" is resource name to register host wake gpio
"host_wake" is resource name to register host wake irq

Bug 1169531

Change-Id: Ic327cc37c5a975ef7b7c8d165e151a96912052b7
Signed-off-by: Anita Kar <akar@nvidia.com>
Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com>
Reviewed-on: http://git-master/r/167711
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com>
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/misc/bluedroid_pm.c [new file with mode: 0644]