Commit e0ace1fc authored by Kiran Gunda's avatar Kiran Gunda Committed by Lee Jones
Browse files

dt-bindings: backlight: qcom-wled: Convert the wled bindings to .yaml format



Convert the qcom-wled bindings from .txt to .yaml format.
Also replace PM8941 to WLED3 and PMI8998 to WLED4.

Signed-off-by: default avatarKiran Gunda <kgunda@codeaurora.org>
Signed-off-by: default avatarSubbaraman Narayanamurthy <subbaram@codeaurora.org>
Acked-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 61365ca7
Loading
Loading
Loading
Loading
+0 −154
Original line number Diff line number Diff line
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>;
};
+208 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%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

  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

  interrupts:
    minItems: 1
    items:
      - description: over voltage protection interrupt.
      - description: short circuit interrupt.

  interrupt-names:
    minItems: 1
    items:
      - const: ovp
      - const: short

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:
          maxItems: 1

        interrupt-names:
          maxItems: 1

    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:
          minItems: 2

        interrupt-names:
          minItems: 2

required:
  - compatible
  - reg
  - label

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>;
     };