summaryrefslogtreecommitdiffstats
path: root/include/power
diff options
context:
space:
mode:
authorJoseph Chen <chenjh@rock-chips.com>2019-09-26 15:44:55 +0800
committerKever Yang <kever.yang@rock-chips.com>2019-11-10 20:33:52 +0800
commitb4a35574b38d0fb42031be32a47fb1095cceafa7 (patch)
treead4f14d38c6b465df0eaa9d05c50ce5315aba1dc /include/power
parentb62280745e553b5800fa0797b920e547c92da82d (diff)
downloadu-boot-b4a35574b38d0fb42031be32a47fb1095cceafa7.tar.gz
u-boot-b4a35574b38d0fb42031be32a47fb1095cceafa7.tar.xz
u-boot-b4a35574b38d0fb42031be32a47fb1095cceafa7.zip
power: pmic: rk817: support rk817 pmic
The RK817 is a Power Management IC (PMIC) for multimedia and handheld devices. They contains the following components: - Regulators(4*BUCKs, 1* BOOST, 9*LDOs, 1*SWITCH) - RTC - Clocking Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Diffstat (limited to 'include/power')
-rw-r--r--include/power/rk8xx_pmic.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/power/rk8xx_pmic.h b/include/power/rk8xx_pmic.h
index 7784c2a5e4..d93ceceddd 100644
--- a/include/power/rk8xx_pmic.h
+++ b/include/power/rk8xx_pmic.h
@@ -170,6 +170,10 @@ enum {
};
enum {
+ RK817_REG_SYS_CFG3 = 0xf4,
+};
+
+enum {
RK816_REG_DCDC_EN1 = 0x23,
RK816_REG_DCDC_EN2,
RK816_REG_DCDC_SLP_EN,
@@ -182,11 +186,38 @@ enum {
RK805_ID = 0x8050,
RK808_ID = 0x0000,
RK816_ID = 0x8160,
+ RK817_ID = 0x8170,
RK818_ID = 0x8180,
};
+enum {
+ RK817_POWER_EN0 = 0xb1,
+ RK817_POWER_EN1,
+ RK817_POWER_EN2,
+ RK817_POWER_EN3,
+};
+
+#define RK817_POWER_EN_SAVE0 0x99
+#define RK817_POWER_EN_SAVE1 0xa4
+
+#define RK817_ID_MSB 0xed
+#define RK817_ID_LSB 0xee
#define RK8XX_ID_MSK 0xfff0
+#define RK817_PMIC_SYS_CFG3 0xf4
+#define RK817_GPIO_INT_CFG 0xfe
+
+#define RK8XX_ON_SOURCE 0xae
+#define RK8XX_OFF_SOURCE 0xaf
+#define RK817_BUCK4_CMIN 0xc6
+#define RK817_ON_SOURCE 0xf5
+#define RK817_OFF_SOURCE 0xf6
+
+struct reg_data {
+ u8 reg;
+ u8 val;
+ u8 mask;
+};
struct rk8xx_reg_table {
char *name;
u8 reg_ctl;