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
nexedi
linux
Commits
979268cd
Commit
979268cd
authored
Nov 28, 2011
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branches 'regulator/topic/dt' and 'regulator/for-linus' into regulator-next
parents
12f457dd
7728c14a
ba305e31
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
7 deletions
+49
-7
Documentation/devicetree/bindings/regulator/regulator.txt
Documentation/devicetree/bindings/regulator/regulator.txt
+5
-5
drivers/regulator/twl-regulator.c
drivers/regulator/twl-regulator.c
+44
-2
No files found.
Documentation/devicetree/bindings/regulator/regulator.txt
View file @
979268cd
...
...
@@ -32,15 +32,15 @@ its just seen as a special case of a regulator being a
consumer itself.
Example of a consumer device node (mmc) referencing two
regulators (twl
-reg1 and twl-
reg2),
regulators (twl
_reg1 and twl_
reg2),
twl
-
reg1: regulator@0 {
twl
_
reg1: regulator@0 {
...
...
...
};
twl
-
reg2: regulator@1 {
twl
_
reg2: regulator@1 {
...
...
...
...
...
@@ -49,6 +49,6 @@ regulators (twl-reg1 and twl-reg2),
mmc: mmc@0x0 {
...
...
vmmc-supply = <&twl
-
reg1>;
vmmcaux-supply = <&twl
-
reg2>;
vmmc-supply = <&twl
_
reg1>;
vmmcaux-supply = <&twl
_
reg2>;
};
drivers/regulator/twl-regulator.c
View file @
979268cd
...
...
@@ -71,6 +71,7 @@ struct twlreg_info {
#define VREG_TYPE 1
#define VREG_REMAP 2
#define VREG_DEDICATED 3
/* LDO control */
#define VREG_VOLTAGE_SMPS_4030 9
/* TWL6030 register offsets */
#define VREG_TRANS 1
#define VREG_STATE 2
...
...
@@ -514,6 +515,32 @@ static struct regulator_ops twl4030ldo_ops = {
.
get_status
=
twl4030reg_get_status
,
};
static
int
twl4030smps_set_voltage
(
struct
regulator_dev
*
rdev
,
int
min_uV
,
int
max_uV
,
unsigned
*
selector
)
{
struct
twlreg_info
*
info
=
rdev_get_drvdata
(
rdev
);
int
vsel
=
DIV_ROUND_UP
(
min_uV
-
600000
,
12500
);
twlreg_write
(
info
,
TWL_MODULE_PM_RECEIVER
,
VREG_VOLTAGE_SMPS_4030
,
vsel
);
return
0
;
}
static
int
twl4030smps_get_voltage
(
struct
regulator_dev
*
rdev
)
{
struct
twlreg_info
*
info
=
rdev_get_drvdata
(
rdev
);
int
vsel
=
twlreg_read
(
info
,
TWL_MODULE_PM_RECEIVER
,
VREG_VOLTAGE_SMPS_4030
);
return
vsel
*
12500
+
600000
;
}
static
struct
regulator_ops
twl4030smps_ops
=
{
.
set_voltage
=
twl4030smps_set_voltage
,
.
get_voltage
=
twl4030smps_get_voltage
,
};
static
int
twl6030ldo_list_voltage
(
struct
regulator_dev
*
rdev
,
unsigned
index
)
{
struct
twlreg_info
*
info
=
rdev_get_drvdata
(
rdev
);
...
...
@@ -856,6 +883,21 @@ static struct regulator_ops twlsmps_ops = {
}, \
}
#define TWL4030_ADJUSTABLE_SMPS(label, offset, num, turnon_delay, remap_conf) \
{ \
.base = offset, \
.id = num, \
.delay = turnon_delay, \
.remap = remap_conf, \
.desc = { \
.name = #label, \
.id = TWL4030_REG_##label, \
.ops = &twl4030smps_ops, \
.type = REGULATOR_VOLTAGE, \
.owner = THIS_MODULE, \
}, \
}
#define TWL6030_ADJUSTABLE_LDO(label, offset, min_mVolts, max_mVolts) { \
.base = offset, \
.min_mV = min_mVolts, \
...
...
@@ -947,8 +989,8 @@ static struct twlreg_info twl_regs[] = {
TWL4030_ADJUSTABLE_LDO
(
VINTANA2
,
0x43
,
12
,
100
,
0x08
),
TWL4030_FIXED_LDO
(
VINTDIG
,
0x47
,
1500
,
13
,
100
,
0x08
),
TWL4030_ADJUSTABLE_LDO
(
VIO
,
0x4b
,
14
,
1000
,
0x08
),
TWL4030_ADJUSTABLE_
LDO
(
VDD1
,
0x55
,
15
,
1000
,
0x08
),
TWL4030_ADJUSTABLE_
LDO
(
VDD2
,
0x63
,
16
,
1000
,
0x08
),
TWL4030_ADJUSTABLE_
SMPS
(
VDD1
,
0x55
,
15
,
1000
,
0x08
),
TWL4030_ADJUSTABLE_
SMPS
(
VDD2
,
0x63
,
16
,
1000
,
0x08
),
TWL4030_FIXED_LDO
(
VUSB1V5
,
0x71
,
1500
,
17
,
100
,
0x08
),
TWL4030_FIXED_LDO
(
VUSB1V8
,
0x74
,
1800
,
18
,
100
,
0x08
),
TWL4030_FIXED_LDO
(
VUSB3V1
,
0x77
,
3100
,
19
,
150
,
0x08
),
...
...
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