From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jacek Anaszewski Subject: Re: [PATCH/RFC v9 06/19] DT: Add documentation for the mfd Maxim max77693 Date: Thu, 04 Dec 2014 12:40:48 +0100 Message-ID: <54804840.4030202@samsung.com> References: <1417622814-10845-1-git-send-email-j.anaszewski@samsung.com> <1417622814-10845-7-git-send-email-j.anaszewski@samsung.com> <20141204100706.GP14746@valkosipuli.retiisi.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-reply-to: <20141204100706.GP14746@valkosipuli.retiisi.org.uk> Sender: linux-leds-owner@vger.kernel.org To: Sakari Ailus Cc: linux-leds@vger.kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, kyungmin.park@samsung.com, b.zolnierkie@samsung.com, pavel@ucw.cz, cooloney@gmail.com, rpurdie@rpsys.net, s.nawrocki@samsung.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, Andrzej Hajda , Lee Jones , Chanwoo Choi , devicetree@vger.kernel.org List-Id: devicetree@vger.kernel.org Hi Sakari, Thanks for the review. On 12/04/2014 11:07 AM, Sakari Ailus wrote: > Hi Jacek, > > On Wed, Dec 03, 2014 at 05:06:41PM +0100, Jacek Anaszewski wrote: >> This patch adds device tree binding documentation for >> the flash cell of the Maxim max77693 multifunctional device. >> >> Signed-off-by: Jacek Anaszewski >> Signed-off-by: Andrzej Hajda >> Acked-by: Kyungmin Park >> Cc: Lee Jones >> Cc: Chanwoo Choi >> Cc: Bryan Wu >> Cc: Richard Purdie >> Cc: Rob Herring >> Cc: Pawel Moll >> Cc: Mark Rutland >> Cc: Ian Campbell >> Cc: Kumar Gala >> Cc: >> --- >> Documentation/devicetree/bindings/mfd/max77693.txt | 89 ++++++++++++++++++++ >> 1 file changed, 89 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt >> index 01e9f30..25a6e78 100644 >> --- a/Documentation/devicetree/bindings/mfd/max77693.txt >> +++ b/Documentation/devicetree/bindings/mfd/max77693.txt >> @@ -41,7 +41,66 @@ Optional properties: >> To get more informations, please refer to documentaion. >> [*] refer Documentation/devicetree/bindings/pwm/pwm.txt >> >> +- led : the LED submodule device node >> + >> +There are two led outputs available - fled1 and fled2. Each of them can >> +control a separate led or they can be connected together to double >> +the maximum current for a single connected led. One led is represented >> +by one child node. >> + >> +Required properties: >> +- compatible : Must be "maxim,max77693-led". >> + >> +Optional properties: >> +- maxim,fleds : Array of current outputs in order: fled1, fled2. >> + Note: both current outputs can be connected to a single led >> + Possible values: >> + MAX77693_LED_FLED_UNUSED - the output is left disconnected, >> + MAX77693_LED_FLED_USED - a diode is connected to the output. > > As you have a LED sub-nodes for each LED already, isn't this redundant? Well, it seems so :) >> +- maxim,trigger-type : Array of trigger types in order: flash, torch. >> + Possible trigger types: >> + MAX77693_LED_TRIG_TYPE_EDGE - Rising edge of the signal triggers >> + the flash/torch, >> + MAX77693_LED_TRIG_TYPE_LEVEL - Signal level controls duration of > > How about: "Strobe pulse length ..."? OK, it will be more clear. > How long does the torch stay on if you use edge trigger for it? I've always > thought the torch enable pin was a practical joke. :-) There is a torch timer available but I don't expose it to the user. > If you need it this for torch as well, I'd use separate properties for the > purpose, i.e. trigger-type-flash and trigger-type-torch. OK. >> + the flash/torch. >> +- maxim,trigger : Array of flags indicating which trigger can activate given led >> + in order: fled1, fled2. >> + Possible flag values (can be combined): >> + MAX77693_LED_TRIG_FLASHEN - FLASHEN pin of the chip, >> + MAX77693_LED_TRIG_TORCHEN - TORCHEN pin of the chip, >> + MAX77693_LED_TRIG_SOFTWARE - software via I2C command. > > Is there a need to prevent strobing using a certain method? Just wondering. In some cases it could be convenient to prevent some options through device tree. >> +- maxim,boost-mode : >> + In boost mode the device can produce up to 1.2A of total current >> + on both outputs. The maximum current on each output is reduced >> + to 625mA then. If there are two child led nodes defined then boost >> + is enabled by default. >> + Possible values: >> + MAX77693_LED_BOOST_OFF - no boost, >> + MAX77693_LED_BOOST_ADAPTIVE - adaptive mode, >> + MAX77693_LED_BOOST_FIXED - fixed mode. >> +- maxim,boost-vout : Output voltage of the boost module in millivolts. >> +- maxim,vsys-min : Low input voltage level in millivolts. Flash is not fired >> + if chip estimates that system voltage could drop below this level due >> + to flash power consumption. >> + >> +Required properties of the LED child node: >> +- label : see Documentation/devicetree/bindings/leds/common.txt >> +- maxim,fled_id : Identifier of the fled output the led is connected to; > > I'm pretty sure this will be needed for about every chip that can drive > multiple LEDs. Shouldn't it be documented in the generic documentation? OK. >> + MAX77693_LED_FLED1 - FLED1 output of the device - it has to be >> + used also if a single LED is connected to both outputs, >> + MAX77693_LED_FLED2 - FLED2 output of the device. >> + >> +Optional properties of the LED child node: >> +- max-microamp : see Documentation/devicetree/bindings/leds/common.txt >> + Range: 15625 - 250000 >> +- flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt >> + Range: 15625 - 1000000 >> +- flash-timeout-microsec : see Documentation/devicetree/bindings/leds/common.txt >> + Range: 62500 - 1000000 >> + >> Example: >> +#include >> + >> max77693@66 { >> compatible = "maxim,max77693"; >> reg = <0x66>; >> @@ -73,4 +132,34 @@ Example: >> pwms = <&pwm 0 40000 0>; >> pwm-names = "haptic"; >> }; >> + >> + led { >> + compatible = "maxim,max77693-led"; >> + maxim,fleds = > + MAX77693_LED_FLED_USED>; >> + maxim,trigger = > + (MAX77693_LED_TRIG_TORCHEN | >> + MAX77693_LED_TRIG_SOFTWARE)>; >> + maxim,trigger-type = > + MAX77693_LED_TRIG_TYPE_LEVEL>; >> + maxim,boost-mode = ; >> + maxim,boost-vout = <5000>; >> + maxim,vsys-min = <2400>; >> + >> + camera1_flash: led1 { >> + maxim,fled_id = ; >> + label = "max77693-flash1"; >> + max-microamp = <250000>; >> + flash-max-microamp = <625000>; >> + flash-timeout-microsec = <1000000>; >> + }; >> + >> + camera2_flash: led2 { >> + maxim,fled_id = ; >> + label = "max77693-flash2"; >> + max-microamp = <250000>; >> + flash-max-microamp = <500000>; >> + flash-timeout-microsec = <1000000>; >> + }; >> + }; > > I like how this looks like in general. Nice :) >> }; > Best Regards, Jacek Anaszewski