diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c index 4af37938f8bb..45ba40295c2b 100644 --- a/drivers/mfd/rk808.c +++ b/drivers/mfd/rk808.c @@ -258,7 +258,9 @@ static const struct mfd_cell rk818s[] = { static const struct rk808_reg_data rk805_pre_init_reg[] = { {RK805_BUCK4_CONFIG_REG, BUCK_ILMIN_MASK, BUCK_ILMIN_400MA}, + {RK805_GPIO_IO_POL_REG, SLP_SD_MSK, SLEEP_FUN}, {RK805_THERMAL_REG, TEMP_HOTDIE_MSK, TEMP115C}, + {RK808_RTC_CTRL_REG, RTC_STOP, RTC_STOP}, }; static struct rk808_reg_data rk805_suspend_reg[] = { @@ -276,6 +278,7 @@ static const struct rk808_reg_data rk808_pre_init_reg[] = { { RK808_BUCK1_CONFIG_REG, BUCK1_RATE_MASK, BUCK_ILMIN_200MA }, { RK808_BUCK2_CONFIG_REG, BUCK2_RATE_MASK, BUCK_ILMIN_200MA }, { RK808_DCDC_UV_ACT_REG, BUCK_UV_ACT_MASK, BUCK_UV_ACT_DISABLE}, + { RK808_RTC_CTRL_REG, RTC_STOP, RTC_STOP}, { RK808_VB_MON_REG, MASK_ALL, VB_LO_ACT | VB_LO_SEL_3500MV }, }; @@ -329,8 +332,10 @@ static const struct rk808_reg_data rk818_pre_init_reg[] = { { RK818_H5V_EN_REG, BIT(1), RK818_REF_RDY_CTRL }, /* enable HDMI 5V */ { RK818_H5V_EN_REG, BIT(0), RK818_H5V_EN }, + { RK808_RTC_CTRL_REG, RTC_STOP, RTC_STOP}, { RK808_VB_MON_REG, MASK_ALL, VB_LO_ACT | VB_LO_SEL_3500MV }, + {RK808_CLK32OUT_REG, CLK32KOUT2_FUNC_MASK, CLK32KOUT2_FUNC}, }; static const struct regmap_irq rk805_irqs[] = { diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h index e8c4f3c76fb5..6222a360f8f1 100644 --- a/include/linux/mfd/rk808.h +++ b/include/linux/mfd/rk808.h @@ -786,6 +786,8 @@ enum rk805_reg { #define VOUT_LO_INT BIT(0) #define CLK32KOUT2_EN BIT(0) +#define CLK32KOUT2_FUNC (0 << 1) +#define CLK32KOUT2_FUNC_MASK BIT(1) #define TEMP105C 0x08 #define TEMP115C 0x0c