diff mbox series

[V5,1/4] backlight: qcom-wled: convert the wled bindings to .yaml format

Message ID 1586274430-28402-2-git-send-email-kgunda@codeaurora.org (mailing list archive)
State Superseded
Headers show
Series Add support for WLED5 | expand

Commit Message

Kiran Gunda April 7, 2020, 3:47 p.m. UTC
Convert the qcom-wled bindings from .txt to .yaml format.
Also replace PM8941 to WLED3 and PMI8998 to WLED4.

Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
---
 .../bindings/leds/backlight/qcom-wled.txt          | 154 ----------------
 .../bindings/leds/backlight/qcom-wled.yaml         | 201 +++++++++++++++++++++
 2 files changed, 201 insertions(+), 154 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/leds/backlight/qcom-wled.txt
 create mode 100644 Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml

Comments

Rob Herring (Arm) April 15, 2020, 3:09 p.m. UTC | #1
On Tue, Apr 07, 2020 at 09:17:07PM +0530, Kiran Gunda wrote:
> Convert the qcom-wled bindings from .txt to .yaml format.
> Also replace PM8941 to WLED3 and PMI8998 to WLED4.
> 
> Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
> Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
> Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
> ---
>  .../bindings/leds/backlight/qcom-wled.txt          | 154 ----------------
>  .../bindings/leds/backlight/qcom-wled.yaml         | 201 +++++++++++++++++++++
>  2 files changed, 201 insertions(+), 154 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/leds/backlight/qcom-wled.txt
>  create mode 100644 Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml


> diff --git a/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml b/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml
> new file mode 100644
> index 0000000..770e780
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml
> @@ -0,0 +1,201 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/backlight/qcom-wled.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Binding for Qualcomm Technologies, Inc. WLED driver
> +
> +maintainers:
> +  - Bjorn Andersson <bjorn.andersson@linaro.org>
> +  - Kiran Gunda <kgunda@codeaurora.org>
> +
> +description: |
> +  WLED (White Light Emitting Diode) driver is used for controlling display
> +  backlight that is part of PMIC on Qualcomm Technologies, Inc. reference
> +  platforms. The PMIC is connected to the host processor via SPMI bus.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - qcom,pm8941-wled
> +      - qcom,pmi8998-wled
> +      - qcom,pm660l-wled
> +
> +  reg:
> +    maxItems: 1
> +
> +  default-brightness:
> +    description:
> +      brightness value on boot.
> +    minimum: 0
> +    maximum: 4095
> +    default: 2048
> +
> +  label: true
> +
> +  qcom,cs-out:
> +    description:
> +      enable current sink output.
> +      This property is supported only for WLED3.
> +    type: boolean
> +
> +  qcom,cabc:
> +    description:
> +      enable content adaptive backlight control.
> +    type: boolean
> +
> +  qcom,ext-gen:
> +    description:
> +      use externally generated modulator signal to dim.
> +      This property is supported only for WLED3.
> +    type: boolean
> +
> +  qcom,current-limit:
> +    description:
> +      mA; per-string current limit.
> +      This property is supported only for WLED3.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +    default: 20
> +    minimum: 0
> +    maximum: 25
> +    multipleOf: 1

No point in defining a multiple of 1.

> +
> +  qcom,current-limit-microamp:
> +    description:
> +      uA; per-string current limit.
> +    default: 25
> +    minimum: 0
> +    maximum: 30000
> +    multipleOf: 25
> +
> +  qcom,current-boost-limit:
> +    description:
> +      mA; boost current limit.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +
> +  qcom,switching-freq:
> +    description:
> +      kHz; switching frequency.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +      - enum: [ 600, 640, 685, 738, 800, 872, 960, 1066, 1200, 1371, 1600, 1920, 2400, 3200, 4800, 9600 ]
> +
> +  qcom,ovp:
> +    description:
> +      V; Over-voltage protection limit.
> +      This property is supported only for WLED3.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +      - enum: [ 27, 29, 32, 35 ]
> +      - default: 29
> +
> +  qcom,ovp-millivolt:
> +    description:
> +      Over-voltage protection limit. This property is for WLED4 only.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +      - enum: [ 18100, 19600, 29600, 31100 ]
> +      - default: 29600
> +
> +  qcom,num-strings:
> +    description:
> +      number of led strings attached.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32
> +
> +  qcom,enabled-strings:
> +    description:
> +      Array of the WLED strings numbered from 0 to 3. Each
> +      string of leds are operated individually. Specify the
> +      list of strings used by the device. Any combination of
> +      led strings can be used.
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/uint32-array
> +    minItems: 1
> +    maxItems: 4
> +
> +  qcom,external-pfet:
> +    description:
> +      Specify if external PFET control for short circuit
> +      protection is used. This property is supported only
> +      for WLED4.
> +    type: boolean
> +        
> +  qcom,auto-string-detection:
> +    description:
> +      Enables auto-detection of the WLED string configuration.
> +      This feature is not supported for WLED3.
> +    type: boolean
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: qcom,pm8941-wled
> +
> +    then:
> +      properties:
> +        qcom,current-boost-limit:
> +           enum: [ 105, 385, 525, 805, 980, 1260, 1400, 1680 ]
> +           default: 805
> +
> +        qcom,switching-freq:
> +           default: 1600
> +
> +        qcom,num-strings:
> +           enum: [ 1, 2, 3 ]
> +  
> +        interrupts:
> +          items:
> +            - description: over voltage protection interrupt.
> +
> +        interrupt-names:
> +          items:
> +            - const: ovp
> +
> +    else:
> +      properties:
> +        qcom,current-boost-limit:
> +           enum: [ 105, 280, 450, 620, 970, 1150, 1300, 1500 ]
> +           default: 970
> +
> +        qcom,switching-freq:
> +           default: 800
> +
> +        qcom,num-strings:
> +           enum: [ 1, 2, 3, 4 ]
> +
> +        interrupts:
> +          items:
> +            - description: over voltage protection interrupt.
> +            - description: short circuit interrupt.
> +
> +        interrupt-names:
> +          items:
> +            - const: ovp
> +            - const: short

Move these 2 props to the main section adding a 'minItems: 1'. Then just 
define 'minItems: 2' here and 'maxItems: 1' in the 'then' clause.

> +
> +required:
> +  - compatible
> +  - reg
> +  - label

Add:

additionalProperties: false

> +
> +examples:
> +  - |
> +    backlight@d800 {
> +        compatible = "qcom,pm8941-wled";
> +        reg = <0xd800 0x100>;
> +        label = "backlight";
> +
> +        qcom,cs-out;
> +        qcom,current-limit = <20>;
> +        qcom,current-boost-limit = <805>;
> +        qcom,switching-freq = <1600>;
> +        qcom,ovp = <29>;
> +        qcom,num-strings = <2>;
> +        qcom,enabled-strings = <0 1>;
> +     };
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>  a Linux Foundation Collaborative Project
>
Kiran Gunda April 17, 2020, 11:53 a.m. UTC | #2
On 2020-04-15 20:39, Rob Herring wrote:
> On Tue, Apr 07, 2020 at 09:17:07PM +0530, Kiran Gunda wrote:
>> Convert the qcom-wled bindings from .txt to .yaml format.
>> Also replace PM8941 to WLED3 and PMI8998 to WLED4.
>> 
>> Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
>> Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
>> Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
>> ---
>>  .../bindings/leds/backlight/qcom-wled.txt          | 154 
>> ----------------
>>  .../bindings/leds/backlight/qcom-wled.yaml         | 201 
>> +++++++++++++++++++++
>>  2 files changed, 201 insertions(+), 154 deletions(-)
>>  delete mode 100644 
>> Documentation/devicetree/bindings/leds/backlight/qcom-wled.txt
>>  create mode 100644 
>> Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml
> 
> 
>> diff --git 
>> a/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml 
>> b/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml
>> new file mode 100644
>> index 0000000..770e780
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml
>> @@ -0,0 +1,201 @@
>> +# SPDX-License-Identifier: GPL-2.0-only
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/leds/backlight/qcom-wled.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Binding for Qualcomm Technologies, Inc. WLED driver
>> +
>> +maintainers:
>> +  - Bjorn Andersson <bjorn.andersson@linaro.org>
>> +  - Kiran Gunda <kgunda@codeaurora.org>
>> +
>> +description: |
>> +  WLED (White Light Emitting Diode) driver is used for controlling 
>> display
>> +  backlight that is part of PMIC on Qualcomm Technologies, Inc. 
>> reference
>> +  platforms. The PMIC is connected to the host processor via SPMI 
>> bus.
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - qcom,pm8941-wled
>> +      - qcom,pmi8998-wled
>> +      - qcom,pm660l-wled
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  default-brightness:
>> +    description:
>> +      brightness value on boot.
>> +    minimum: 0
>> +    maximum: 4095
>> +    default: 2048
>> +
>> +  label: true
>> +
>> +  qcom,cs-out:
>> +    description:
>> +      enable current sink output.
>> +      This property is supported only for WLED3.
>> +    type: boolean
>> +
>> +  qcom,cabc:
>> +    description:
>> +      enable content adaptive backlight control.
>> +    type: boolean
>> +
>> +  qcom,ext-gen:
>> +    description:
>> +      use externally generated modulator signal to dim.
>> +      This property is supported only for WLED3.
>> +    type: boolean
>> +
>> +  qcom,current-limit:
>> +    description:
>> +      mA; per-string current limit.
>> +      This property is supported only for WLED3.
>> +    allOf:
>> +      - $ref: /schemas/types.yaml#/definitions/uint32
>> +    default: 20
>> +    minimum: 0
>> +    maximum: 25
>> +    multipleOf: 1
> 
> No point in defining a multiple of 1.
> 
>> +
>> +  qcom,current-limit-microamp:
>> +    description:
>> +      uA; per-string current limit.
>> +    default: 25
>> +    minimum: 0
>> +    maximum: 30000
>> +    multipleOf: 25
>> +
>> +  qcom,current-boost-limit:
>> +    description:
>> +      mA; boost current limit.
>> +    allOf:
>> +      - $ref: /schemas/types.yaml#/definitions/uint32
>> +
>> +  qcom,switching-freq:
>> +    description:
>> +      kHz; switching frequency.
>> +    allOf:
>> +      - $ref: /schemas/types.yaml#/definitions/uint32
>> +      - enum: [ 600, 640, 685, 738, 800, 872, 960, 1066, 1200, 1371, 
>> 1600, 1920, 2400, 3200, 4800, 9600 ]
>> +
>> +  qcom,ovp:
>> +    description:
>> +      V; Over-voltage protection limit.
>> +      This property is supported only for WLED3.
>> +    allOf:
>> +      - $ref: /schemas/types.yaml#/definitions/uint32
>> +      - enum: [ 27, 29, 32, 35 ]
>> +      - default: 29
>> +
>> +  qcom,ovp-millivolt:
>> +    description:
>> +      Over-voltage protection limit. This property is for WLED4 only.
>> +    allOf:
>> +      - $ref: /schemas/types.yaml#/definitions/uint32
>> +      - enum: [ 18100, 19600, 29600, 31100 ]
>> +      - default: 29600
>> +
>> +  qcom,num-strings:
>> +    description:
>> +      number of led strings attached.
>> +    allOf:
>> +      - $ref: /schemas/types.yaml#/definitions/uint32
>> +
>> +  qcom,enabled-strings:
>> +    description:
>> +      Array of the WLED strings numbered from 0 to 3. Each
>> +      string of leds are operated individually. Specify the
>> +      list of strings used by the device. Any combination of
>> +      led strings can be used.
>> +    allOf:
>> +      - $ref: /schemas/types.yaml#/definitions/uint32-array
>> +    minItems: 1
>> +    maxItems: 4
>> +
>> +  qcom,external-pfet:
>> +    description:
>> +      Specify if external PFET control for short circuit
>> +      protection is used. This property is supported only
>> +      for WLED4.
>> +    type: boolean
>> +
>> +  qcom,auto-string-detection:
>> +    description:
>> +      Enables auto-detection of the WLED string configuration.
>> +      This feature is not supported for WLED3.
>> +    type: boolean
>> +
>> +allOf:
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            const: qcom,pm8941-wled
>> +
>> +    then:
>> +      properties:
>> +        qcom,current-boost-limit:
>> +           enum: [ 105, 385, 525, 805, 980, 1260, 1400, 1680 ]
>> +           default: 805
>> +
>> +        qcom,switching-freq:
>> +           default: 1600
>> +
>> +        qcom,num-strings:
>> +           enum: [ 1, 2, 3 ]
>> +
>> +        interrupts:
>> +          items:
>> +            - description: over voltage protection interrupt.
>> +
>> +        interrupt-names:
>> +          items:
>> +            - const: ovp
>> +
>> +    else:
>> +      properties:
>> +        qcom,current-boost-limit:
>> +           enum: [ 105, 280, 450, 620, 970, 1150, 1300, 1500 ]
>> +           default: 970
>> +
>> +        qcom,switching-freq:
>> +           default: 800
>> +
>> +        qcom,num-strings:
>> +           enum: [ 1, 2, 3, 4 ]
>> +
>> +        interrupts:
>> +          items:
>> +            - description: over voltage protection interrupt.
>> +            - description: short circuit interrupt.
>> +
>> +        interrupt-names:
>> +          items:
>> +            - const: ovp
>> +            - const: short
> 
> Move these 2 props to the main section adding a 'minItems: 1'. Then 
> just
> define 'minItems: 2' here and 'maxItems: 1' in the 'then' clause.
> 
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - label
> 
> Add:
> 
> additionalProperties: false
> 
>> +
>> +examples:
>> +  - |
>> +    backlight@d800 {
>> +        compatible = "qcom,pm8941-wled";
>> +        reg = <0xd800 0x100>;
>> +        label = "backlight";
>> +
>> +        qcom,cs-out;
>> +        qcom,current-limit = <20>;
>> +        qcom,current-boost-limit = <805>;
>> +        qcom,switching-freq = <1600>;
>> +        qcom,ovp = <29>;
>> +        qcom,num-strings = <2>;
>> +        qcom,enabled-strings = <0 1>;
>> +     };
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora 
>> Forum,
>>  a Linux Foundation Collaborative Project
>> 
Thanks for reviewing. I will submit the next revision with all the 
fixes.
Lee Jones April 20, 2020, 7:27 a.m. UTC | #3
On Fri, 17 Apr 2020, kgunda@codeaurora.org wrote:

> On 2020-04-15 20:39, Rob Herring wrote:
> > On Tue, Apr 07, 2020 at 09:17:07PM +0530, Kiran Gunda wrote:
> > > Convert the qcom-wled bindings from .txt to .yaml format.
> > > Also replace PM8941 to WLED3 and PMI8998 to WLED4.
> > > 
> > > Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
> > > Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
> > > Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
> > > ---
> > >  .../bindings/leds/backlight/qcom-wled.txt          | 154
> > > ----------------
> > >  .../bindings/leds/backlight/qcom-wled.yaml         | 201
> > > +++++++++++++++++++++
> > >  2 files changed, 201 insertions(+), 154 deletions(-)
> > >  delete mode 100644
> > > Documentation/devicetree/bindings/leds/backlight/qcom-wled.txt
> > >  create mode 100644
> > > Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml
[...]

> > > +        interrupt-names:
> > > +          items:
> > > +            - const: ovp
> > > +            - const: short
> > 
> > Move these 2 props to the main section adding a 'minItems: 1'. Then just
> > define 'minItems: 2' here and 'maxItems: 1' in the 'then' clause.
> > 
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - label
> > 
> > Add:
> > 
> > additionalProperties: false
> > 
> > > +
> > > +examples:
> > > +  - |
> > > +    backlight@d800 {
> > > +        compatible = "qcom,pm8941-wled";
> > > +        reg = <0xd800 0x100>;
> > > +        label = "backlight";
> > > +
> > > +        qcom,cs-out;
> > > +        qcom,current-limit = <20>;
> > > +        qcom,current-boost-limit = <805>;
> > > +        qcom,switching-freq = <1600>;
> > > +        qcom,ovp = <29>;
> > > +        qcom,num-strings = <2>;
> > > +        qcom,enabled-strings = <0 1>;
> > > +     };
> Thanks for reviewing. I will submit the next revision with all the fixes.

Please trim your replies.

Also, if you agree with all of the review comments, there really is no
need to reply and/or thank the reviewer.  Simply submit a subsequent
set with a bumped version indicator.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/leds/backlight/qcom-wled.txt b/Documentation/devicetree/bindings/leds/backlight/qcom-wled.txt
deleted file mode 100644
index c06863b..0000000
--- a/Documentation/devicetree/bindings/leds/backlight/qcom-wled.txt
+++ /dev/null
@@ -1,154 +0,0 @@ 
-Binding for Qualcomm Technologies, Inc. WLED driver
-
-WLED (White Light Emitting Diode) driver is used for controlling display
-backlight that is part of PMIC on Qualcomm Technologies, Inc. reference
-platforms. The PMIC is connected to the host processor via SPMI bus.
-
-- compatible
-	Usage:        required
-	Value type:   <string>
-	Definition:   should be one of:
-			"qcom,pm8941-wled"
-			"qcom,pmi8998-wled"
-			"qcom,pm660l-wled"
-
-- reg
-	Usage:        required
-	Value type:   <prop encoded array>
-	Definition:   Base address of the WLED modules.
-
-- default-brightness
-	Usage:        optional
-	Value type:   <u32>
-	Definition:   brightness value on boot, value from: 0-4095.
-		      Default: 2048
-
-- label
-	Usage:        required
-	Value type:   <string>
-	Definition:   The name of the backlight device
-
-- qcom,cs-out
-	Usage:        optional
-	Value type:   <bool>
-	Definition:   enable current sink output.
-		      This property is supported only for PM8941.
-
-- qcom,cabc
-	Usage:        optional
-	Value type:   <bool>
-	Definition:   enable content adaptive backlight control.
-
-- qcom,ext-gen
-	Usage:        optional
-	Value type:   <bool>
-	Definition:   use externally generated modulator signal to dim.
-		      This property is supported only for PM8941.
-
-- qcom,current-limit
-	Usage:        optional
-	Value type:   <u32>
-	Definition:   mA; per-string current limit; value from 0 to 25 with
-		      1 mA step. Default 20 mA.
-		      This property is supported only for pm8941.
-
-- qcom,current-limit-microamp
-	Usage:        optional
-	Value type:   <u32>
-	Definition:   uA; per-string current limit; value from 0 to 30000 with
-		      2500 uA step. Default 25 mA.
-
-- qcom,current-boost-limit
-	Usage:        optional
-	Value type:   <u32>
-	Definition:   mA; boost current limit.
-		      For pm8941: one of: 105, 385, 525, 805, 980, 1260, 1400,
-		      1680. Default: 805 mA.
-		      For pmi8998: one of: 105, 280, 450, 620, 970, 1150, 1300,
-		      1500. Default: 970 mA.
-
-- qcom,switching-freq
-	Usage:        optional
-	Value type:   <u32>
-	 Definition:   kHz; switching frequency; one of: 600, 640, 685, 738,
-		       800, 872, 960, 1066, 1200, 1371, 1600, 1920, 2400, 3200,
-		       4800, 9600.
-		       Default: for pm8941: 1600 kHz
-				for pmi8998: 800 kHz
-
-- qcom,ovp
-	Usage:        optional
-	Value type:   <u32>
-	Definition:   V; Over-voltage protection limit; one of:
-		      27, 29, 32, 35. Default: 29V
-		      This property is supported only for PM8941.
-
-- qcom,ovp-millivolt
-	Usage:        optional
-	Value type:   <u32>
-	Definition:   mV; Over-voltage protection limit;
-		      For pmi8998: one of 18100, 19600, 29600, 31100.
-		      Default 29600 mV.
-		      If this property is not specified for PM8941, it
-		      falls back to "qcom,ovp" property.
-
-- qcom,num-strings
-	Usage:        optional
-	Value type:   <u32>
-	Definition:   #; number of led strings attached;
-		      value: For PM8941 from 1 to 3. Default: 2
-			     For PMI8998 from 1 to 4.
-
-- interrupts
-	Usage:        optional
-	Value type:   <prop encoded array>
-	Definition:   Interrupts associated with WLED. This should be
-		      "short" and "ovp" interrupts. Interrupts can be
-		      specified as per the encoding listed under
-		      Documentation/devicetree/bindings/spmi/
-		      qcom,spmi-pmic-arb.txt.
-
-- interrupt-names
-	Usage:        optional
-	Value type:   <string>
-	Definition:   Interrupt names associated with the interrupts.
-		      Must be "short" and "ovp". The short circuit detection
-		      is not supported for PM8941.
-
-- qcom,enabled-strings
-	Usage:        optional
-	Value tyoe:   <u32 array>
-	Definition:   Array of the WLED strings numbered from 0 to 3. Each
-		      string of leds are operated individually. Specify the
-		      list of strings used by the device. Any combination of
-		      led strings can be used.
-
-- qcom,external-pfet
-	Usage:        optional
-	Value type:   <bool>
-	Definition:   Specify if external PFET control for short circuit
-		      protection is used. This property is supported only
-		      for PMI8998.
-
-- qcom,auto-string-detection
-	Usage:        optional
-	Value type:   <bool>
-	Definition:   Enables auto-detection of the WLED string configuration.
-		      This feature is not supported for PM8941.
-
-
-Example:
-
-pm8941-wled@d800 {
-	compatible = "qcom,pm8941-wled";
-	reg = <0xd800>;
-	label = "backlight";
-
-	qcom,cs-out;
-	qcom,current-limit = <20>;
-	qcom,current-boost-limit = <805>;
-	qcom,switching-freq = <1600>;
-	qcom,ovp = <29>;
-	qcom,num-strings = <2>;
-	qcom,enabled-strings = <0 1>;
-};
diff --git a/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml b/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml
new file mode 100644
index 0000000..770e780
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/backlight/qcom-wled.yaml
@@ -0,0 +1,201 @@ 
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/backlight/qcom-wled.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Binding for Qualcomm Technologies, Inc. WLED driver
+
+maintainers:
+  - Bjorn Andersson <bjorn.andersson@linaro.org>
+  - Kiran Gunda <kgunda@codeaurora.org>
+
+description: |
+  WLED (White Light Emitting Diode) driver is used for controlling display
+  backlight that is part of PMIC on Qualcomm Technologies, Inc. reference
+  platforms. The PMIC is connected to the host processor via SPMI bus.
+
+properties:
+  compatible:
+    enum:
+      - qcom,pm8941-wled
+      - qcom,pmi8998-wled
+      - qcom,pm660l-wled
+
+  reg:
+    maxItems: 1
+
+  default-brightness:
+    description:
+      brightness value on boot.
+    minimum: 0
+    maximum: 4095
+    default: 2048
+
+  label: true
+
+  qcom,cs-out:
+    description:
+      enable current sink output.
+      This property is supported only for WLED3.
+    type: boolean
+
+  qcom,cabc:
+    description:
+      enable content adaptive backlight control.
+    type: boolean
+
+  qcom,ext-gen:
+    description:
+      use externally generated modulator signal to dim.
+      This property is supported only for WLED3.
+    type: boolean
+
+  qcom,current-limit:
+    description:
+      mA; per-string current limit.
+      This property is supported only for WLED3.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+    default: 20
+    minimum: 0
+    maximum: 25
+    multipleOf: 1
+
+  qcom,current-limit-microamp:
+    description:
+      uA; per-string current limit.
+    default: 25
+    minimum: 0
+    maximum: 30000
+    multipleOf: 25
+
+  qcom,current-boost-limit:
+    description:
+      mA; boost current limit.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+
+  qcom,switching-freq:
+    description:
+      kHz; switching frequency.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+      - enum: [ 600, 640, 685, 738, 800, 872, 960, 1066, 1200, 1371, 1600, 1920, 2400, 3200, 4800, 9600 ]
+
+  qcom,ovp:
+    description:
+      V; Over-voltage protection limit.
+      This property is supported only for WLED3.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+      - enum: [ 27, 29, 32, 35 ]
+      - default: 29
+
+  qcom,ovp-millivolt:
+    description:
+      Over-voltage protection limit. This property is for WLED4 only.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+      - enum: [ 18100, 19600, 29600, 31100 ]
+      - default: 29600
+
+  qcom,num-strings:
+    description:
+      number of led strings attached.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+
+  qcom,enabled-strings:
+    description:
+      Array of the WLED strings numbered from 0 to 3. Each
+      string of leds are operated individually. Specify the
+      list of strings used by the device. Any combination of
+      led strings can be used.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 1
+    maxItems: 4
+
+  qcom,external-pfet:
+    description:
+      Specify if external PFET control for short circuit
+      protection is used. This property is supported only
+      for WLED4.
+    type: boolean
+        
+  qcom,auto-string-detection:
+    description:
+      Enables auto-detection of the WLED string configuration.
+      This feature is not supported for WLED3.
+    type: boolean
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: qcom,pm8941-wled
+
+    then:
+      properties:
+        qcom,current-boost-limit:
+           enum: [ 105, 385, 525, 805, 980, 1260, 1400, 1680 ]
+           default: 805
+
+        qcom,switching-freq:
+           default: 1600
+
+        qcom,num-strings:
+           enum: [ 1, 2, 3 ]
+  
+        interrupts:
+          items:
+            - description: over voltage protection interrupt.
+
+        interrupt-names:
+          items:
+            - const: ovp
+
+    else:
+      properties:
+        qcom,current-boost-limit:
+           enum: [ 105, 280, 450, 620, 970, 1150, 1300, 1500 ]
+           default: 970
+
+        qcom,switching-freq:
+           default: 800
+
+        qcom,num-strings:
+           enum: [ 1, 2, 3, 4 ]
+
+        interrupts:
+          items:
+            - description: over voltage protection interrupt.
+            - description: short circuit interrupt.
+
+        interrupt-names:
+          items:
+            - const: ovp
+            - const: short
+
+required:
+  - compatible
+  - reg
+  - label
+
+examples:
+  - |
+    backlight@d800 {
+        compatible = "qcom,pm8941-wled";
+        reg = <0xd800 0x100>;
+        label = "backlight";
+
+        qcom,cs-out;
+        qcom,current-limit = <20>;
+        qcom,current-boost-limit = <805>;
+        qcom,switching-freq = <1600>;
+        qcom,ovp = <29>;
+        qcom,num-strings = <2>;
+        qcom,enabled-strings = <0 1>;
+     };