X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=include%2Ftwl4030.h;h=103137372d309c2d2e906297d619d5841040e04f;hb=13a3e2ee237f515af5738c07aaf604db9b54be34;hp=093c61d6db0c969222b782ed074d0fb00606b74d;hpb=aaf5e825606a70ddc8fca8e366d8c16a6fd3cc7c;p=karo-tx-uboot.git diff --git a/include/twl4030.h b/include/twl4030.h index 093c61d6db..103137372d 100644 --- a/include/twl4030.h +++ b/include/twl4030.h @@ -129,14 +129,6 @@ #define TWL4030_PM_MASTER_BB_CFG 0x6D #define TWL4030_PM_MASTER_MISC_TST 0x6E #define TWL4030_PM_MASTER_TRIM1 0x6F -/* P[1-3]_SW_EVENTS */ -#define TWL4030_PM_MASTER_SW_EVENTS_STOPON_PWRON (1 << 6) -#define TWL4030_PM_MASTER_SW_EVENTS_STOPON_SYSEN (1 << 5) -#define TWL4030_PM_MASTER_SW_EVENTS_ENABLE_WARMRESET (1 << 4) -#define TWL4030_PM_MASTER_SW_EVENTS_LVL_WAKEUP (1 << 3) -#define TWL4030_PM_MASTER_SW_EVENTS_DEVACT (1 << 2) -#define TWL4030_PM_MASTER_SW_EVENTS_DEVSLP (1 << 1) -#define TWL4030_PM_MASTER_SW_EVENTS_DEVOFF (1 << 0) /* Power bus message definitions */ @@ -207,6 +199,34 @@ /* Power Reference */ #define RES_Main_Ref 28 +/* P[1-3]_SW_EVENTS */ +#define TWL4030_PM_MASTER_SW_EVENTS_STOPON_PWRON (1 << 6) +#define TWL4030_PM_MASTER_SW_EVENTS_STOPON_SYSEN (1 << 5) +#define TWL4030_PM_MASTER_SW_EVENTS_ENABLE_WARMRESET (1 << 4) +#define TWL4030_PM_MASTER_SW_EVENTS_LVL_WAKEUP (1 << 3) +#define TWL4030_PM_MASTER_SW_EVENTS_DEVACT (1 << 2) +#define TWL4030_PM_MASTER_SW_EVENTS_DEVSLP (1 << 1) +#define TWL4030_PM_MASTER_SW_EVENTS_DEVOFF (1 << 0) + +/* HW conditions */ +#define TWL4030_PM_MASTER_STS_HW_CONDITIONS_PWON (1 << 0) +#define TWL4030_PM_MASTER_STS_HW_CONDITIONS_CHG (1 << 1) +#define TWL4030_PM_MASTER_STS_HW_CONDITIONS_USB (1 << 2) +#define TWL4030_PM_MASTER_STS_HW_CONDITIONS_VBUS (1 << 7) + +/* Power transition */ +#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_PWON (1 << 0) +#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_CHG (1 << 1) +#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_USB (1 << 2) +#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_RTC (1 << 3) +#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_VBAT (1 << 4) +#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_VBUS (1 << 5) +#define TWL4030_PM_MASTER_CFG_TRANSITION_STARTON_SWBUG (1 << 7) + +/* PWRANA2 */ +#define TWL4030_PM_MASTER_CFG_PWRANA2_LOJIT0_LOWV (1 << 1) +#define TWL4030_PM_MASTER_CFG_PWRANA2_LOJIT1_LOWV (1 << 2) + #define TOTAL_RESOURCES 28 /* * Power Bus Message Format ... these can be sent individually by Linux, @@ -390,11 +410,15 @@ /* Voltage Selection in PM Receiver Module */ #define TWL4030_PM_RECEIVER_VAUX2_VSEL_18 0x05 +#define TWL4030_PM_RECEIVER_VAUX2_VSEL_28 0x09 +#define TWL4030_PM_RECEIVER_VAUX3_VSEL_18 0x01 #define TWL4030_PM_RECEIVER_VAUX3_VSEL_28 0x03 #define TWL4030_PM_RECEIVER_VPLL2_VSEL_18 0x05 #define TWL4030_PM_RECEIVER_VDAC_VSEL_18 0x03 #define TWL4030_PM_RECEIVER_VMMC1_VSEL_30 0x02 #define TWL4030_PM_RECEIVER_VMMC1_VSEL_32 0x03 +#define TWL4030_PM_RECEIVER_VMMC2_VSEL_30 0x0B +#define TWL4030_PM_RECEIVER_VMMC2_VSEL_32 0x0C #define TWL4030_PM_RECEIVER_VSIM_VSEL_18 0x03 /* Device Selection in PM Receiver Module */ @@ -641,13 +665,26 @@ static inline int twl4030_i2c_read_u8(u8 chip_no, u8 reg, u8 *val) /* For hardware resetting */ void twl4030_power_reset_init(void); +/* For power off */ +void twl4030_power_off(void); /* For setting device group and voltage */ void twl4030_pmrecv_vsel_cfg(u8 vsel_reg, u8 vsel_val, u8 dev_grp, u8 dev_grp_sel); /* For initializing power device */ void twl4030_power_init(void); /* For initializing mmc power */ -void twl4030_power_mmc_init(void); +void twl4030_power_mmc_init(int dev_index); + +/* + * Input + */ + +int twl4030_input_power_button(void); +int twl4030_input_charger(void); +int twl4030_input_usb(void); + +int twl4030_keypad_scan(unsigned char *matrix); +int twl4030_keypad_key(unsigned char *matrix, u8 c, u8 r); /* * LED