public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: Svyatoslav Ryhel <clamor95@gmail.com>
Cc: Lee Jones <lee@kernel.org>, Pavel Machek <pavel@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: [PATCH v1 5/5] dt-bindings: leds: Document TI LM3560 Synchronous Boost Flash Driver
Date: Fri, 17 Apr 2026 15:36:14 +0300	[thread overview]
Message-ID: <aeIpPvwpjJ1Q6eUl@kekkonen.localdomain> (raw)
In-Reply-To: <CAPVz0n3wi2yzVc0noYe=5=VR2NWEeyXke3EPKJpSPm81qrpp4Q@mail.gmail.com>

Hi Svyatoslav,

On Fri, Apr 17, 2026 at 03:30:30PM +0300, Svyatoslav Ryhel wrote:
> пт, 17 квіт. 2026 р. о 15:13 Sakari Ailus <sakari.ailus@linux.intel.com> пише:
> >
> > Hi Svyatoslav,
> >
> > Thanks for the set.
> >
> > This patch should be the first one in the set, or at least before those
> > using the bindings defined here.
> >
> 
> Maybe before conversion, but definitely not the first. I would like to
> avoid patch multiplication caused by schema adjustments after every
> single commit if possible.

You don't have to use all the properties defined but you can't use
properties in drivers not yet defined in bindings.

> 
> > On Fri, Apr 17, 2026 at 02:42:26PM +0300, Svyatoslav Ryhel wrote:
> > > Document TI LM3560 Synchronous Boost Flash Driver used for camera flash
> > > LEDs.
> > >
> > > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> > > ---
> > >  .../devicetree/bindings/leds/ti,lm3560.yaml   | 134 ++++++++++++++++++
> > >  1 file changed, 134 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/leds/ti,lm3560.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/leds/ti,lm3560.yaml b/Documentation/devicetree/bindings/leds/ti,lm3560.yaml
> > > new file mode 100644
> > > index 000000000000..460ea1fbc1e5
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/leds/ti,lm3560.yaml
> > > @@ -0,0 +1,134 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/leds/ti,lm3560.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: TI LM3560 Synchronous Boost Flash Driver
> > > +
> > > +maintainers:
> > > +  - Svyatoslav Ryhel <clamor95@gmail.com>
> > > +
> > > +description:
> > > +  The LM3560 is a 2-MHz fixed frequency synchronous boost converter with two
> > > +  1000-mA constant current drivers for high-current white LEDs. The dual high-
> > > +  side current sources allow for grounded cathode LED operation and can be
> > > +  tied together for providing flash currents at up to 2 A through a single LED.
> > > +  An adaptive regulation method ensures the current for each LED remains in
> > > +  regulation and maximizes efficiency.
> > > +
> > > +properties:
> > > +  compatible:
> > > +    enum:
> > > +      - ti,lm3559
> > > +      - ti,lm3560
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  '#address-cells':
> > > +    const: 1
> > > +
> > > +  '#size-cells':
> > > +    const: 0
> > > +
> > > +  enable-gpios:
> > > +    description: GPIO connected to the HWEN pin.
> > > +    maxItems: 1
> > > +
> > > +  vin-supply:
> > > +    description: Supply connected to the IN line.
> > > +
> > > +  ti,peak-current-microamp:
> > > +    description:
> > > +      The LM3560 features 4 selectable current limits 1.6A, 2.3A, 3A, and 3.6A.
> > > +      When the current limit is reached, the LM3560 stops switching for the
> > > +      remainder of the switching cycle.
> > > +    enum: [16000000, 23000000, 30000000, 36000000]
> > > +    default: 36000000
> > > +
> > > +  ti,max-flash-timeout-ms:
> > > +    description:
> > > +      Maximum flash timeout in ms with step 32ms.
> > > +    minimum: 32
> > > +    maximum: 1024
> > > +    default: 1024
> > > +
> > > +patternProperties:
> > > +  '^led@[01]$':
> > > +    description: LED control bank nodes.
> > > +    $ref: /schemas/leds/common.yaml#
> > > +    unevaluatedProperties: false
> > > +
> > > +    properties:
> > > +      reg:
> > > +        description: Control bank selection (0 = bank A, 1 = bank B).
> > > +        maximum: 1
> > > +
> > > +      ti,max-flash-current-microamp:
> > > +        description:
> > > +          Maximum flash current in uA with step 62500uA.
> > > +        minimum: 62500
> > > +        maximum: 1000000
> > > +        default: 1000000
> > > +
> > > +      ti,max-torch-current-microamp:
> >
> > Don't the LED flash bindings already have standardised properties for
> > these?
> >
> 
> Oh, they do! Thanks for pointing out. led-max-microamp,
> flash-max-microamp and flash-max-timeout-us. Very nice, I will adjust
> in the v2.

Sounds good, thanks!

I think it'd be worth standardising maximum input current, too, as other
devices use it, too.

> 
> > > +        description:
> > > +          Maximum flash current in uA with step 31250uA.
> > > +        minimum: 31250
> > > +        maximum: 250000
> > > +        default: 250000
> > > +
> > > +    required:
> > > +      - reg
> >
> > I'd say the max current properties are required as well, same for the
> > timeouts. Or make the lowest the default. The lowest values are very seldom
> > used in practice though.
> >
> 
> I have transferred from the driver which uses maximum values as
> default one. I can change to minimum if needed, that is not a big
> deal.

I'd just make these mandatory.

> 
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - '#address-cells'
> > > +  - '#size-cells'
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    #include <dt-bindings/gpio/gpio.h>
> > > +
> > > +    i2c {
> > > +        #address-cells = <1>;
> > > +        #size-cells = <0>;
> > > +
> > > +        led-controller@53 {
> > > +            compatible = "ti,lm3560";
> > > +            reg = <0x53>;
> > > +
> > > +            enable-gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
> > > +            vin-supply = <&vdd_3v3_sys>;
> > > +
> > > +            ti,peak-current-microamp = <16000000>;
> > > +            ti,max-flash-timeout-ms = <1024>;
> > > +
> > > +            #address-cells = <1>;
> > > +            #size-cells = <0>;
> > > +
> > > +            led@0 {
> > > +                reg = <0>;
> > > +
> > > +                label = "white::flash";
> > > +                linux,default-trigger = "flash";
> > > +
> > > +                ti,max-flash-current-microamp = <562500>;
> > > +                ti,max-torch-current-microamp = <156250>;
> > > +            };
> > > +
> > > +            led@1 {
> > > +                reg = <1>;
> > > +
> > > +                label = "yellow::flash";
> > > +                linux,default-trigger = "flash";
> > > +
> > > +                ti,max-flash-current-microamp = <562500>;
> > > +                ti,max-torch-current-microamp = <156250>;
> > > +            };
> > > +        };
> > > +    };
> >
> > --
> > Kind regards,
> >
> > Sakari Ailus

-- 
Kind regards,

Sakari Ailus

      reply	other threads:[~2026-04-17 12:36 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-17 11:42 [PATCH v1 0/5] media: lm3560: convert to use OF bindings Svyatoslav Ryhel
2026-04-17 11:42 ` [PATCH v1 1/5] media: lm3560: Add HWEN pin support Svyatoslav Ryhel
2026-04-17 12:15   ` Sakari Ailus
2026-04-17 11:42 ` [PATCH v1 2/5] media: lm3560: Add IN supply support Svyatoslav Ryhel
2026-04-17 12:17   ` Sakari Ailus
2026-04-17 12:37     ` Svyatoslav Ryhel
2026-04-17 12:46       ` Sakari Ailus
2026-04-17 11:42 ` [PATCH v1 3/5] media: lm3560: Fix v4l2 subdev registration Svyatoslav Ryhel
2026-04-17 11:42 ` [PATCH v1 4/5] media: lm3560: convert to use OF bindings Svyatoslav Ryhel
2026-04-17 11:42 ` [PATCH v1 5/5] dt-bindings: leds: Document TI LM3560 Synchronous Boost Flash Driver Svyatoslav Ryhel
2026-04-17 12:13   ` Sakari Ailus
2026-04-17 12:30     ` Svyatoslav Ryhel
2026-04-17 12:36       ` Sakari Ailus [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aeIpPvwpjJ1Q6eUl@kekkonen.localdomain \
    --to=sakari.ailus@linux.intel.com \
    --cc=clamor95@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=pavel@kernel.org \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox