diff options
Diffstat (limited to 'include/linux/mfd')
-rw-r--r-- | include/linux/mfd/max77693-private.h | 28 | ||||
-rw-r--r-- | include/linux/mfd/max77693.h | 22 | ||||
-rw-r--r-- | include/linux/mfd/max8997.h | 41 | ||||
-rw-r--r-- | include/linux/mfd/s5m87xx/s5m-core.h | 2 |
4 files changed, 80 insertions, 13 deletions
diff --git a/include/linux/mfd/max77693-private.h b/include/linux/mfd/max77693-private.h index ff0b1a2..7a2c536 100644 --- a/include/linux/mfd/max77693-private.h +++ b/include/linux/mfd/max77693-private.h @@ -177,9 +177,11 @@ enum max77693_haptic_reg { /* MAX77693 STATUS2 register */ #define STATUS2_CHGTYP_SHIFT 0 #define STATUS2_CHGDETRUN_SHIFT 3 +#define STATUS2_DXOVP_SHIFT 5 #define STATUS2_VBVOLT_SHIFT 6 #define STATUS2_CHGTYP_MASK (0x7 << STATUS2_CHGTYP_SHIFT) #define STATUS2_CHGDETRUN_MASK (0x1 << STATUS2_CHGDETRUN_SHIFT) +#define STATUS2_DXOVP_MASK (0x1 << STATUS2_DXOVP_SHIFT) #define STATUS2_VBVOLT_MASK (0x1 << STATUS2_VBVOLT_SHIFT) /* MAX77693 CDETCTRL1 register */ @@ -232,7 +234,12 @@ enum max77693_reg_ctrl1_val { MAX77693_MUIC_CTRL1_BIN_6_110 = 0x06, MAX77693_MUIC_CTRL1_BIN_7_111 = 0x07, }; - +#if defined(CONFIG_SWITCH_DUAL_MODEM) +enum max77693_switch_sel_val { + MAX77693_SWITCH_SEL_1st_BIT_USB = 0x3 << 0, + MAX77693_SWITCH_SEL_2nd_BIT_UART = 0x3 << 2, +}; +#else enum max77693_switch_sel_val { MAX77693_SWITCH_SEL_1st_BIT_USB = 0x1 << 0, MAX77693_SWITCH_SEL_2nd_BIT_UART = 0x1 << 1, @@ -240,6 +247,7 @@ enum max77693_switch_sel_val { MAX77693_SWITCH_SEL_3rd_BIT_LTE_UART = 0x1 << 2, #endif }; +#endif enum max77693_reg_ctrl1_type { CTRL1_AP_USB = @@ -349,6 +357,10 @@ enum max77693_types { TYPE_MAX77693, }; +#ifdef CONFIG_FAST_BOOT +extern bool fake_shut_down; +#endif + extern struct device *switch_dev; extern int max77693_irq_init(struct max77693_dev *max77693); extern void max77693_irq_exit(struct max77693_dev *max77693); @@ -385,6 +397,12 @@ enum cable_type_muic { CABLE_TYPE_MHL_MUIC, CABLE_TYPE_MHL_VB_MUIC, CABLE_TYPE_SMARTDOCK_MUIC, + CABLE_TYPE_SMARTDOCK_TA_MUIC, + CABLE_TYPE_SMARTDOCK_USB_MUIC, + CABLE_TYPE_AUDIODOCK_MUIC, +#if defined(CONFIG_MUIC_DET_JACK) + CABLE_TYPE_EARJACK_MUIC, +#endif CABLE_TYPE_UNKNOWN_MUIC }; @@ -392,6 +410,10 @@ enum { AP_USB_MODE = 0, CP_USB_MODE, AUDIO_MODE, +#if defined(CONFIG_SWITCH_DUAL_MODEM) + CP_ESC_USB_MODE, +#endif + }; enum { @@ -400,6 +422,10 @@ enum { #ifdef CONFIG_LTE_VIA_SWITCH UART_PATH_LTE, #endif +#if defined(CONFIG_SWITCH_DUAL_MODEM) + UART_PATH_CP_ESC, +#endif + }; #endif /* CONFIG_MFD_MAX77693 */ diff --git a/include/linux/mfd/max77693.h b/include/linux/mfd/max77693.h index 07f2162..274693a 100644 --- a/include/linux/mfd/max77693.h +++ b/include/linux/mfd/max77693.h @@ -35,6 +35,14 @@ enum { MAX77693_MUIC_ATTACHED }; +enum { + MAX77693_MUIC_DOCK_DETACHED = 0, + MAX77693_MUIC_DOCK_DESKDOCK, + MAX77693_MUIC_DOCK_CARDOCK, + MAX77693_MUIC_DOCK_AUDIODOCK = 7, + MAX77693_MUIC_DOCK_SMARTDOCK = 8 +}; + /* MAX77686 regulator IDs */ enum max77693_regulators { MAX77693_ESAFEOUT1 = 0, @@ -63,6 +71,7 @@ struct max77693_charger_platform_data { #ifdef CONFIG_VIBETONZ #define MAX8997_MOTOR_REG_CONFIG2 0x2 #define MOTOR_LRA (1<<7) +#define MOTOR_ERM (0<<7) #define MOTOR_EN (1<<6) #define EXT_PWM (0<<5) #define DIVIDER_128 (1<<1) @@ -117,14 +126,17 @@ struct max77693_muic_data { void (*usb_cb) (u8 attached); void (*uart_cb) (u8 attached); int (*charger_cb) (enum cable_type_muic); - void (*deskdock_cb) (bool attached); - void (*cardock_cb) (bool attached); + void (*dock_cb) (int type); void (*mhl_cb) (int attached); void (*init_cb) (void); int (*set_safeout) (int path); bool(*is_mhl_attached) (void); int (*cfg_uart_gpio) (void); void (*jig_uart_cb) (int path); +#if defined(CONFIG_MUIC_DET_JACK) + void (*earjack_cb) (int attached); + void (*earjackkey_cb) (int pressed, unsigned int code); +#endif int (*host_notify_cb) (int enable); int gpio_usb_sel; int sw_path; @@ -135,7 +147,11 @@ struct max77693_muic_data { }; #if defined(CONFIG_MACH_M0_CTC) -int max7693_muic_cp_usb_state(void); +extern int max7693_muic_cp_usb_state(void); #endif +#if defined(CONFIG_MUIC_MAX77693_SUPPORT_OTG_AUDIO_DOCK) +extern void max77693_muic_attach_audio_dock(void); +#endif /* CONFIG_MUIC_MAX77693_SUPPORT_OTG_AUDIO_DOCK */ + #endif /* __LINUX_MFD_MAX77693_H */ diff --git a/include/linux/mfd/max8997.h b/include/linux/mfd/max8997.h index 256ed57..0658eba 100644 --- a/include/linux/mfd/max8997.h +++ b/include/linux/mfd/max8997.h @@ -24,8 +24,7 @@ #define __LINUX_MFD_MAX8997_H #include <linux/regulator/machine.h> - -#if defined(CONFIG_MACH_Q1_BD) +#if defined(CONFIG_MACH_Q1_BD) || defined(CONFIG_MACH_U1_NA_USCC) #define MAX8997_SUPPORT_TORCH #endif /* CONFIG_MACH_Q1_BD */ @@ -125,6 +124,35 @@ enum { UART_PATH_AP, }; +enum { + USB_SEL_IF = 0, + USB_SEL_CP, +}; + +enum muic_acc_type { + MUIC_ACC_TYPE_NONE = 0, + MUIC_ACC_TYPE_OTG, + MUIC_ACC_TYPE_MHL, + MUIC_ACC_TYPE_STATION, + MUIC_ACC_TYPE_JIG_USB_OFF, + MUIC_ACC_TYPE_JIG_USB_ON, + MUIC_ACC_TYPE_DESKDOCK, + MUIC_ACC_TYPE_JIG_UART_OFF, + MUIC_ACC_TYPE_JIG_UART_ON, + MUIC_ACC_TYPE_CARDOCK, + MUIC_ACC_TYPE_TA, + MUIC_ACC_TYPE_USB, + MUIC_ACC_TYPE_UNKNOWN +}; + +enum muic_chg_type { + MUIC_CHG_TYPE_NONE = 0, + MUIC_CHG_TYPE_USB, + MUIC_CHG_TYPE_TA, + MUIC_CHG_TYPE_MHL_VB, + MUIC_CHG_TYPE_UNKNOWN +}; + enum cable_type { CABLE_TYPE_NONE = 0, CABLE_TYPE_USB, @@ -153,18 +181,13 @@ struct max8997_muic_data { void (*init_cb) (void); int (*set_safeout) (int path); bool (*is_mhl_attached) (void); -#if !defined(CONFIG_MACH_U1CAMERA_BD) int (*cfg_uart_gpio) (void); -#endif /* CONFIG_MACH_U1CAMERA_BD */ void (*jig_uart_cb) (int path); int (*host_notify_cb) (int enable); -#if !defined(CONFIG_MACH_U1CAMERA_BD) int gpio_usb_sel; -#endif /* CONFIG_MACH_U1CAMERA_BD */ - int sw_path; -#if !defined(CONFIG_MACH_U1CAMERA_BD) + int gpio_uart_sel; + int usb_path; int uart_path; -#endif /* CONFIG_MACH_U1CAMERA_BD */ }; struct max8997_buck1_dvs_funcs { diff --git a/include/linux/mfd/s5m87xx/s5m-core.h b/include/linux/mfd/s5m87xx/s5m-core.h index 5afc005..5ba71a2 100644 --- a/include/linux/mfd/s5m87xx/s5m-core.h +++ b/include/linux/mfd/s5m87xx/s5m-core.h @@ -145,6 +145,7 @@ enum s5m8767_reg { S5M8767_REG_LDO26CTRL, S5M8767_REG_LDO27CTRL, S5M8767_REG_LDO28CTRL, + S5M8767_REG_BUCK1DVS2 = 0xE2, }; /* S5M8763 registers */ @@ -377,6 +378,7 @@ struct s5m_platform_data { bool wtsr_smpl; + int buck1_init; int buck2_init; int buck3_init; int buck4_init; |