[PATCH 1/4] dt-bindings: tps65217: Update binding documentation.
From: eballetbo@gmail.com (Enric Balletbo Serra)
Date: 2017-06-09 22:30:52
Also in:
linux-devicetree, linux-input, linux-leds, linux-omap, lkml
Hello Rob, 2017-06-09 16:03 GMT+02:00 Rob Herring [off-list ref]:
On Wed, Jun 07, 2017 at 12:32:39PM +0200, Enric Balletbo i Serra wrote:quoted
This patch adds a new binding documentation for the TPS65217 MFD and updates the documentation for all the sub-devices in accordance to get each individual sub-driver functioning correctly.Explain why breaking compatibility is okay.
We had some discussion in patch 4 that make me rethink a bit all this,
please let me send a new version and continue the discussion there
(now I'm not sure if I'll break the compatibility or not)
But let me ask a question. The TPS65217 MFD has different sub-nodes
(charger, backlight, pwrbutton, regulators) in DT, I suspect the
answer is no, but is it ok that some of them were not described in the
DT because there is nothing to configure?
i.e: Have this because the resources of charger and pwrbutton are
static so can be hard-coded in the driver
&tps {
compatible = "ti,tps65217";
interrupt-controller;
#interrupt-cells = <1>;
regulators {
#address-cells = <1>;
#size-cells = <0>;
dcdc1_reg: regulator at 0 {
reg = <0>;
...
};
};
instead of :
&tps {
compatible = "ti,tps65217";
interrupt-controller;
#interrupt-cells = <1>;
charger {
compatible = "ti,tps65217-charger";
interrupts = <0>, <1>;
interrupt-names = "USB", "AC";
};
pwrbutton {
compatible = "ti,tps65217-pwrbutton";
interrupts = <2>;
};
regulators {
#address-cells = <1>;
#size-cells = <0>;
dcdc1_reg: regulator at 0 {
reg = <0>;
...
};
};
Best regards,
Enric
quoted
Signed-off-by: Enric Balletbo i Serra <redacted> --- .../bindings/input/tps65218-pwrbutton.txt | 2 +- .../bindings/leds/backlight/tps65217-backlight.txt | 24 ++--- Documentation/devicetree/bindings/mfd/tps65217.txt | 100 +++++++++++++++++++++ .../devicetree/bindings/regulator/tps65217.txt | 8 +- 4 files changed, 119 insertions(+), 15 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/tps65217.txtdiff --git a/Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt b/Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt index 8682ab6..603a3f0 100644 --- a/Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt +++ b/Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt@@ -1,7 +1,7 @@ Texas Instruments TPS65217 and TPS65218 power button This module is part of the TPS65217/TPS65218. For more details about the whole -TPS65217 chip see Documentation/devicetree/bindings/regulator/tps65217.txt. +TPS65217 chip see Documentation/devicetree/bindings/mfd/tps65217.txt. This driver provides a simple power button event via an Interrupt.diff --git a/Documentation/devicetree/bindings/leds/backlight/tps65217-backlight.txt b/Documentation/devicetree/bindings/leds/backlight/tps65217-backlight.txt index 5fb9279..a1bc465 100644 --- a/Documentation/devicetree/bindings/leds/backlight/tps65217-backlight.txt +++ b/Documentation/devicetree/bindings/leds/backlight/tps65217-backlight.txt@@ -1,11 +1,13 @@ -TPS65217 family of regulators +Texas Instruments TPS65217 backlight regulator + +This module is part of the TPS65217. For more details about the whole +TPS65217 chip see Documentation/devicetree/bindings/mfd/tps65217.txt. The TPS65217 chip contains a boost converter and current sinks which can be used to drive LEDs for use as backlights. Required properties: -- compatible: "ti,tps65217" -- reg: I2C slave address +- compatible: "ti,tps65217-bl" - backlight: node for specifying WLED1 and WLED2 lines in TPS65217 - isel: selection bit, valid values: 1 for ISEL1 (low-level) and 2 for ISEL2 (high-level) - fdim: PWM dimming frequency, valid values: 100, 200, 500, 1000@@ -15,13 +17,13 @@ Each regulator is defined using the standard binding for regulators. Example: - tps: tps at 24 { - reg = <0x24>; - compatible = "ti,tps65217"; - backlight { - isel = <1>; /* 1 - ISET1, 2 ISET2 */ - fdim = <100>; /* TPS65217_BL_FDIM_100HZ */ - default-brightness = <50>; - }; +&tps { + backlight { + compatible = "ti,tps65217-bl"; + status = "okay"; + isel = <1>; /* 1 - ISET1, 2 ISET2 */ + fdim = <100>; /* TPS65217_BL_FDIM_100HZ */ + default-brightness = <50>; }; +};diff --git a/Documentation/devicetree/bindings/mfd/tps65217.txt b/Documentation/devicetree/bindings/mfd/tps65217.txt new file mode 100644 index 0000000..40c84ba --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/tps65217.txt@@ -0,0 +1,100 @@ +Texas Instruments TPS65217 Single-Chip PMIC for Battery-Powered Systems + +Required properties: +- compatible: "ti,tps65217" +- reg: I2C slave address. +- interrupt-controller: Marks the device node as an interrupt controller. +- #interrupt-cells: The number of cells to describe an IRQ, this should be 1. +- backlight: Child node that specify the backlight regulator sub-device. See: + Documentation/devicetree/bindings/leds/backlight/tps65217-backlight.txt +- charger: Child node that specify the charger sub-device. See: + Documentation/devicetree/bindings/power/supply/tps65217_charger.txt +- pwrbutton: Child node that specify the power button sub-device. See: + Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt +- regulators: List of child nodes that specify the regulator initialization + data. See: + Documentation/devicetree/bindings/regulator/tps65217.txt. + +Optional properties: +- ti,pmic-shutdown-controller: Telling the PMIC to shutdown on PWR_EN toggle. + +Example: + + tps: tps at 24 { + compatible = "ti,tps65217"; + interrupt-controller; + #interrupt-cells = <1>; + + ti,pmic-shutdown-controller; + + backlight { + compatible = "ti,tps65217-bl"; + status = "disabled"; + }; + + charger { + compatible = "ti,tps65217-charger"; + status = "disabled"; + }; + + pwrbutton { + compatible = "ti,tps65217-pwrbutton"; + status = "disabled"; + }; + + regulators { + compatible = "ti,tps65217-pmic"; + #address-cells = <1>; + #size-cells = <0>; + + dcdc1_reg: dcdc1 { + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + dcdc2_reg: dcdc2 { + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + dcdc3_reg: dcc3 { + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1500000>; + regulator-boot-on; + regulator-always-on; + }; + + ldo1_reg: ldo1 { + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + ldo2_reg: ldo2 { + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + ldo3_reg: ldo3 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + ldo4_reg: ldo4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + }; + }; +diff --git a/Documentation/devicetree/bindings/regulator/tps65217.txt b/Documentation/devicetree/bindings/regulator/tps65217.txt index 4f05d20..2d9b519 100644 --- a/Documentation/devicetree/bindings/regulator/tps65217.txt +++ b/Documentation/devicetree/bindings/regulator/tps65217.txt@@ -1,8 +1,10 @@ -TPS65217 family of regulators +Texas Instruments TPS65217 family of regulators + +This module is part of the TPS65217. For more details about the whole +TPS65217 chip see Documentation/devicetree/bindings/mfd/tps65217.txt. Required properties: -- compatible: "ti,tps65217" -- reg: I2C slave address +- compatible: "ti,tps65217-pmic" - regulators: list of regulators provided by this controller, must be named after their hardware counterparts: dcdc[1-3] and ldo[1-4] - regulators: This is the list of child nodes that specify the regulatorregulators twice? Fix that while you're here.
Sure, I can add this change as well.
quoted
-- 2.9.3