Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2439d971 authored by Donggeun Kim's avatar Donggeun Kim Committed by Samuel Ortiz
Browse files

mfd: Add platform data for MAX8997 MUIC driver



Currently, MAX8997 device does not support MUIC function of it.
To add MAX8997 MUIC driver, header file should be updated.

Signed-off-by: default avatarDonggeun Kim <dg77.kim@samsung.com>
Signed-off-by: default avatarMyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 55ee29d5
Loading
Loading
Loading
Loading
+57 −1
Original line number Diff line number Diff line
@@ -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 */