spmi: Linux driver framework for SPMI

SPMI (System Power Management Interface) is a specification
developed by the MIPI (Mobile Industry Process Interface) Alliance
optimized for the real time control of Power Management ICs (PMIC).

SPMI is a two-wire serial interface that supports up to 4 master
devices and up to 16 logical slaves.  A physical PMIC device may
consist of multiple logical slave interfaces.

The framework supports message APIs, multiple busses (1 controller
per bus) and multiple clients/slave devices per controller.

Change-Id: Ib6319047b4ab9cea6dfb0879312c4c1f63462439
Signed-off-by: Kenneth Heitke <kheitke@codeaurora.org>
This commit is contained in:
Kenneth Heitke
2012-02-08 13:45:33 -07:00
committed by Stephen Boyd
parent bb75acd691
commit b2b4c69ecd
7 changed files with 1231 additions and 0 deletions

View File

@@ -445,6 +445,24 @@ struct spi_device_id {
__attribute__((aligned(sizeof(kernel_ulong_t))));
};
#define SLIMBUS_NAME_SIZE 32
#define SLIMBUS_MODULE_PREFIX "slim:"
struct slim_device_id {
char name[SLIMBUS_NAME_SIZE];
kernel_ulong_t driver_data /* Data private to the driver */
__attribute__((aligned(sizeof(kernel_ulong_t))));
};
#define SPMI_NAME_SIZE 32
#define SPMI_MODULE_PREFIX "spmi:"
struct spmi_device_id {
char name[SPMI_NAME_SIZE];
kernel_ulong_t driver_data /* Data private to the driver */
__attribute__((aligned(sizeof(kernel_ulong_t))));
};
/* dmi */
enum dmi_field {
DMI_NONE,