Skip to content

Commit

Permalink
add single-wire serial bus interface (SSBI) driver
Browse files Browse the repository at this point in the history
SSBI is the Qualcomm single-wire serial bus interface used to connect
the MSM devices to the PMIC and other devices.

Since SSBI only supports a single slave, the driver gets the name of the
slave device passed in from the board file through the master device's
platform data.

SSBI registers pretty early (postcore), so that the PMIC can come up
before the board init. This is useful if the board init requires the
use of gpios that are connected through the PMIC.

Based on a patch by Dima Zavin <dima@android.com> that can be found at:
http://android.git.kernel.org/?p=kernel/msm.git;a=commitdiff;h=eb060bac4

This patch adds PMIC Arbiter support for the MSM8660. The PMIC Arbiter
is a hardware wrapper around the SSBI 2.0 controller that is designed to
overcome concurrency issues and security limitations.  A controller_type
field is added to the platform data to specify the type of the SSBI
controller (1.0, 2.0, or PMIC Arbiter).

[davidb@codeaurora.org:
 I've moved this driver into drivers/ssbi/ and added an include for
 linux/module.h so that it will compile]

Signed-off-by: Kenneth Heitke <kheitke@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Kenneth Heitke authored and Greg Kroah-Hartman committed Mar 25, 2013
1 parent 501ad1c commit e44b0ce
Show file tree
Hide file tree
Showing 6 changed files with 466 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"

source "drivers/spi/Kconfig"

source "drivers/ssbi/Kconfig"

source "drivers/hsi/Kconfig"

source "drivers/pps/Kconfig"
Expand Down
1 change: 1 addition & 0 deletions drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ obj-y += firmware/
obj-$(CONFIG_CRYPTO) += crypto/
obj-$(CONFIG_SUPERH) += sh/
obj-$(CONFIG_ARCH_SHMOBILE) += sh/
obj-$(CONFIG_MSM_SSBI) += ssbi/
ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
obj-y += clocksource/
endif
Expand Down
16 changes: 16 additions & 0 deletions drivers/ssbi/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#
# MSM SSBI bus support
#

menu "Qualcomm MSM SSBI bus support"

config MSM_SSBI
bool "Qualcomm Single-wire Serial Bus Interface (SSBI)"
help
If you say yes to this option, support will be included for the
built-in SSBI interface on Qualcomm MSM family processors.

This is required for communicating with Qualcomm PMICs and
other devices that have the SSBI interface.

endmenu
1 change: 1 addition & 0 deletions drivers/ssbi/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
obj-$(CONFIG_MSM_SSBI) += ssbi.o
Loading

0 comments on commit e44b0ce

Please sign in to comment.