diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c index 4eda6213174c..09198cba45eb 100644 --- a/drivers/mfd/rk808.c +++ b/drivers/mfd/rk808.c @@ -300,6 +300,7 @@ static const struct mfd_cell rk818s[] = { static const struct rk808_reg_data rk801_pre_init_reg[] = { { RK801_SLEEP_CFG_REG, RK801_SLEEP_FUN_MSK, RK801_NONE_FUN }, { RK801_SYS_CFG2_REG, RK801_SLEEP_POL_MSK, RK801_SLEEP_ACT_H }, + { RK801_SYS_CFG2_REG, RK801_RST_MSK, RK801_RST_RESTART_REG }, { RK801_INT_CONFIG_REG, RK801_INT_POL_MSK, RK801_INT_ACT_L }, { RK801_POWER_FPWM_EN_REG, RK801_PLDO_HRDEC_EN, RK801_PLDO_HRDEC_EN }, { RK801_BUCK_DEBUG5_REG, 0xff, 0x54 }, diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h index fbffa38b061c..565d8ec8edd7 100644 --- a/include/linux/mfd/rk808.h +++ b/include/linux/mfd/rk808.h @@ -124,6 +124,10 @@ enum rk801_reg { #define RK801_SLEEP_POL_MSK BIT(1) #define RK801_SLEEP_ACT_H BIT(1) #define RK801_SLEEP_ACT_L 0 +#define RK801_RST_MSK (0x3 << 4) +#define RK801_RST_RESTART_PMU (0x0 << 4) +#define RK801_RST_RESTART_REG (0x1 << 4) +#define RK801_RST_RESTART_REG_RESETB (0x2 << 4) /* RK801_INT_CONFIG_REG */ #define RK801_INT_POL_MSK BIT(1)