diff mbox series

[2/3] dt-bindings: leds: Add binding for sgm3140

Message ID 20200309203558.305725-3-luca@z3ntu.xyz
State Changes Requested, archived
Headers show
Series Add sgm3140 flash led driver | expand

Checks

Context Check Description
robh/checkpatch success
robh/dt-meta-schema success

Commit Message

Luca Weiss March 9, 2020, 8:35 p.m. UTC
Add YAML devicetree binding for SGMICRO SGM3140 charge pump used for
camera flash LEDs.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
---
Changes since RFC:
- new patch

I'm not sure about the completeness of this binding as it doesn't
mention the led subnode at all.
The only existing led yaml binding is leds/leds-max77650.yaml which
mentions the subnode but duplicates properties from documented in 
leds/common.txt.

 .../bindings/leds/leds-sgm3140.yaml           | 53 +++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/leds-sgm3140.yaml

Comments

Sakari Ailus March 9, 2020, 10:22 p.m. UTC | #1
Hi Luca,

On Mon, Mar 09, 2020 at 09:35:57PM +0100, Luca Weiss wrote:
> Add YAML devicetree binding for SGMICRO SGM3140 charge pump used for
> camera flash LEDs.
> 
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
> Changes since RFC:
> - new patch
> 
> I'm not sure about the completeness of this binding as it doesn't
> mention the led subnode at all.

I guess you'll need one --- the driver expects it as well.

> The only existing led yaml binding is leds/leds-max77650.yaml which
> mentions the subnode but duplicates properties from documented in 
> leds/common.txt.
> 
>  .../bindings/leds/leds-sgm3140.yaml           | 53 +++++++++++++++++++
>  1 file changed, 53 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> 
> diff --git a/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> new file mode 100644
> index 000000000000..be9384573d02
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/leds-sgm3140.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SGMICRO SGM3140 500mA Buck/Boost Charge Pump LED Driver
> +
> +maintainers:
> +  - Luca Weiss <luca@z3ntu.xyz>
> +
> +description: |
> +  The SGM3140 is a current-regulated charge pump which can regulate two current
> +  levels for Flash and Torch modes.
> +
> +  It is controlled with two GPIO pins.
> +
> +  The data sheet can be found at:
> +    http://www.sg-micro.com/uploads/soft/20190626/1561535688.pdf
> +
> +properties:
> +  compatible:
> +    const: sgmicro,sgm3140
> +
> +  enable-gpios:
> +    maxItems: 1
> +    description: A connection to the 'EN' pin.
> +
> +  flash-gpios:
> +    maxItems: 1
> +    description: A connection to the 'FLASH' pin.

How about a regulator supply?

I guess the chip is meant to be connected to a li-ion cell but still...

> +
> +required:
> +  - compatible
> +  - flash-gpios
> +  - enable-gpios
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    #include <dt-bindings/leds/common.h>
> +
> +    sgm3140 {
> +        compatible = "sgmicro,sgm3140";
> +        flash-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
> +        enable-gpios = <&pio 2 3 GPIO_ACTIVE_HIGH>; /* PC3 */
> +
> +        sgm3140_flash: led {
> +            function = LED_FUNCTION_FLASH;
> +            color = <LED_COLOR_ID_WHITE>;
> +            flash-max-timeout-us = <250000>;
> +        };
> +    };
Dan Murphy March 11, 2020, 12:49 p.m. UTC | #2
Luca

On 3/9/20 3:35 PM, Luca Weiss wrote:
> Add YAML devicetree binding for SGMICRO SGM3140 charge pump used for
> camera flash LEDs.
>
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
> Changes since RFC:
> - new patch
>
> I'm not sure about the completeness of this binding as it doesn't
> mention the led subnode at all.
> The only existing led yaml binding is leds/leds-max77650.yaml which
> mentions the subnode but duplicates properties from documented in
> leds/common.txt.
>
>   .../bindings/leds/leds-sgm3140.yaml           | 53 +++++++++++++++++++
>   1 file changed, 53 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
>
> diff --git a/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> new file mode 100644
> index 000000000000..be9384573d02
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/leds-sgm3140.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SGMICRO SGM3140 500mA Buck/Boost Charge Pump LED Driver
> +
> +maintainers:
> +  - Luca Weiss <luca@z3ntu.xyz>
> +
> +description: |
> +  The SGM3140 is a current-regulated charge pump which can regulate two current
> +  levels for Flash and Torch modes.
> +
> +  It is controlled with two GPIO pins.
Please define "It".  Not sure what is controlled here.


Dan
Luca Weiss March 15, 2020, 10:47 a.m. UTC | #3
Hi Dan

On Mittwoch, 11. März 2020 13:49:35 CET Dan Murphy wrote:
> Luca
> 
> On 3/9/20 3:35 PM, Luca Weiss wrote:
> > Add YAML devicetree binding for SGMICRO SGM3140 charge pump used for
> > camera flash LEDs.
> > 
> > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > ---
> > Changes since RFC:
> > - new patch
> > 
> > I'm not sure about the completeness of this binding as it doesn't
> > mention the led subnode at all.
> > The only existing led yaml binding is leds/leds-max77650.yaml which
> > mentions the subnode but duplicates properties from documented in
> > leds/common.txt.
> > 
> >   .../bindings/leds/leds-sgm3140.yaml           | 53 +++++++++++++++++++
> >   1 file changed, 53 insertions(+)
> >   create mode 100644
> >   Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> > b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml new file mode
> > 100644
> > index 000000000000..be9384573d02
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> > @@ -0,0 +1,53 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/leds/leds-sgm3140.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: SGMICRO SGM3140 500mA Buck/Boost Charge Pump LED Driver
> > +
> > +maintainers:
> > +  - Luca Weiss <luca@z3ntu.xyz>
> > +
> > +description: |
> > +  The SGM3140 is a current-regulated charge pump which can regulate two
> > current +  levels for Flash and Torch modes.
> > +
> > +  It is controlled with two GPIO pins.
> 
> Please define "It".  Not sure what is controlled here.
> 

"It" means the SGM3140. Not sure how else to write that or what the correct 
term for such a component is.

> 
> Dan

Regards
Luca
Laurent Pinchart March 15, 2020, 10:53 a.m. UTC | #4
Hi Luca,

On Sun, Mar 15, 2020 at 11:47:36AM +0100, Luca Weiss wrote:
> On Mittwoch, 11. März 2020 13:49:35 CET Dan Murphy wrote:
> > On 3/9/20 3:35 PM, Luca Weiss wrote:
> > > Add YAML devicetree binding for SGMICRO SGM3140 charge pump used for
> > > camera flash LEDs.
> > > 
> > > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > > ---
> > > Changes since RFC:
> > > - new patch
> > > 
> > > I'm not sure about the completeness of this binding as it doesn't
> > > mention the led subnode at all.
> > > The only existing led yaml binding is leds/leds-max77650.yaml which
> > > mentions the subnode but duplicates properties from documented in
> > > leds/common.txt.
> > > 
> > >   .../bindings/leds/leds-sgm3140.yaml           | 53 +++++++++++++++++++
> > >   1 file changed, 53 insertions(+)
> > >   create mode 100644
> > >   Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> > > b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml new file mode
> > > 100644
> > > index 000000000000..be9384573d02
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
> > > @@ -0,0 +1,53 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/leds/leds-sgm3140.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: SGMICRO SGM3140 500mA Buck/Boost Charge Pump LED Driver
> > > +
> > > +maintainers:
> > > +  - Luca Weiss <luca@z3ntu.xyz>
> > > +
> > > +description: |
> > > +  The SGM3140 is a current-regulated charge pump which can regulate two
> > > current +  levels for Flash and Torch modes.
> > > +
> > > +  It is controlled with two GPIO pins.
> > 
> > Please define "It".  Not sure what is controlled here.
> > 
> 
> "It" means the SGM3140. Not sure how else to write that or what the correct 
> term for such a component is.

Maybe "The device" ? I think Dan's concern is that he wasn't sure if
"It" referred to "the device" or to "flash and torch modes".
Rob Herring (Arm) March 23, 2020, 8:57 p.m. UTC | #5
On Mon, Mar 09, 2020 at 09:35:57PM +0100, Luca Weiss wrote:
> Add YAML devicetree binding for SGMICRO SGM3140 charge pump used for
> camera flash LEDs.
> 
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
> Changes since RFC:
> - new patch
> 
> I'm not sure about the completeness of this binding as it doesn't
> mention the led subnode at all.
> The only existing led yaml binding is leds/leds-max77650.yaml which
> mentions the subnode but duplicates properties from documented in 
> leds/common.txt.

It's common.yaml now. Reference it from a child node defined here.

> 
>  .../bindings/leds/leds-sgm3140.yaml           | 53 +++++++++++++++++++
>  1 file changed, 53 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
Dan Murphy March 23, 2020, 9:30 p.m. UTC | #6
Luca

On 3/15/20 5:53 AM, Laurent Pinchart wrote:
> Hi Luca,
>
> On Sun, Mar 15, 2020 at 11:47:36AM +0100, Luca Weiss wrote:
>> On Mittwoch, 11. März 2020 13:49:35 CET Dan Murphy wrote:
>>> On 3/9/20 3:35 PM, Luca Weiss wrote:
>>>> Add YAML devicetree binding for SGMICRO SGM3140 charge pump used for
>>>> camera flash LEDs.
>>>>
>>>> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
>>>> ---
>>>> Changes since RFC:
>>>> - new patch
>>>>
>>>> I'm not sure about the completeness of this binding as it doesn't
>>>> mention the led subnode at all.
>>>> The only existing led yaml binding is leds/leds-max77650.yaml which
>>>> mentions the subnode but duplicates properties from documented in
>>>> leds/common.txt.
>>>>
>>>>    .../bindings/leds/leds-sgm3140.yaml           | 53 +++++++++++++++++++
>>>>    1 file changed, 53 insertions(+)
>>>>    create mode 100644
>>>>    Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
>>>> b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml new file mode
>>>> 100644
>>>> index 000000000000..be9384573d02
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
>>>> @@ -0,0 +1,53 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/leds/leds-sgm3140.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: SGMICRO SGM3140 500mA Buck/Boost Charge Pump LED Driver
>>>> +
>>>> +maintainers:
>>>> +  - Luca Weiss <luca@z3ntu.xyz>
>>>> +
>>>> +description: |
>>>> +  The SGM3140 is a current-regulated charge pump which can regulate two
>>>> current +  levels for Flash and Torch modes.
>>>> +
>>>> +  It is controlled with two GPIO pins.
>>> Please define "It".  Not sure what is controlled here.
>>>
>> "It" means the SGM3140. Not sure how else to write that or what the correct
>> term for such a component is.
> Maybe "The device" ? I think Dan's concern is that he wasn't sure if
> "It" referred to "the device" or to "flash and torch modes".

Laurent is correct.  Are the flash and torch modes controlled by GPIOs 
the device or the current levels?



>
Luca Weiss March 24, 2020, 8:02 p.m. UTC | #7
Hi Rob,

On Montag, 23. März 2020 21:57:27 CET Rob Herring wrote:
> On Mon, Mar 09, 2020 at 09:35:57PM +0100, Luca Weiss wrote:
> > Add YAML devicetree binding for SGMICRO SGM3140 charge pump used for
> > camera flash LEDs.
> > 
> > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > ---
> > Changes since RFC:
> > - new patch
> > 
> > I'm not sure about the completeness of this binding as it doesn't
> > mention the led subnode at all.
> > The only existing led yaml binding is leds/leds-max77650.yaml which
> > mentions the subnode but duplicates properties from documented in
> > leds/common.txt.
> 
> It's common.yaml now. Reference it from a child node defined here.

Thanks, that helps a lot!

> 
> >  .../bindings/leds/leds-sgm3140.yaml           | 53 +++++++++++++++++++
> >  1 file changed, 53 insertions(+)
> >  create mode 100644
> >  Documentation/devicetree/bindings/leds/leds-sgm3140.yaml

Regards
Luca
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
new file mode 100644
index 000000000000..be9384573d02
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/leds-sgm3140.yaml
@@ -0,0 +1,53 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/leds-sgm3140.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SGMICRO SGM3140 500mA Buck/Boost Charge Pump LED Driver
+
+maintainers:
+  - Luca Weiss <luca@z3ntu.xyz>
+
+description: |
+  The SGM3140 is a current-regulated charge pump which can regulate two current
+  levels for Flash and Torch modes.
+
+  It is controlled with two GPIO pins.
+
+  The data sheet can be found at:
+    http://www.sg-micro.com/uploads/soft/20190626/1561535688.pdf
+
+properties:
+  compatible:
+    const: sgmicro,sgm3140
+
+  enable-gpios:
+    maxItems: 1
+    description: A connection to the 'EN' pin.
+
+  flash-gpios:
+    maxItems: 1
+    description: A connection to the 'FLASH' pin.
+
+required:
+  - compatible
+  - flash-gpios
+  - enable-gpios
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/leds/common.h>
+
+    sgm3140 {
+        compatible = "sgmicro,sgm3140";
+        flash-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
+        enable-gpios = <&pio 2 3 GPIO_ACTIVE_HIGH>; /* PC3 */
+
+        sgm3140_flash: led {
+            function = LED_FUNCTION_FLASH;
+            color = <LED_COLOR_ID_WHITE>;
+            flash-max-timeout-us = <250000>;
+        };
+    };