Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 345007
b: refs/heads/master
c: eb433da
h: refs/heads/master
i:
  345005: a1f1975
  345003: 102a09d
  344999: af55f15
  344991: 71c2145
v: v3
  • Loading branch information
Colin Foe-Parker authored and Samuel Ortiz committed Nov 21, 2012
1 parent 21092f3 commit 7cf3627
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 433e075c7f3b45c946c539ceeddc641c61adef5e
refs/heads/master: eb433dad48b49f757255f2860db5c2bd61dcae0d
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ Required properties:
using the standard binding for regulators found at
Documentation/devicetree/bindings/regulator/regulator.txt.

Optional properties:
- ti,pmic-shutdown-controller: Telling the PMIC to shutdown on PWR_EN toggle.

The valid names for regulators are:
tps65217: dcdc1, dcdc2, dcdc3, ldo1, ldo2, ldo3 and ldo4

Expand All @@ -20,6 +23,7 @@ Example:

tps: tps@24 {
compatible = "ti,tps65217";
ti,pmic-shutdown-controller;

regulators {
dcdc1_reg: dcdc1 {
Expand Down
12 changes: 12 additions & 0 deletions trunk/drivers/mfd/tps65217.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ static int __devinit tps65217_probe(struct i2c_client *client,
unsigned int version;
unsigned int chip_id = ids->driver_data;
const struct of_device_id *match;
bool status_off = false;
int ret;

if (client->dev.of_node) {
Expand All @@ -170,6 +171,8 @@ static int __devinit tps65217_probe(struct i2c_client *client,
return -EINVAL;
}
chip_id = (unsigned int)match->data;
status_off = of_property_read_bool(client->dev.of_node,
"ti,pmic-shutdown-controller");
}

if (!chip_id) {
Expand Down Expand Up @@ -207,6 +210,15 @@ static int __devinit tps65217_probe(struct i2c_client *client,
return ret;
}

/* Set the PMIC to shutdown on PWR_EN toggle */
if (status_off) {
ret = tps65217_set_bits(tps, TPS65217_REG_STATUS,
TPS65217_STATUS_OFF, TPS65217_STATUS_OFF,
TPS65217_PROTECT_NONE);
if (ret)
dev_warn(tps->dev, "unable to set the status OFF\n");
}

dev_info(tps->dev, "TPS65217 ID %#x version 1.%d\n",
(version & TPS65217_CHIPID_CHIP_MASK) >> 4,
version & TPS65217_CHIPID_REV_MASK);
Expand Down

0 comments on commit 7cf3627

Please sign in to comment.