Commit 084968ad authored by Doug Anderson's avatar Doug Anderson Committed by Sasha Levin

regulator: rk808: Set the enable time for LDOs

[ Upstream commit 28249b0c ]

The LDOs are documented in the rk808 datasheet to have a soft start
time of 400us.  Add that to the driver.  If this time takes longer on
a certain board the device tree should be able to override with
"regulator-enable-ramp-delay".

This fixes some dw_mmc probing problems (together with other patches
posted to the mmc maiing lists) on rk3288.
Signed-off-by: default avatarDoug Anderson <dianders@chromium.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
parent 45eacb50
...@@ -184,6 +184,7 @@ static const struct regulator_desc rk808_reg[] = { ...@@ -184,6 +184,7 @@ static const struct regulator_desc rk808_reg[] = {
.vsel_mask = RK808_LDO_VSEL_MASK, .vsel_mask = RK808_LDO_VSEL_MASK,
.enable_reg = RK808_LDO_EN_REG, .enable_reg = RK808_LDO_EN_REG,
.enable_mask = BIT(0), .enable_mask = BIT(0),
.enable_time = 400,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, { }, {
.name = "LDO_REG2", .name = "LDO_REG2",
...@@ -198,6 +199,7 @@ static const struct regulator_desc rk808_reg[] = { ...@@ -198,6 +199,7 @@ static const struct regulator_desc rk808_reg[] = {
.vsel_mask = RK808_LDO_VSEL_MASK, .vsel_mask = RK808_LDO_VSEL_MASK,
.enable_reg = RK808_LDO_EN_REG, .enable_reg = RK808_LDO_EN_REG,
.enable_mask = BIT(1), .enable_mask = BIT(1),
.enable_time = 400,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, { }, {
.name = "LDO_REG3", .name = "LDO_REG3",
...@@ -212,6 +214,7 @@ static const struct regulator_desc rk808_reg[] = { ...@@ -212,6 +214,7 @@ static const struct regulator_desc rk808_reg[] = {
.vsel_mask = RK808_BUCK4_VSEL_MASK, .vsel_mask = RK808_BUCK4_VSEL_MASK,
.enable_reg = RK808_LDO_EN_REG, .enable_reg = RK808_LDO_EN_REG,
.enable_mask = BIT(2), .enable_mask = BIT(2),
.enable_time = 400,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, { }, {
.name = "LDO_REG4", .name = "LDO_REG4",
...@@ -226,6 +229,7 @@ static const struct regulator_desc rk808_reg[] = { ...@@ -226,6 +229,7 @@ static const struct regulator_desc rk808_reg[] = {
.vsel_mask = RK808_LDO_VSEL_MASK, .vsel_mask = RK808_LDO_VSEL_MASK,
.enable_reg = RK808_LDO_EN_REG, .enable_reg = RK808_LDO_EN_REG,
.enable_mask = BIT(3), .enable_mask = BIT(3),
.enable_time = 400,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, { }, {
.name = "LDO_REG5", .name = "LDO_REG5",
...@@ -240,6 +244,7 @@ static const struct regulator_desc rk808_reg[] = { ...@@ -240,6 +244,7 @@ static const struct regulator_desc rk808_reg[] = {
.vsel_mask = RK808_LDO_VSEL_MASK, .vsel_mask = RK808_LDO_VSEL_MASK,
.enable_reg = RK808_LDO_EN_REG, .enable_reg = RK808_LDO_EN_REG,
.enable_mask = BIT(4), .enable_mask = BIT(4),
.enable_time = 400,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, { }, {
.name = "LDO_REG6", .name = "LDO_REG6",
...@@ -254,6 +259,7 @@ static const struct regulator_desc rk808_reg[] = { ...@@ -254,6 +259,7 @@ static const struct regulator_desc rk808_reg[] = {
.vsel_mask = RK808_LDO_VSEL_MASK, .vsel_mask = RK808_LDO_VSEL_MASK,
.enable_reg = RK808_LDO_EN_REG, .enable_reg = RK808_LDO_EN_REG,
.enable_mask = BIT(5), .enable_mask = BIT(5),
.enable_time = 400,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, { }, {
.name = "LDO_REG7", .name = "LDO_REG7",
...@@ -268,6 +274,7 @@ static const struct regulator_desc rk808_reg[] = { ...@@ -268,6 +274,7 @@ static const struct regulator_desc rk808_reg[] = {
.vsel_mask = RK808_LDO_VSEL_MASK, .vsel_mask = RK808_LDO_VSEL_MASK,
.enable_reg = RK808_LDO_EN_REG, .enable_reg = RK808_LDO_EN_REG,
.enable_mask = BIT(6), .enable_mask = BIT(6),
.enable_time = 400,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, { }, {
.name = "LDO_REG8", .name = "LDO_REG8",
...@@ -282,6 +289,7 @@ static const struct regulator_desc rk808_reg[] = { ...@@ -282,6 +289,7 @@ static const struct regulator_desc rk808_reg[] = {
.vsel_mask = RK808_LDO_VSEL_MASK, .vsel_mask = RK808_LDO_VSEL_MASK,
.enable_reg = RK808_LDO_EN_REG, .enable_reg = RK808_LDO_EN_REG,
.enable_mask = BIT(7), .enable_mask = BIT(7),
.enable_time = 400,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, { }, {
.name = "SWITCH_REG1", .name = "SWITCH_REG1",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment