On Fri, Feb 15, 2019 at 01:50:08PM +0200, Stefan Mavrodiev wrote: > This adds the devicetree bindings for charge led indicator found > on most of X-Powers AXP20X PMICs. > > Signed-off-by: Stefan Mavrodiev <stefan@xxxxxxxxxx> > --- > .../devicetree/bindings/leds/leds-axp20x.txt | 74 +++++++++++++++++++ > 1 file changed, 74 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/leds-axp20x.txt > > diff --git a/Documentation/devicetree/bindings/leds/leds-axp20x.txt b/Documentation/devicetree/bindings/leds/leds-axp20x.txt > new file mode 100644 > index 000000000000..5a83ad06796d > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/leds-axp20x.txt > @@ -0,0 +1,74 @@ > +Device Tree Bindings for LED support on X-Powers PMIC > + > +Most of the X-Powers PMICs have integrated battery charger with LED indicator. > +The output is open-drain, so the state is either high-Z or output-low. The > +driver is a subnode of AXP20X MFD driver, since it uses shared bus with all > +other cells. > +The LED can be controlled either manually or automatically. Then in automatic > +(controlled by the charger) there are two indication modes: > + > +Mode-A > +====== > +- output-low: Charging > +- high-Z Not charging > +- 1Hz flashing: Abnormal alarm > +- 4Hz flashing Overvoltage alarm > + > +Mode-B > +====== > +- output-low: Battery full > +- high-Z Not charging > +- 1Hz flashing: Charging > +- 4Hz flashing Overvoltage or abnormal alarm > + > +The control and the mode can be changed from sysfs. > + > +For AXP20X MFD bindings see: > +Documentation/devicetree/bindings/mfd/axp20x.txt > + > +Required properties: > +- compatible : Must be "x-powers,axp20x-led" > + > +Supported common LED properties, see ./common.txt for more informationn > +- label : See Documentation/devicetree/bindings/leds/common.txt > +- linux,default-trigger : See Documentation/devicetree/bindings/leds/common.txt > +- default-state: See Documentation/devicetree/bindings/leds/common.txt > + > +Optional properties: > +- x-powers,charger-mode: 0 for Mode-A, 1 for Mode-B > + If omitted, then the control is set to manual mode. > + On invalid value, Mode-A is used. > + > + > +Example: > + > + axp803: pmic@3a3 { > + compatible = "x-powers,axp803"; > + > + ... > + > + led@0 { What's the 0 for? A unit address without a reg property is not valid. > + compatible = "x-powers,axp20x-led"; > + status = "okay"; > + > + label = "axp20x:yellow:chgled"; > + linux,default-trigger = "timer"; > + default-state = "on"; > + }; > + }; > + > +or > + > + axp803: pmic@3a3 { > + compatible = "x-powers,axp803"; > + > + ... > + > + led@0 { > + compatible = "x-powers,axp20x-led"; > + status = "okay"; > + > + label = "axp20x:yellow:chgled"; > + x-powers,charger-mode = <1>; > + }; > + }; > -- > 2.17.1 >