diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/driver/ln9310.h | 57 |
1 files changed, 44 insertions, 13 deletions
diff --git a/include/driver/ln9310.h b/include/driver/ln9310.h index 07cff8ba97..e4bd0bc7e0 100644 --- a/include/driver/ln9310.h +++ b/include/driver/ln9310.h @@ -66,14 +66,14 @@ #define LN9310_REG_SYS_CTRL 0x1e #define LN9310_REG_STARTUP_CTRL 0x1f -#define LN9310_STARTUP_STANDBY_EN BIT(0) +#define LN9310_STARTUP_STANDBY_EN BIT(0) #define LN9310_STARTUP_SELECT_EXT_5V_FOR_VDR BIT(3) #define LN9310_REG_IIN_CTRL 0x20 #define LN9310_REG_VIN_CTRL 0x21 #define LN9310_REG_TRACK_CTRL 0x22 -#define LN9310_TRACK_INFET_OUT_SWITCH_OK_EN BIT(7) +#define LN9310_TRACK_INFET_OUT_SWITCH_OK_EN BIT(7) #define LN9310_TRACK_INFET_OUT_SWITCH_OK_CFG2 BIT(6) #define LN9310_TRACK_INFET_OUT_SWITCH_OK_CFG1 BIT(5) #define LN9310_TRACK_INFET_OUT_SWITCH_OK_CFG0 BIT(4) @@ -93,8 +93,8 @@ #define LN9310_REG_RECOVERY_CTRL 0x25 #define LN9310_REG_LB_CTRL 0x26 -#define LN9310_LB_MIN_FREQ_EN BIT(2) -#define LN9310_LB_DELTA_MASK 0x38 +#define LN9310_LB_MIN_FREQ_EN BIT(2) +#define LN9310_LB_DELTA_MASK 0x38 #define LN9310_LB_DELTA_2S 0x20 #define LN9310_LB_DELTA_3S 0x20 @@ -130,23 +130,24 @@ #define LN9310_REG_SC_DITHER_CTRL 0x2f -#define LN9310_REG_LION_CTRL 0x30 -#define LN9310_LION_CTRL_MASK 0xFF -#define LN9310_LION_CTRL_UNLOCK 0xAA -#define LN9310_LION_CTRL_LOCK 0x00 +#define LN9310_REG_LION_CTRL 0x30 +#define LN9310_LION_CTRL_MASK 0xFF +#define LN9310_LION_CTRL_UNLOCK_AND_EN_TM 0xAA +#define LN9310_LION_CTRL_UNLOCK 0x5B +#define LN9310_LION_CTRL_LOCK 0x00 #define LN9310_REG_CFG_0 0x3C -#define LN9310_CFG_0_LS_HELPER_IDLE_MSK_MASK 0x20 +#define LN9310_CFG_0_LS_HELPER_IDLE_MSK_MASK 0x20 #define LN9310_CFG_0_LS_HELPER_IDLE_MSK_ON 0x20 #define LN9310_REG_CFG_4 0x40 #define LN9310_CFG_4_SC_OUT_PRECHARGE_EN_TIME_CFG BIT(2) -#define LN9310_CFG_4_SW1_VGS_SHORT_EN_MSK BIT(3) +#define LN9310_CFG_4_SW1_VGS_SHORT_EN_MSK BIT(3) #define LN9310_CFG_4_SC_OUT_PRECHARGE_EN_TIME_CFG_MASK 0x04 -#define LN9310_CFG_4_SW1_VGS_SHORT_EN_MSK_MASK 0x08 +#define LN9310_CFG_4_SW1_VGS_SHORT_EN_MSK_MASK 0x08 #define LN9310_CFG_4_BSTH_BSTL_HIGH_ROUT_CFG_MASK 0xC0 #define LN9310_CFG_4_SC_OUT_PRECHARGE_EN_TIME_CFG_ON 0x04 -#define LN9310_CFG_4_SW1_VGS_SHORT_EN_MSK_OFF 0x00 +#define LN9310_CFG_4_SW1_VGS_SHORT_EN_MSK_OFF 0x00 #define LN9310_CFG_4_BSTH_BSTL_HIGH_ROUT_CFG_LOWEST 0x00 #define LN9310_REG_CFG_5 0x41 @@ -155,6 +156,24 @@ #define LN9310_CFG_5_INFET_CP_PD_BIAS_CFG_MASK 0x30 #define LN9310_CFG_5_INFET_CP_PD_BIAS_CFG_LOWEST 0x00 +#define LN9310_REG_TEST_MODE_CTRL 0x46 +#define LN9310_TEST_MODE_CTRL_FORCE_SC_OUT_PRECHARGE_MASK 0x40 +#define LN9310_TEST_MODE_CTRL_FORCE_SC_OUT_PRECHARGE_ON 0x40 +#define LN9310_TEST_MODE_CTRL_FORCE_SC_OUT_PRECHARGE_OFF 0x00 +#define LN9310_TEST_MODE_CTRL_FORCE_SC_OUT_PREDISCHARGE_MASK 0x20 +#define LN9310_TEST_MODE_CTRL_FORCE_SC_OUT_PREDISCHARGE_ON 0x20 +#define LN9310_TEST_MODE_CTRL_FORCE_SC_OUT_PREDISCHARGE_OFF 0x00 + +#define LN9310_REG_FORCE_SC21_CTRL_1 0x49 +#define LN9310_FORCE_SC21_CTRL_1_TM_SC_OUT_CFLY_PRECHARGE_MASK 0xFF +#define LN9310_FORCE_SC21_CTRL_1_TM_SC_OUT_CFLY_PRECHARGE_ON 0x59 +#define LN9310_FORCE_SC21_CTRL_1_TM_SC_OUT_CFLY_PRECHARGE_OFF 0x40 + +#define LN9310_REG_FORCE_SC21_CTRL_2 0x4A +#define LN9310_FORCE_SC21_CTRL_2_FORCE_SW_CTRL_REQ_MASK 0x80 +#define LN9310_FORCE_SC21_CTRL_2_FORCE_SW_CTRL_REQ_ON 0x80 +#define LN9310_FORCE_SC21_CTRL_2_FORCE_SW_CTRL_REQ_OFF 0x00 + #define LN9310_REG_SWAP_CTRL_0 0x58 #define LN9310_REG_SWAP_CTRL_1 0x59 #define LN9310_REG_SWAP_CTRL_2 0x5A @@ -164,8 +183,17 @@ #define LN9310_BC_STS_B_INFET_OUT_SWITCH_OK BIT(5) #define LN9310_BC_STS_B_INFET_OUT_SWITCH_OK_MASK 0x20 +#define LN9310_REG_BC_STS_C 0x52 +#define LN9310_BC_STS_C_CHIP_REV_MASK 0xF0 +#define LN9310_BC_STS_C_CHIP_REV_FIXED 0x40 + /* LN9310 Timing definition */ -#define LN9310_CDC_DELAY 120 /* 120us */ +#define LN9310_CDC_DELAY 120 /* 120us */ +#define LN9310_CFLY_PRECHARGE_DELAY (12*MSEC) +#define LN9310_CFLY_PRECHARGE_TIMEOUT (100*MSEC) + +/* LN9310 Driver Configuration */ +#define LN9310_INIT_RETRY_COUNT 3 /* Define configuration of LN9310 part */ struct ln9310_config_t { @@ -179,6 +207,9 @@ extern const struct ln9310_config_t ln9310_config; /* Init the driver */ void ln9310_init(void); +/* Enable/disable the ln9310 output */ +void ln9310_software_enable(int enable); + /* Interrupt handler */ void ln9310_interrupt(enum gpio_signal signal); |