]> Pileus Git - ~andy/linux/commitdiff
mfd: Add platform data for MAX8997 MUIC driver
authorDonggeun Kim <dg77.kim@samsung.com>
Thu, 24 Nov 2011 09:12:17 +0000 (18:12 +0900)
committerSamuel Ortiz <sameo@linux.intel.com>
Sun, 8 Jan 2012 23:37:32 +0000 (00:37 +0100)
Currently, MAX8997 device does not support MUIC function of it.
To add MAX8997 MUIC driver, header file should be updated.

Signed-off-by: Donggeun Kim <dg77.kim@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
include/linux/mfd/max8997.h

index 0bbd13dbe336bdbbcbb86b2caf9453feac4009fd..49d2a0bfd7fec0c5d02ade6103b4230bf195d34e 100644 (file)
@@ -77,6 +77,60 @@ struct max8997_regulator_data {
        struct regulator_init_data *initdata;
 };
 
+enum max8997_muic_usb_type {
+       MAX8997_USB_HOST,
+       MAX8997_USB_DEVICE,
+};
+
+enum max8997_muic_charger_type {
+       MAX8997_CHARGER_TYPE_NONE = 0,
+       MAX8997_CHARGER_TYPE_USB,
+       MAX8997_CHARGER_TYPE_DOWNSTREAM_PORT,
+       MAX8997_CHARGER_TYPE_DEDICATED_CHG,
+       MAX8997_CHARGER_TYPE_500MA,
+       MAX8997_CHARGER_TYPE_1A,
+       MAX8997_CHARGER_TYPE_DEAD_BATTERY = 7,
+};
+
+struct max8997_muic_reg_data {
+       u8 addr;
+       u8 data;
+};
+
+/**
+ * struct max8997_muic_platform_data
+ * @usb_callback: callback function for USB
+ *               inform callee of USB type (HOST or DEVICE)
+ *               and attached state(true or false)
+ * @charger_callback: callback function for charger
+ *               inform callee of charger_type
+ *               and attached state(true or false)
+ * @deskdock_callback: callback function for desk dock
+ *               inform callee of attached state(true or false)
+ * @cardock_callback: callback function for car dock
+ *               inform callee of attached state(true or false)
+ * @mhl_callback: callback function for MHL (Mobile High-definition Link)
+ *               inform callee of attached state(true or false)
+ * @uart_callback: callback function for JIG UART
+ *                inform callee of attached state(true or false)
+ * @init_data: array of max8997_muic_reg_data
+ *            used for initializing registers of MAX8997 MUIC device
+ * @num_init_data: array size of init_data
+ */
+struct max8997_muic_platform_data {
+       void (*usb_callback)(enum max8997_muic_usb_type usb_type,
+               bool attached);
+       void (*charger_callback)(bool attached,
+               enum max8997_muic_charger_type charger_type);
+       void (*deskdock_callback) (bool attached);
+       void (*cardock_callback) (bool attached);
+       void (*mhl_callback) (bool attached);
+       void (*uart_callback) (bool attached);
+
+       struct max8997_muic_reg_data *init_data;
+       int num_init_data;
+};
+
 struct max8997_platform_data {
        /* IRQ */
        int irq_base;
@@ -113,7 +167,9 @@ struct max8997_platform_data {
        /* charge Full Timeout */
        int timeout; /* 0 (no timeout), 5, 6, 7 hours */
 
-       /* MUIC: Not implemented */
+       /* ---- MUIC ---- */
+       struct max8997_muic_platform_data *muic_pdata;
+
        /* HAPTIC: Not implemented */
        /* RTC: Not implemented */
        /* Flash: Not implemented */