mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
mfd: rk808: modify the sequence of the sleep pin function and polarity
The sequence of operations is as follows: 1. disable the sleep pin function 2. modify the sleep pin polarity 3. delay 3 32k clock cycle 4. select the sleep pin function Signed-off-by: shengfei Xu <xsf@rock-chips.com> Change-Id: If6df2b2f190951abe9bb31fbd18d9af47e145038 Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
This commit is contained in:
@@ -1152,6 +1152,19 @@ static int rk808_probe(struct i2c_client *client,
|
||||
rk808->i2c = client;
|
||||
rk808_i2c_client = client;
|
||||
|
||||
for (i = 0; i < nr_pre_init_regs; i++) {
|
||||
ret = regmap_update_bits(rk808->regmap,
|
||||
pre_init_reg[i].addr,
|
||||
pre_init_reg[i].mask,
|
||||
pre_init_reg[i].value);
|
||||
if (ret) {
|
||||
dev_err(&client->dev,
|
||||
"0x%x write err\n",
|
||||
pre_init_reg[i].addr);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
if (pinctrl_init) {
|
||||
ret = pinctrl_init(&client->dev, rk808);
|
||||
if (ret)
|
||||
@@ -1166,19 +1179,6 @@ static int rk808_probe(struct i2c_client *client,
|
||||
return ret;
|
||||
}
|
||||
|
||||
for (i = 0; i < nr_pre_init_regs; i++) {
|
||||
ret = regmap_update_bits(rk808->regmap,
|
||||
pre_init_reg[i].addr,
|
||||
pre_init_reg[i].mask,
|
||||
pre_init_reg[i].value);
|
||||
if (ret) {
|
||||
dev_err(&client->dev,
|
||||
"0x%x write err\n",
|
||||
pre_init_reg[i].addr);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
if (battery_irq_chip) {
|
||||
ret = regmap_add_irq_chip(rk808->regmap, client->irq,
|
||||
IRQF_ONESHOT | IRQF_SHARED, -1,
|
||||
|
||||
Reference in New Issue
Block a user