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
39fe3b45
Commit
39fe3b45
authored
Sep 01, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'regulator/topic/palmas' into regulator-next
parents
f27a5fb4
0416ea13
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
12 deletions
+31
-12
Documentation/devicetree/bindings/regulator/palmas-pmic.txt
Documentation/devicetree/bindings/regulator/palmas-pmic.txt
+2
-2
drivers/regulator/palmas-regulator.c
drivers/regulator/palmas-regulator.c
+24
-6
include/linux/mfd/palmas.h
include/linux/mfd/palmas.h
+5
-4
No files found.
Documentation/devicetree/bindings/regulator/palmas-pmic.txt
View file @
39fe3b45
...
@@ -25,8 +25,8 @@ Optional nodes:
...
@@ -25,8 +25,8 @@ Optional nodes:
Additional custom properties are listed below.
Additional custom properties are listed below.
For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
smps45, smps457, smps7 depending on variant, smps6, smps[8-
10
],
smps45, smps457, smps7 depending on variant, smps6, smps[8-
9
],
l
do[1-9], ldoln, ldousb.
smps10_out2, smps10_out1,
do[1-9], ldoln, ldousb.
Optional sub-node properties:
Optional sub-node properties:
ti,warm-reset - maintain voltage during warm reset(boolean)
ti,warm-reset - maintain voltage during warm reset(boolean)
...
...
drivers/regulator/palmas-regulator.c
View file @
39fe3b45
...
@@ -97,10 +97,15 @@ static const struct regs_info palmas_regs_info[] = {
...
@@ -97,10 +97,15 @@ static const struct regs_info palmas_regs_info[] = {
.
ctrl_addr
=
PALMAS_SMPS9_CTRL
,
.
ctrl_addr
=
PALMAS_SMPS9_CTRL
,
},
},
{
{
.
name
=
"SMPS10"
,
.
name
=
"SMPS10
_OUT2
"
,
.
sname
=
"smps10-in"
,
.
sname
=
"smps10-in"
,
.
ctrl_addr
=
PALMAS_SMPS10_CTRL
,
.
ctrl_addr
=
PALMAS_SMPS10_CTRL
,
},
},
{
.
name
=
"SMPS10_OUT1"
,
.
sname
=
"smps10-out2"
,
.
ctrl_addr
=
PALMAS_SMPS10_CTRL
,
},
{
{
.
name
=
"LDO1"
,
.
name
=
"LDO1"
,
.
sname
=
"ldo1-in"
,
.
sname
=
"ldo1-in"
,
...
@@ -487,6 +492,8 @@ static struct regulator_ops palmas_ops_smps10 = {
...
@@ -487,6 +492,8 @@ static struct regulator_ops palmas_ops_smps10 = {
.
set_voltage_sel
=
regulator_set_voltage_sel_regmap
,
.
set_voltage_sel
=
regulator_set_voltage_sel_regmap
,
.
list_voltage
=
regulator_list_voltage_linear
,
.
list_voltage
=
regulator_list_voltage_linear
,
.
map_voltage
=
regulator_map_voltage_linear
,
.
map_voltage
=
regulator_map_voltage_linear
,
.
set_bypass
=
regulator_set_bypass_regmap
,
.
get_bypass
=
regulator_get_bypass_regmap
,
};
};
static
int
palmas_is_enabled_ldo
(
struct
regulator_dev
*
dev
)
static
int
palmas_is_enabled_ldo
(
struct
regulator_dev
*
dev
)
...
@@ -538,7 +545,8 @@ static int palmas_smps_init(struct palmas *palmas, int id,
...
@@ -538,7 +545,8 @@ static int palmas_smps_init(struct palmas *palmas, int id,
return
ret
;
return
ret
;
switch
(
id
)
{
switch
(
id
)
{
case
PALMAS_REG_SMPS10
:
case
PALMAS_REG_SMPS10_OUT1
:
case
PALMAS_REG_SMPS10_OUT2
:
reg
&=
~
PALMAS_SMPS10_CTRL_MODE_SLEEP_MASK
;
reg
&=
~
PALMAS_SMPS10_CTRL_MODE_SLEEP_MASK
;
if
(
reg_init
->
mode_sleep
)
if
(
reg_init
->
mode_sleep
)
reg
|=
reg_init
->
mode_sleep
<<
reg
|=
reg_init
->
mode_sleep
<<
...
@@ -681,7 +689,8 @@ static struct of_regulator_match palmas_matches[] = {
...
@@ -681,7 +689,8 @@ static struct of_regulator_match palmas_matches[] = {
{
.
name
=
"smps7"
,
},
{
.
name
=
"smps7"
,
},
{
.
name
=
"smps8"
,
},
{
.
name
=
"smps8"
,
},
{
.
name
=
"smps9"
,
},
{
.
name
=
"smps9"
,
},
{
.
name
=
"smps10"
,
},
{
.
name
=
"smps10_out2"
,
},
{
.
name
=
"smps10_out1"
,
},
{
.
name
=
"ldo1"
,
},
{
.
name
=
"ldo1"
,
},
{
.
name
=
"ldo2"
,
},
{
.
name
=
"ldo2"
,
},
{
.
name
=
"ldo3"
,
},
{
.
name
=
"ldo3"
,
},
...
@@ -838,7 +847,8 @@ static int palmas_regulators_probe(struct platform_device *pdev)
...
@@ -838,7 +847,8 @@ static int palmas_regulators_probe(struct platform_device *pdev)
continue
;
continue
;
ramp_delay_support
=
true
;
ramp_delay_support
=
true
;
break
;
break
;
case
PALMAS_REG_SMPS10
:
case
PALMAS_REG_SMPS10_OUT1
:
case
PALMAS_REG_SMPS10_OUT2
:
if
(
!
PALMAS_PMIC_HAS
(
palmas
,
SMPS10_BOOST
))
if
(
!
PALMAS_PMIC_HAS
(
palmas
,
SMPS10_BOOST
))
continue
;
continue
;
}
}
...
@@ -872,7 +882,8 @@ static int palmas_regulators_probe(struct platform_device *pdev)
...
@@ -872,7 +882,8 @@ static int palmas_regulators_probe(struct platform_device *pdev)
pmic
->
desc
[
id
].
id
=
id
;
pmic
->
desc
[
id
].
id
=
id
;
switch
(
id
)
{
switch
(
id
)
{
case
PALMAS_REG_SMPS10
:
case
PALMAS_REG_SMPS10_OUT1
:
case
PALMAS_REG_SMPS10_OUT2
:
pmic
->
desc
[
id
].
n_voltages
=
PALMAS_SMPS10_NUM_VOLTAGES
;
pmic
->
desc
[
id
].
n_voltages
=
PALMAS_SMPS10_NUM_VOLTAGES
;
pmic
->
desc
[
id
].
ops
=
&
palmas_ops_smps10
;
pmic
->
desc
[
id
].
ops
=
&
palmas_ops_smps10
;
pmic
->
desc
[
id
].
vsel_reg
=
pmic
->
desc
[
id
].
vsel_reg
=
...
@@ -882,7 +893,14 @@ static int palmas_regulators_probe(struct platform_device *pdev)
...
@@ -882,7 +893,14 @@ static int palmas_regulators_probe(struct platform_device *pdev)
pmic
->
desc
[
id
].
enable_reg
=
pmic
->
desc
[
id
].
enable_reg
=
PALMAS_BASE_TO_REG
(
PALMAS_SMPS_BASE
,
PALMAS_BASE_TO_REG
(
PALMAS_SMPS_BASE
,
PALMAS_SMPS10_CTRL
);
PALMAS_SMPS10_CTRL
);
pmic
->
desc
[
id
].
enable_mask
=
SMPS10_BOOST_EN
;
if
(
id
==
PALMAS_REG_SMPS10_OUT1
)
pmic
->
desc
[
id
].
enable_mask
=
SMPS10_SWITCH_EN
;
else
pmic
->
desc
[
id
].
enable_mask
=
SMPS10_BOOST_EN
;
pmic
->
desc
[
id
].
bypass_reg
=
PALMAS_BASE_TO_REG
(
PALMAS_SMPS_BASE
,
PALMAS_SMPS10_CTRL
);
pmic
->
desc
[
id
].
bypass_mask
=
SMPS10_BYPASS_EN
;
pmic
->
desc
[
id
].
min_uV
=
3750000
;
pmic
->
desc
[
id
].
min_uV
=
3750000
;
pmic
->
desc
[
id
].
uV_step
=
1250000
;
pmic
->
desc
[
id
].
uV_step
=
1250000
;
break
;
break
;
...
...
include/linux/mfd/palmas.h
View file @
39fe3b45
...
@@ -160,7 +160,8 @@ enum palmas_regulators {
...
@@ -160,7 +160,8 @@ enum palmas_regulators {
PALMAS_REG_SMPS7
,
PALMAS_REG_SMPS7
,
PALMAS_REG_SMPS8
,
PALMAS_REG_SMPS8
,
PALMAS_REG_SMPS9
,
PALMAS_REG_SMPS9
,
PALMAS_REG_SMPS10
,
PALMAS_REG_SMPS10_OUT2
,
PALMAS_REG_SMPS10_OUT1
,
/* LDO regulators */
/* LDO regulators */
PALMAS_REG_LDO1
,
PALMAS_REG_LDO1
,
PALMAS_REG_LDO2
,
PALMAS_REG_LDO2
,
...
@@ -355,9 +356,9 @@ struct palmas_pmic {
...
@@ -355,9 +356,9 @@ struct palmas_pmic {
int
smps123
;
int
smps123
;
int
smps457
;
int
smps457
;
int
range
[
PALMAS_REG_SMPS10
];
int
range
[
PALMAS_REG_SMPS10
_OUT1
];
unsigned
int
ramp_delay
[
PALMAS_REG_SMPS10
];
unsigned
int
ramp_delay
[
PALMAS_REG_SMPS10
_OUT1
];
unsigned
int
current_reg_mode
[
PALMAS_REG_SMPS10
];
unsigned
int
current_reg_mode
[
PALMAS_REG_SMPS10
_OUT1
];
};
};
struct
palmas_resource
{
struct
palmas_resource
{
...
...
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