* [PATCH 0/3] Device tree support for TWL regulators
@ 2011-10-27 8:04 Rajendra Nayak
[not found] ` <1319702674-16304-1-git-send-email-rnayak-l0cyMroinI0@public.gmane.org>
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Rajendra Nayak @ 2011-10-27 8:04 UTC (permalink / raw)
To: broonie, grant.likely
Cc: b-cousson, patches, tony, devicetree-discuss, Rajendra Nayak,
linux-omap, lrg, linux-arm-kernel
Hi,
This series adapts TWL regulator driver to work with device
tree and passes regulator data for two OMAP4 boards (OMAP4
panda and OMAP4 sdp) from device tree.
The series has a few dependencies
-1- base regulator dt support series posted here
http://marc.info/?l=linux-omap&m=131970236516788&w=2
-2- All base omap3/4 DT support patches lined up
for 3.2 merge here
git://github.com/tmlind/linux.git dt
-3- patches for i2c/twl support posted here
http://marc.info/?l=linux-omap&m=131705583821757&w=2
All the dependent patches and the ones posted as part
of this series are pulled in one branch can be found here
git://gitorious.org/omap-pm/linux.git for-dt/regulator-i2c-twl
regards,
Rajendra
Rajendra Nayak (3):
regulator: twl: adapt twl-regulator driver to dt
omap4: sdp: Pass regulator data from dt
omap4: panda: Pass regulator data from DT
.../bindings/regulator/twl-regulator.txt | 57 +++++++++
arch/arm/boot/dts/omap4-panda.dts | 34 +++++
arch/arm/boot/dts/omap4-sdp.dts | 36 ++++++
drivers/regulator/Kconfig | 1 +
drivers/regulator/twl-regulator.c | 128 +++++++++++++-------
5 files changed, 211 insertions(+), 45 deletions(-)
create mode 100644 Documentation/devicetree/bindings/regulator/twl-regulator.txt
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] regulator: twl: adapt twl-regulator driver to dt
[not found] ` <1319702674-16304-1-git-send-email-rnayak-l0cyMroinI0@public.gmane.org>
@ 2011-10-27 8:04 ` Rajendra Nayak
2011-10-27 8:55 ` Mark Brown
0 siblings, 1 reply; 6+ messages in thread
From: Rajendra Nayak @ 2011-10-27 8:04 UTC (permalink / raw)
To: broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E,
grant.likely-s3s/WqlpOiPyB63q8FvJNQ
Cc: patches-QSEj5FYQhm4dnm+yROfE0A, tony-4v6yS6AI5VpBDgjK7y7TUQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-omap-u79uwXL29TY76Z2rM5mHXA, lrg-l0cyMroinI0,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Modify the twl regulator driver to extract the regulator_init_data from
device tree when passed, instead of getting it through platform_data
structures (on non-DT builds)
Signed-off-by: Rajendra Nayak <rnayak-l0cyMroinI0@public.gmane.org>
---
drivers/regulator/Kconfig | 1 +
drivers/regulator/twl-regulator.c | 128 ++++++++++++++++++++++++-------------
2 files changed, 84 insertions(+), 45 deletions(-)
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index 8106958..9c12ae8 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -135,6 +135,7 @@ config REGULATOR_MAX8998
config REGULATOR_TWL4030
bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 PMIC"
depends on TWL4030_CORE
+ select OF_REGULATOR if OF
help
This driver supports the voltage regulators provided by
this family of companion chips.
diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c
index 9a2e07a..d857116 100644
--- a/drivers/regulator/twl-regulator.c
+++ b/drivers/regulator/twl-regulator.c
@@ -14,8 +14,10 @@
#include <linux/err.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
+#include <linux/of.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
+#include <linux/regulator/of_regulator.h>
#include <linux/i2c/twl.h>
@@ -58,6 +60,7 @@ struct twlreg_info {
/* chip specific features */
unsigned long features;
+ const char *compatible;
};
@@ -839,13 +842,14 @@ static struct regulator_ops twlsmps_ops = {
TWL_FIXED_LDO(label, offset, mVolts, 0x0, turnon_delay, \
0x0, TWL6030, twl6030fixed_ops)
-#define TWL4030_ADJUSTABLE_LDO(label, offset, num, turnon_delay, remap_conf) { \
+#define TWL4030_ADJUSTABLE_LDO(label, offset, num, turnon_delay, remap_conf, comp) { \
.base = offset, \
.id = num, \
.table_len = ARRAY_SIZE(label##_VSEL_table), \
.table = label##_VSEL_table, \
.delay = turnon_delay, \
.remap = remap_conf, \
+ .compatible = comp, \
.desc = { \
.name = #label, \
.id = TWL4030_REG_##label, \
@@ -856,10 +860,11 @@ static struct regulator_ops twlsmps_ops = {
}, \
}
-#define TWL6030_ADJUSTABLE_LDO(label, offset, min_mVolts, max_mVolts) { \
+#define TWL6030_ADJUSTABLE_LDO(label, offset, min_mVolts, max_mVolts, comp) { \
.base = offset, \
.min_mV = min_mVolts, \
.max_mV = max_mVolts, \
+ .compatible = comp, \
.desc = { \
.name = #label, \
.id = TWL6030_REG_##label, \
@@ -870,10 +875,11 @@ static struct regulator_ops twlsmps_ops = {
}, \
}
-#define TWL6025_ADJUSTABLE_LDO(label, offset, min_mVolts, max_mVolts) { \
+#define TWL6025_ADJUSTABLE_LDO(label, offset, min_mVolts, max_mVolts, comp) { \
.base = offset, \
.min_mV = min_mVolts, \
.max_mV = max_mVolts, \
+ .compatible = comp, \
.desc = { \
.name = #label, \
.id = TWL6025_REG_##label, \
@@ -932,23 +938,23 @@ static struct regulator_ops twlsmps_ops = {
* software control over them after boot.
*/
static struct twlreg_info twl_regs[] = {
- TWL4030_ADJUSTABLE_LDO(VAUX1, 0x17, 1, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VAUX2_4030, 0x1b, 2, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VAUX2, 0x1b, 2, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VAUX3, 0x1f, 3, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VAUX4, 0x23, 4, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VMMC1, 0x27, 5, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VMMC2, 0x2b, 6, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VPLL1, 0x2f, 7, 100, 0x00),
- TWL4030_ADJUSTABLE_LDO(VPLL2, 0x33, 8, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VSIM, 0x37, 9, 100, 0x00),
- TWL4030_ADJUSTABLE_LDO(VDAC, 0x3b, 10, 100, 0x08),
+ TWL4030_ADJUSTABLE_LDO(VAUX1, 0x17, 1, 100, 0x08, "ti,twl4030-vaux1"),
+ TWL4030_ADJUSTABLE_LDO(VAUX2_4030, 0x1b, 2, 100, 0x08, "ti,twl4030-vaux2"),
+ TWL4030_ADJUSTABLE_LDO(VAUX2, 0x1b, 2, 100, 0x08, "ti,twl5030-vaux2"),
+ TWL4030_ADJUSTABLE_LDO(VAUX3, 0x1f, 3, 100, 0x08, "ti,twl4030-vaux3"),
+ TWL4030_ADJUSTABLE_LDO(VAUX4, 0x23, 4, 100, 0x08, "ti,twl4030-vaux4"),
+ TWL4030_ADJUSTABLE_LDO(VMMC1, 0x27, 5, 100, 0x08, "ti,twl4030-vmmc1"),
+ TWL4030_ADJUSTABLE_LDO(VMMC2, 0x2b, 6, 100, 0x08, "ti,twl4030-vmmc2"),
+ TWL4030_ADJUSTABLE_LDO(VPLL1, 0x2f, 7, 100, 0x00, "ti,twl4030-vpll1"),
+ TWL4030_ADJUSTABLE_LDO(VPLL2, 0x33, 8, 100, 0x08, "ti,twl4030-vpll2"),
+ TWL4030_ADJUSTABLE_LDO(VSIM, 0x37, 9, 100, 0x00, "ti,twl4030-vsim"),
+ TWL4030_ADJUSTABLE_LDO(VDAC, 0x3b, 10, 100, 0x08, "ti,twl4030-vdac"),
TWL4030_FIXED_LDO(VINTANA1, 0x3f, 1500, 11, 100, 0x08),
- TWL4030_ADJUSTABLE_LDO(VINTANA2, 0x43, 12, 100, 0x08),
+ TWL4030_ADJUSTABLE_LDO(VINTANA2, 0x43, 12, 100, 0x08, "ti,twl4030-vintana2"),
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_LDO(VIO, 0x4b, 14, 1000, 0x08, "ti,twl4030-vio"),
+ TWL4030_ADJUSTABLE_LDO(VDD1, 0x55, 15, 1000, 0x08, "ti,twl4030-vdd1"),
+ TWL4030_ADJUSTABLE_LDO(VDD2, 0x63, 16, 1000, 0x08, "ti,twl4030-vdd2"),
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),
@@ -957,12 +963,12 @@ static struct twlreg_info twl_regs[] = {
/* 6030 REG with base as PMC Slave Misc : 0x0030 */
/* Turnon-delay and remap configuration values for 6030 are not
verified since the specification is not public */
- TWL6030_ADJUSTABLE_LDO(VAUX1_6030, 0x54, 1000, 3300),
- TWL6030_ADJUSTABLE_LDO(VAUX2_6030, 0x58, 1000, 3300),
- TWL6030_ADJUSTABLE_LDO(VAUX3_6030, 0x5c, 1000, 3300),
- TWL6030_ADJUSTABLE_LDO(VMMC, 0x68, 1000, 3300),
- TWL6030_ADJUSTABLE_LDO(VPP, 0x6c, 1000, 3300),
- TWL6030_ADJUSTABLE_LDO(VUSIM, 0x74, 1000, 3300),
+ TWL6030_ADJUSTABLE_LDO(VAUX1_6030, 0x54, 1000, 3300, "ti,twl6030-vaux1"),
+ TWL6030_ADJUSTABLE_LDO(VAUX2_6030, 0x58, 1000, 3300, "ti,twl6030-vaux2"),
+ TWL6030_ADJUSTABLE_LDO(VAUX3_6030, 0x5c, 1000, 3300, "ti,twl6030-vaux3"),
+ TWL6030_ADJUSTABLE_LDO(VMMC, 0x68, 1000, 3300, "ti,twl6030-vmmc"),
+ TWL6030_ADJUSTABLE_LDO(VPP, 0x6c, 1000, 3300, "ti,twl6030-vpp"),
+ TWL6030_ADJUSTABLE_LDO(VUSIM, 0x74, 1000, 3300, "ti,twl6030-vusim"),
TWL6030_FIXED_LDO(VANA, 0x50, 2100, 0),
TWL6030_FIXED_LDO(VCXIO, 0x60, 1800, 0),
TWL6030_FIXED_LDO(VDAC, 0x64, 1800, 0),
@@ -970,15 +976,15 @@ static struct twlreg_info twl_regs[] = {
TWL6030_FIXED_RESOURCE(CLK32KG, 0x8C, 0),
/* 6025 are renamed compared to 6030 versions */
- TWL6025_ADJUSTABLE_LDO(LDO2, 0x54, 1000, 3300),
- TWL6025_ADJUSTABLE_LDO(LDO4, 0x58, 1000, 3300),
- TWL6025_ADJUSTABLE_LDO(LDO3, 0x5c, 1000, 3300),
- TWL6025_ADJUSTABLE_LDO(LDO5, 0x68, 1000, 3300),
- TWL6025_ADJUSTABLE_LDO(LDO1, 0x6c, 1000, 3300),
- TWL6025_ADJUSTABLE_LDO(LDO7, 0x74, 1000, 3300),
- TWL6025_ADJUSTABLE_LDO(LDO6, 0x60, 1000, 3300),
- TWL6025_ADJUSTABLE_LDO(LDOLN, 0x64, 1000, 3300),
- TWL6025_ADJUSTABLE_LDO(LDOUSB, 0x70, 1000, 3300),
+ TWL6025_ADJUSTABLE_LDO(LDO2, 0x54, 1000, 3300, "ti,twl6025-ldo2"),
+ TWL6025_ADJUSTABLE_LDO(LDO4, 0x58, 1000, 3300, "ti,twl6025-ldo4"),
+ TWL6025_ADJUSTABLE_LDO(LDO3, 0x5c, 1000, 3300, "ti,twl6025-ldo3"),
+ TWL6025_ADJUSTABLE_LDO(LDO5, 0x68, 1000, 3300, "ti,twl6025-ldo5"),
+ TWL6025_ADJUSTABLE_LDO(LDO1, 0x6c, 1000, 3300, "ti,twl6025-ldo1"),
+ TWL6025_ADJUSTABLE_LDO(LDO7, 0x74, 1000, 3300, "ti,twl6025-ldo7"),
+ TWL6025_ADJUSTABLE_LDO(LDO6, 0x60, 1000, 3300, "ti,twl6025-ldo6"),
+ TWL6025_ADJUSTABLE_LDO(LDOLN, 0x64, 1000, 3300, "ti,twl6025-ldoln"),
+ TWL6025_ADJUSTABLE_LDO(LDOUSB, 0x70, 1000, 3300, "ti,twl6025-ldousb"),
TWL6025_ADJUSTABLE_SMPS(SMPS3, 0x34),
TWL6025_ADJUSTABLE_SMPS(SMPS4, 0x10),
@@ -1005,22 +1011,37 @@ static u8 twl_get_smps_mult(void)
static int __devinit twlreg_probe(struct platform_device *pdev)
{
- int i;
+ int i, id;
struct twlreg_info *info;
struct regulator_init_data *initdata;
struct regulation_constraints *c;
struct regulator_dev *rdev;
- for (i = 0, info = NULL; i < ARRAY_SIZE(twl_regs); i++) {
- if (twl_regs[i].desc.id != pdev->id)
- continue;
- info = twl_regs + i;
- break;
+ if (pdev->dev.of_node) { /* dt based lookup */
+ for (i = 0, info = NULL; i < ARRAY_SIZE(twl_regs); i++) {
+ if (!twl_regs[i].compatible ||
+ !of_device_is_compatible(pdev->dev.of_node,
+ twl_regs[i].compatible))
+ continue;
+ info = twl_regs + i;
+ id = twl_regs[i].desc.id;
+ initdata = of_get_regulator_init_data(&pdev->dev);
+ break;
+ }
+ } else {
+ /* pdev->id based lookup */
+ for (i = 0, info = NULL; i < ARRAY_SIZE(twl_regs); i++) {
+ if (twl_regs[i].desc.id != pdev->id)
+ continue;
+ info = twl_regs + i;
+ id = pdev->id;
+ initdata = pdev->dev.platform_data;
+ break;
+ }
}
if (!info)
return -ENODEV;
- initdata = pdev->dev.platform_data;
if (!initdata)
return -EINVAL;
@@ -1035,7 +1056,7 @@ static int __devinit twlreg_probe(struct platform_device *pdev)
c->valid_ops_mask &= REGULATOR_CHANGE_VOLTAGE
| REGULATOR_CHANGE_MODE
| REGULATOR_CHANGE_STATUS;
- switch (pdev->id) {
+ switch (id) {
case TWL4030_REG_VIO:
case TWL4030_REG_VDD1:
case TWL4030_REG_VDD2:
@@ -1049,7 +1070,7 @@ static int __devinit twlreg_probe(struct platform_device *pdev)
break;
}
- switch (pdev->id) {
+ switch (id) {
case TWL6025_REG_SMPS3:
if (twl_get_smps_mult() & SMPS_MULTOFFSET_SMPS3)
info->flags |= SMPS_EXTENDED_EN;
@@ -1070,7 +1091,8 @@ static int __devinit twlreg_probe(struct platform_device *pdev)
break;
}
- rdev = regulator_register(&info->desc, &pdev->dev, initdata, info, NULL);
+ rdev = regulator_register(&info->desc, &pdev->dev, initdata, info,
+ pdev->dev.of_node);
if (IS_ERR(rdev)) {
dev_err(&pdev->dev, "can't register %s, %ld\n",
info->desc.name, PTR_ERR(rdev));
@@ -1101,14 +1123,30 @@ static int __devexit twlreg_remove(struct platform_device *pdev)
MODULE_ALIAS("platform:twl_reg");
+#if defined(CONFIG_OF)
+static const struct of_device_id twl_of_match[] __devinitconst = {
+ { .compatible = "ti,twl6030" },
+ { .compatible = "ti,twl6025" },
+ { .compatible = "ti,twl5030" },
+ { .compatible = "ti,twl4030" },
+ {},
+};
+MODULE_DEVICE_TABLE(of, twl_of_match);
+#else
+#define twl_of_match NULL
+#endif
+
static struct platform_driver twlreg_driver = {
.probe = twlreg_probe,
.remove = __devexit_p(twlreg_remove),
/* NOTE: short name, to work around driver model truncation of
* "twl_regulator.12" (and friends) to "twl_regulator.1".
*/
- .driver.name = "twl_reg",
- .driver.owner = THIS_MODULE,
+ .driver = {
+ .name = "twl_reg",
+ .owner = THIS_MODULE,
+ .of_match_table = twl_of_match,
+ },
};
static int __init twlreg_init(void)
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] omap4: sdp: Pass regulator data from dt
2011-10-27 8:04 [PATCH 0/3] Device tree support for TWL regulators Rajendra Nayak
[not found] ` <1319702674-16304-1-git-send-email-rnayak-l0cyMroinI0@public.gmane.org>
@ 2011-10-27 8:04 ` Rajendra Nayak
2011-10-27 8:58 ` Mark Brown
2011-10-27 8:04 ` [PATCH 3/3] omap4: panda: Pass regulator data from DT Rajendra Nayak
2 siblings, 1 reply; 6+ messages in thread
From: Rajendra Nayak @ 2011-10-27 8:04 UTC (permalink / raw)
To: broonie, grant.likely
Cc: devicetree-discuss, linux-omap, linux-arm-kernel, tony, lrg,
b-cousson, patches, Rajendra Nayak
Pass adjustable regulator information for omap4sdp from device tree so the
regulator driver can then use the regulator helper
routine to extract and use them during the driver probe().
Also add documentation for TWL regulator specific bindings.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
---
.../bindings/regulator/twl-regulator.txt | 57 ++++++++++++++++++++
arch/arm/boot/dts/omap4-sdp.dts | 36 ++++++++++++
2 files changed, 93 insertions(+), 0 deletions(-)
create mode 100644 Documentation/devicetree/bindings/regulator/twl-regulator.txt
diff --git a/Documentation/devicetree/bindings/regulator/twl-regulator.txt b/Documentation/devicetree/bindings/regulator/twl-regulator.txt
new file mode 100644
index 0000000..2b0842c
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/twl-regulator.txt
@@ -0,0 +1,57 @@
+TWL family of regulators
+
+Required properties:
+- compatible:
+ - "ti,twl4030" for twl4030 regulators
+ - "ti,twl6025" for twl6025 regulators
+ - "ti,twl6030" for twl6030 regulators
+
+Additionally compatible can be used to specify the
+exact regulator/ldo instance like
+For twl6030 regulators/LDO's
+- compatible:
+ - "ti,twl6030-vaux1" for VAUX1 LDO
+ - "ti,twl6030-vaux2" for VAUX2 LDO
+ - "ti,twl6030-vaux3" for VAUX3 LDO
+ - "ti,twl6030-vmmc" for VMMC LDO
+ - "ti,twl6030-vpp" for VPP LDO
+ - "ti,twl6030-vusim" for VUSIM LDO
+For twl6025 regulators/LDO's
+- compatible:
+ - "ti,twl6025-ldo1" for LDO1 LDO
+ - "ti,twl6025-ldo2" for LDO2 LDO
+ - "ti,twl6025-ldo3" for LDO3 LDO
+ - "ti,twl6025-ldo4" for LDO4 LDO
+ - "ti,twl6025-ldo5" for LDO5 LDO
+ - "ti,twl6025-ldo6" for LDO6 LDO
+ - "ti,twl6025-ldo7" for LDO7 LDO
+ - "ti,twl6025-ldoln" for LDOLN LDO
+ - "ti,twl6025-ldousb" for LDOUSB LDO
+For twl4030 regulators/LDO's
+- compatible:
+ - "ti,twl4030-vaux1" for VAUX1 LDO
+ - "ti,twl4030-vaux2" for VAUX2 LDO
+ - "ti,twl5030-vaux2" for VAUX2 LDO
+ - "ti,twl4030-vaux3" for VAUX3 LDO
+ - "ti,twl4030-vaux4" for VAUX4 LDO
+ - "ti,twl4030-vmmc1" for VMMC1 LDO
+ - "ti,twl4030-vmmc2" for VMMC2 LDO
+ - "ti,twl4030-vpll1" for VPLL1 LDO
+ - "ti,twl4030-vpll2" for VPLL2 LDO
+ - "ti,twl4030-vsim" for VSIM LDO
+ - "ti,twl4030-vdac" for VDAC LDO
+ - "ti,twl4030-vintana2" for VINTANA2 LDO
+ - "ti,twl4030-vio" for VIO LDO
+ - "ti,twl4030-vdd1" for VDD1 LDO
+ - "ti,twl4030-vdd2" for VDD2 LDO
+
+Optional properties:
+- Any optional property defined in bindings/regulator/regulator.txt
+
+Example:
+
+ xyz: regulator@0 {
+ compatible = "ti,twl6030-vaux1","ti,twl6030";
+ regulator-min_uV = <1000000>;
+ regulator-max_uV = <3000000>;
+ };
diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
index 2990841..adc7faf 100644
--- a/arch/arm/boot/dts/omap4-sdp.dts
+++ b/arch/arm/boot/dts/omap4-sdp.dts
@@ -48,6 +48,42 @@
compatible = "ti,twl4030-rtc";
interrupts = <11>;
};
+
+ vaux1: regulator@0 {
+ compatible = "ti,twl6030-vaux1","ti,twl6030";
+ regulator-min-uV = <1000000>;
+ regulator-max-uV = <3000000>;
+ };
+
+ vaux2: regulator@1 {
+ compatible = "ti,twl6030-vaux2","ti,twl6030";
+ regulator-min-uV = <1200000>;
+ regulator-max-uV = <2800000>;
+ };
+
+ vaux3: regulator@2 {
+ compatible = "ti,twl6030-vaux3","ti,twl6030";
+ regulator-min-uV = <1000000>;
+ regulator-max-uV = <3000000>;
+ };
+
+ vmmc: regulator@3 {
+ compatible = "ti,twl6030-vmmc","ti,twl6030";
+ regulator-min-uV = <1200000>;
+ regulator-max-uV = <3000000>;
+ };
+
+ vpp: regulator@4 {
+ compatible = "ti,twl6030-vpp","ti,twl6030";
+ regulator-min-uV = <1800000>;
+ regulator-max-uV = <2500000>;
+ };
+
+ vusim: regulator@5 {
+ compatible = "ti,twl6030-vusim","ti,twl6030";
+ regulator-min-uV = <1200000>;
+ regulator-max-uV = <2900000>;
+ };
};
};
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] omap4: panda: Pass regulator data from DT
2011-10-27 8:04 [PATCH 0/3] Device tree support for TWL regulators Rajendra Nayak
[not found] ` <1319702674-16304-1-git-send-email-rnayak-l0cyMroinI0@public.gmane.org>
2011-10-27 8:04 ` [PATCH 2/3] omap4: sdp: Pass regulator data from dt Rajendra Nayak
@ 2011-10-27 8:04 ` Rajendra Nayak
2 siblings, 0 replies; 6+ messages in thread
From: Rajendra Nayak @ 2011-10-27 8:04 UTC (permalink / raw)
To: broonie, grant.likely
Cc: devicetree-discuss, linux-omap, linux-arm-kernel, tony, lrg,
b-cousson, patches, Rajendra Nayak
Pass the fixed and adjustable voltage regulator information for
omap4panda board from device tree.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
---
arch/arm/boot/dts/omap4-panda.dts | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts
index 2c6ce2b..4c3069f 100644
--- a/arch/arm/boot/dts/omap4-panda.dts
+++ b/arch/arm/boot/dts/omap4-panda.dts
@@ -48,6 +48,40 @@
compatible = "ti,twl4030-rtc";
interrupts = <11>;
};
+
+ vwl1271: fixedregulator@0 {
+ compatible = "regulator-fixed";
+ regulator-fixed-supply = "vwl1271";
+ regulator-fixed-microvolts = <1800000>;
+ regulator-fixed-gpio = <43>;
+ regulator-fixed-startup-delay = <70000>;
+ regulator-fixed-enable-high;
+ regulator-fixed-enabled-at-boot;
+ };
+
+ vaux2: regulator@0 {
+ compatible = "ti,twl6030-vaux2","ti,twl6030";
+ regulator-min-uV = <1200000>;
+ regulator-max-uV = <2800000>;
+ };
+
+ vaux3: regulator@1 {
+ compatible = "ti,twl6030-vaux3","ti,twl6030";
+ regulator-min-uV = <1000000>;
+ regulator-max-uV = <3000000>;
+ };
+
+ vmmc: regulator@2 {
+ compatible = "ti,twl6030-vmmc","ti,twl6030";
+ regulator-min-uV = <1200000>;
+ regulator-max-uV = <3000000>;
+ };
+
+ vpp: regulator@3 {
+ compatible = "ti,twl6030-vpp","ti,twl6030";
+ regulator-min-uV = <1800000>;
+ regulator-max-uV = <2500000>;
+ };
};
};
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] regulator: twl: adapt twl-regulator driver to dt
2011-10-27 8:04 ` [PATCH 1/3] regulator: twl: adapt twl-regulator driver to dt Rajendra Nayak
@ 2011-10-27 8:55 ` Mark Brown
0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2011-10-27 8:55 UTC (permalink / raw)
To: Rajendra Nayak
Cc: grant.likely, devicetree-discuss, linux-omap, linux-arm-kernel,
tony, lrg, b-cousson, patches
On Thu, Oct 27, 2011 at 01:34:32PM +0530, Rajendra Nayak wrote:
> + select OF_REGULATOR if OF
We should probably just not have OF_REGULATOR or do the select from the
core, this is just going to end up being noisy.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/3] omap4: sdp: Pass regulator data from dt
2011-10-27 8:04 ` [PATCH 2/3] omap4: sdp: Pass regulator data from dt Rajendra Nayak
@ 2011-10-27 8:58 ` Mark Brown
0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2011-10-27 8:58 UTC (permalink / raw)
To: Rajendra Nayak
Cc: grant.likely, devicetree-discuss, linux-omap, linux-arm-kernel,
tony, lrg, b-cousson, patches
On Thu, Oct 27, 2011 at 01:34:33PM +0530, Rajendra Nayak wrote:
> Also add documentation for TWL regulator specific bindings.
This should've been in the previous patch.
> +For twl6030 regulators/LDO's
LDOs.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-10-27 8:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-27 8:04 [PATCH 0/3] Device tree support for TWL regulators Rajendra Nayak
[not found] ` <1319702674-16304-1-git-send-email-rnayak-l0cyMroinI0@public.gmane.org>
2011-10-27 8:04 ` [PATCH 1/3] regulator: twl: adapt twl-regulator driver to dt Rajendra Nayak
2011-10-27 8:55 ` Mark Brown
2011-10-27 8:04 ` [PATCH 2/3] omap4: sdp: Pass regulator data from dt Rajendra Nayak
2011-10-27 8:58 ` Mark Brown
2011-10-27 8:04 ` [PATCH 3/3] omap4: panda: Pass regulator data from DT Rajendra Nayak
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).