Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
f518be6e
Commit
f518be6e
authored
Dec 28, 2020
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge existing fixes from regulator/for-5.11
parents
5c8fe583
3b66e4a8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
67 additions
and
4 deletions
+67
-4
Documentation/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml
...n/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml
+4
-2
drivers/regulator/bd718x7-regulator.c
drivers/regulator/bd718x7-regulator.c
+57
-0
drivers/regulator/pf8x00-regulator.c
drivers/regulator/pf8x00-regulator.c
+6
-2
No files found.
Documentation/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml
View file @
f518be6e
...
...
@@ -19,7 +19,9 @@ description: |
properties
:
compatible
:
enum
:
-
nxp,pf8x00
-
nxp,pf8100
-
nxp,pf8121a
-
nxp,pf8200
reg
:
maxItems
:
1
...
...
@@ -118,7 +120,7 @@ examples:
#size-cells = <0>;
pmic@8 {
compatible = "nxp,pf8
x
00";
compatible = "nxp,pf8
1
00";
reg = <0x08>;
regulators {
...
...
drivers/regulator/bd718x7-regulator.c
View file @
f518be6e
...
...
@@ -15,6 +15,36 @@
#include <linux/regulator/of_regulator.h>
#include <linux/slab.h>
/* Typical regulator startup times as per data sheet in uS */
#define BD71847_BUCK1_STARTUP_TIME 144
#define BD71847_BUCK2_STARTUP_TIME 162
#define BD71847_BUCK3_STARTUP_TIME 162
#define BD71847_BUCK4_STARTUP_TIME 240
#define BD71847_BUCK5_STARTUP_TIME 270
#define BD71847_BUCK6_STARTUP_TIME 200
#define BD71847_LDO1_STARTUP_TIME 440
#define BD71847_LDO2_STARTUP_TIME 370
#define BD71847_LDO3_STARTUP_TIME 310
#define BD71847_LDO4_STARTUP_TIME 400
#define BD71847_LDO5_STARTUP_TIME 530
#define BD71847_LDO6_STARTUP_TIME 400
#define BD71837_BUCK1_STARTUP_TIME 160
#define BD71837_BUCK2_STARTUP_TIME 180
#define BD71837_BUCK3_STARTUP_TIME 180
#define BD71837_BUCK4_STARTUP_TIME 180
#define BD71837_BUCK5_STARTUP_TIME 160
#define BD71837_BUCK6_STARTUP_TIME 240
#define BD71837_BUCK7_STARTUP_TIME 220
#define BD71837_BUCK8_STARTUP_TIME 200
#define BD71837_LDO1_STARTUP_TIME 440
#define BD71837_LDO2_STARTUP_TIME 370
#define BD71837_LDO3_STARTUP_TIME 310
#define BD71837_LDO4_STARTUP_TIME 400
#define BD71837_LDO5_STARTUP_TIME 310
#define BD71837_LDO6_STARTUP_TIME 400
#define BD71837_LDO7_STARTUP_TIME 530
/*
* BD718(37/47/50) have two "enable control modes". ON/OFF can either be
* controlled by software - or by PMIC internal HW state machine. Whether
...
...
@@ -613,6 +643,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
vsel_mask
=
DVS_BUCK_RUN_MASK
,
.
enable_reg
=
BD718XX_REG_BUCK1_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71847_BUCK1_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
.
of_parse_cb
=
buck_set_hw_dvs_levels
,
},
...
...
@@ -646,6 +677,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
vsel_mask
=
DVS_BUCK_RUN_MASK
,
.
enable_reg
=
BD718XX_REG_BUCK2_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71847_BUCK2_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
.
of_parse_cb
=
buck_set_hw_dvs_levels
,
},
...
...
@@ -680,6 +712,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
linear_range_selectors
=
bd71847_buck3_volt_range_sel
,
.
enable_reg
=
BD718XX_REG_1ST_NODVS_BUCK_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71847_BUCK3_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -706,6 +739,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
vsel_range_mask
=
BD71847_BUCK4_RANGE_MASK
,
.
linear_range_selectors
=
bd71847_buck4_volt_range_sel
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71847_BUCK4_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -727,6 +761,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
vsel_mask
=
BD718XX_3RD_NODVS_BUCK_MASK
,
.
enable_reg
=
BD718XX_REG_3RD_NODVS_BUCK_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71847_BUCK5_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -750,6 +785,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
vsel_mask
=
BD718XX_4TH_NODVS_BUCK_MASK
,
.
enable_reg
=
BD718XX_REG_4TH_NODVS_BUCK_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71847_BUCK6_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -775,6 +811,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
linear_range_selectors
=
bd718xx_ldo1_volt_range_sel
,
.
enable_reg
=
BD718XX_REG_LDO1_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71847_LDO1_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -796,6 +833,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
n_voltages
=
ARRAY_SIZE
(
ldo_2_volts
),
.
enable_reg
=
BD718XX_REG_LDO2_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71847_LDO2_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -818,6 +856,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
vsel_mask
=
BD718XX_LDO3_MASK
,
.
enable_reg
=
BD718XX_REG_LDO3_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71847_LDO3_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -840,6 +879,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
vsel_mask
=
BD718XX_LDO4_MASK
,
.
enable_reg
=
BD718XX_REG_LDO4_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71847_LDO4_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -865,6 +905,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
linear_range_selectors
=
bd71847_ldo5_volt_range_sel
,
.
enable_reg
=
BD718XX_REG_LDO5_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71847_LDO5_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -889,6 +930,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
.
vsel_mask
=
BD718XX_LDO6_MASK
,
.
enable_reg
=
BD718XX_REG_LDO6_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71847_LDO6_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -942,6 +984,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
DVS_BUCK_RUN_MASK
,
.
enable_reg
=
BD718XX_REG_BUCK1_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71837_BUCK1_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
.
of_parse_cb
=
buck_set_hw_dvs_levels
,
},
...
...
@@ -975,6 +1018,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
DVS_BUCK_RUN_MASK
,
.
enable_reg
=
BD718XX_REG_BUCK2_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71837_BUCK2_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
.
of_parse_cb
=
buck_set_hw_dvs_levels
,
},
...
...
@@ -1005,6 +1049,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
DVS_BUCK_RUN_MASK
,
.
enable_reg
=
BD71837_REG_BUCK3_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71837_BUCK3_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
.
of_parse_cb
=
buck_set_hw_dvs_levels
,
},
...
...
@@ -1033,6 +1078,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
DVS_BUCK_RUN_MASK
,
.
enable_reg
=
BD71837_REG_BUCK4_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71837_BUCK4_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
.
of_parse_cb
=
buck_set_hw_dvs_levels
,
},
...
...
@@ -1065,6 +1111,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
linear_range_selectors
=
bd71837_buck5_volt_range_sel
,
.
enable_reg
=
BD718XX_REG_1ST_NODVS_BUCK_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71837_BUCK5_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1088,6 +1135,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
BD71837_BUCK6_MASK
,
.
enable_reg
=
BD718XX_REG_2ND_NODVS_BUCK_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71837_BUCK6_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1109,6 +1157,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
BD718XX_3RD_NODVS_BUCK_MASK
,
.
enable_reg
=
BD718XX_REG_3RD_NODVS_BUCK_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71837_BUCK7_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1132,6 +1181,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
BD718XX_4TH_NODVS_BUCK_MASK
,
.
enable_reg
=
BD718XX_REG_4TH_NODVS_BUCK_CTRL
,
.
enable_mask
=
BD718XX_BUCK_EN
,
.
enable_time
=
BD71837_BUCK8_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1157,6 +1207,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
linear_range_selectors
=
bd718xx_ldo1_volt_range_sel
,
.
enable_reg
=
BD718XX_REG_LDO1_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71837_LDO1_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1178,6 +1229,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
n_voltages
=
ARRAY_SIZE
(
ldo_2_volts
),
.
enable_reg
=
BD718XX_REG_LDO2_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71837_LDO2_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1200,6 +1252,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
BD718XX_LDO3_MASK
,
.
enable_reg
=
BD718XX_REG_LDO3_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71837_LDO3_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1222,6 +1275,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
BD718XX_LDO4_MASK
,
.
enable_reg
=
BD718XX_REG_LDO4_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71837_LDO4_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1246,6 +1300,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
BD71837_LDO5_MASK
,
.
enable_reg
=
BD718XX_REG_LDO5_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71837_LDO5_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1272,6 +1327,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
BD718XX_LDO6_MASK
,
.
enable_reg
=
BD718XX_REG_LDO6_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71837_LDO6_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
@@ -1296,6 +1352,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
.
vsel_mask
=
BD71837_LDO7_MASK
,
.
enable_reg
=
BD71837_REG_LDO7_VOLT
,
.
enable_mask
=
BD718XX_LDO_EN
,
.
enable_time
=
BD71837_LDO7_STARTUP_TIME
,
.
owner
=
THIS_MODULE
,
},
.
init
=
{
...
...
drivers/regulator/pf8x00-regulator.c
View file @
f518be6e
...
...
@@ -469,13 +469,17 @@ static int pf8x00_i2c_probe(struct i2c_client *client)
}
static
const
struct
of_device_id
pf8x00_dt_ids
[]
=
{
{
.
compatible
=
"nxp,pf8x00"
,},
{
.
compatible
=
"nxp,pf8100"
,},
{
.
compatible
=
"nxp,pf8121a"
,},
{
.
compatible
=
"nxp,pf8200"
,},
{
}
};
MODULE_DEVICE_TABLE
(
of
,
pf8x00_dt_ids
);
static
const
struct
i2c_device_id
pf8x00_i2c_id
[]
=
{
{
"pf8x00"
,
0
},
{
"pf8100"
,
0
},
{
"pf8121a"
,
0
},
{
"pf8200"
,
0
},
{},
};
MODULE_DEVICE_TABLE
(
i2c
,
pf8x00_i2c_id
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment