Message ID | 20230429104534.28943-2-aweber.kernel@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | video: backlight: lp855x: modernize bindings | expand |
On Sat, Apr 29, 2023 at 12:45:31PM +0200, Artur Weber wrote: > Notable changes: > - ROM child nodes use dashes instead of underscores; the driver > reads all child nodes regardless of their names, so this doesn't > break ABI. > - pwm-period argument is deprecated, as it effectively duplicates > the period value provided in pwms. The driver continues to accept > the property, so this should not break ABI. > > Signed-off-by: Artur Weber <aweber.kernel@gmail.com> > --- > .../leds/backlight/lp855x-backlight.yaml | 148 ++++++++++++++++++ > .../bindings/leds/backlight/lp855x.txt | 72 --------- > 2 files changed, 148 insertions(+), 72 deletions(-) > create mode 100644 Documentation/devicetree/bindings/leds/backlight/lp855x-backlight.yaml > delete mode 100644 Documentation/devicetree/bindings/leds/backlight/lp855x.txt > > diff --git a/Documentation/devicetree/bindings/leds/backlight/lp855x-backlight.yaml b/Documentation/devicetree/bindings/leds/backlight/lp855x-backlight.yaml > new file mode 100644 > index 000000000000..dfe8131d2a32 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/backlight/lp855x-backlight.yaml > @@ -0,0 +1,148 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/backlight/lp855x-backlight.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Texas Instruments LP855X backlight controllers > + > +maintainers: > + - Artur Weber <aweber.kernel@gmail.com> > + > +properties: > + compatible: > + enum: > + - ti,lp8550 > + - ti,lp8551 > + - ti,lp8552 > + - ti,lp8553 > + - ti,lp8555 > + - ti,lp8556 > + - ti,lp8557 > + > + reg: > + maxItems: 1 > + > + dev-ctrl: > + $ref: /schemas/types.yaml#/definitions/uint8 > + description: > + Value of device control register. This is a device-specific value. > + > + bl-name: > + $ref: /schemas/types.yaml#/definitions/string > + description: Backlight device name. > + > + init-brt: > + $ref: /schemas/types.yaml#/definitions/uint8 > + description: Initial value of backlight brightness. > + > + power-supply: > + description: Regulator which controls the 3V rail. > + > + enable-supply: > + description: Regulator which controls the EN/VDDIO input. > + > + pwms: > + maxItems: 1 > + description: | > + PWM channel to use for controlling the backlight; setting this > + enables the PWM-based backlight control mode. > + > + pwm-names: true > + > + pwm-period: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + PWM period value. Deprecated; set the period value in the pwms > + property instead. > + deprecated: true > + > +patternProperties: > + "^rom-[0-9a-f]{2}h$": > + type: object > + description: Nodes containing the values of configuration registers. additionalProperties: false With that, Reviewed-by: Rob Herring <robh@kernel.org> > + properties: > + rom-addr: > + $ref: /schemas/types.yaml#/definitions/uint8 > + description: Register address of ROM area to be updated. > + > + rom-val: > + $ref: /schemas/types.yaml#/definitions/uint8 > + description: Value to write to the ROM register. > + > +required: > + - compatible > + - reg > + - dev-ctrl > + > +unevaluatedProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + backlight@2c { > + compatible = "ti,lp8555"; > + reg = <0x2c>; > + > + dev-ctrl = /bits/ 8 <0x00>; > + > + pwms = <&pwm 0 10000>; > + pwm-names = "lp8555"; > + > + /* 4V OV, 4 output LED0 string enabled */ > + rom-14h { > + rom-addr = /bits/ 8 <0x14>; > + rom-val = /bits/ 8 <0xcf>; > + }; > + > + /* Heavy smoothing, 24ms ramp time step */ > + rom-15h { > + rom-addr = /bits/ 8 <0x15>; > + rom-val = /bits/ 8 <0xc7>; > + }; > + > + /* 4 output LED1 string enabled */ > + rom-19h { > + rom-addr = /bits/ 8 <0x19>; > + rom-val = /bits/ 8 <0x0f>; > + }; > + }; > + }; > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + backlight@2c { > + compatible = "ti,lp8556"; > + reg = <0x2c>; > + > + bl-name = "lcd-bl"; > + dev-ctrl = /bits/ 8 <0x85>; > + init-brt = /bits/ 8 <0x10>; > + }; > + }; > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + backlight@2c { > + compatible = "ti,lp8557"; > + reg = <0x2c>; > + enable-supply = <&backlight_vddio>; > + power-supply = <&backlight_vdd>; > + > + dev-ctrl = /bits/ 8 <0x41>; > + init-brt = /bits/ 8 <0x0a>; > + > + /* 4V OV, 4 output LED string enabled */ > + rom-14h { > + rom-addr = /bits/ 8 <0x14>; > + rom-val = /bits/ 8 <0xcf>; > + }; > + }; > + };
diff --git a/Documentation/devicetree/bindings/leds/backlight/lp855x-backlight.yaml b/Documentation/devicetree/bindings/leds/backlight/lp855x-backlight.yaml new file mode 100644 index 000000000000..dfe8131d2a32 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/backlight/lp855x-backlight.yaml @@ -0,0 +1,148 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/backlight/lp855x-backlight.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Texas Instruments LP855X backlight controllers + +maintainers: + - Artur Weber <aweber.kernel@gmail.com> + +properties: + compatible: + enum: + - ti,lp8550 + - ti,lp8551 + - ti,lp8552 + - ti,lp8553 + - ti,lp8555 + - ti,lp8556 + - ti,lp8557 + + reg: + maxItems: 1 + + dev-ctrl: + $ref: /schemas/types.yaml#/definitions/uint8 + description: + Value of device control register. This is a device-specific value. + + bl-name: + $ref: /schemas/types.yaml#/definitions/string + description: Backlight device name. + + init-brt: + $ref: /schemas/types.yaml#/definitions/uint8 + description: Initial value of backlight brightness. + + power-supply: + description: Regulator which controls the 3V rail. + + enable-supply: + description: Regulator which controls the EN/VDDIO input. + + pwms: + maxItems: 1 + description: | + PWM channel to use for controlling the backlight; setting this + enables the PWM-based backlight control mode. + + pwm-names: true + + pwm-period: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + PWM period value. Deprecated; set the period value in the pwms + property instead. + deprecated: true + +patternProperties: + "^rom-[0-9a-f]{2}h$": + type: object + description: Nodes containing the values of configuration registers. + properties: + rom-addr: + $ref: /schemas/types.yaml#/definitions/uint8 + description: Register address of ROM area to be updated. + + rom-val: + $ref: /schemas/types.yaml#/definitions/uint8 + description: Value to write to the ROM register. + +required: + - compatible + - reg + - dev-ctrl + +unevaluatedProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + backlight@2c { + compatible = "ti,lp8555"; + reg = <0x2c>; + + dev-ctrl = /bits/ 8 <0x00>; + + pwms = <&pwm 0 10000>; + pwm-names = "lp8555"; + + /* 4V OV, 4 output LED0 string enabled */ + rom-14h { + rom-addr = /bits/ 8 <0x14>; + rom-val = /bits/ 8 <0xcf>; + }; + + /* Heavy smoothing, 24ms ramp time step */ + rom-15h { + rom-addr = /bits/ 8 <0x15>; + rom-val = /bits/ 8 <0xc7>; + }; + + /* 4 output LED1 string enabled */ + rom-19h { + rom-addr = /bits/ 8 <0x19>; + rom-val = /bits/ 8 <0x0f>; + }; + }; + }; + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + backlight@2c { + compatible = "ti,lp8556"; + reg = <0x2c>; + + bl-name = "lcd-bl"; + dev-ctrl = /bits/ 8 <0x85>; + init-brt = /bits/ 8 <0x10>; + }; + }; + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + backlight@2c { + compatible = "ti,lp8557"; + reg = <0x2c>; + enable-supply = <&backlight_vddio>; + power-supply = <&backlight_vdd>; + + dev-ctrl = /bits/ 8 <0x41>; + init-brt = /bits/ 8 <0x0a>; + + /* 4V OV, 4 output LED string enabled */ + rom-14h { + rom-addr = /bits/ 8 <0x14>; + rom-val = /bits/ 8 <0xcf>; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/leds/backlight/lp855x.txt b/Documentation/devicetree/bindings/leds/backlight/lp855x.txt deleted file mode 100644 index 88f56641fc28..000000000000 --- a/Documentation/devicetree/bindings/leds/backlight/lp855x.txt +++ /dev/null @@ -1,72 +0,0 @@ -lp855x bindings - -Required properties: - - compatible: "ti,lp8550", "ti,lp8551", "ti,lp8552", "ti,lp8553", - "ti,lp8555", "ti,lp8556", "ti,lp8557" - - reg: I2C slave address (u8) - - dev-ctrl: Value of DEVICE CONTROL register (u8). It depends on the device. - -Optional properties: - - bl-name: Backlight device name (string) - - init-brt: Initial value of backlight brightness (u8) - - pwm-period: PWM period value. Set only PWM input mode used (u32) - - rom-addr: Register address of ROM area to be updated (u8) - - rom-val: Register value to be updated (u8) - - power-supply: Regulator which controls the 3V rail - - enable-supply: Regulator which controls the EN/VDDIO input - -Example: - - /* LP8555 */ - backlight@2c { - compatible = "ti,lp8555"; - reg = <0x2c>; - - dev-ctrl = /bits/ 8 <0x00>; - pwm-period = <10000>; - - /* 4V OV, 4 output LED0 string enabled */ - rom_14h { - rom-addr = /bits/ 8 <0x14>; - rom-val = /bits/ 8 <0xcf>; - }; - - /* Heavy smoothing, 24ms ramp time step */ - rom_15h { - rom-addr = /bits/ 8 <0x15>; - rom-val = /bits/ 8 <0xc7>; - }; - - /* 4 output LED1 string enabled */ - rom_19h { - rom-addr = /bits/ 8 <0x19>; - rom-val = /bits/ 8 <0x0f>; - }; - }; - - /* LP8556 */ - backlight@2c { - compatible = "ti,lp8556"; - reg = <0x2c>; - - bl-name = "lcd-bl"; - dev-ctrl = /bits/ 8 <0x85>; - init-brt = /bits/ 8 <0x10>; - }; - - /* LP8557 */ - backlight@2c { - compatible = "ti,lp8557"; - reg = <0x2c>; - enable-supply = <&backlight_vddio>; - power-supply = <&backlight_vdd>; - - dev-ctrl = /bits/ 8 <0x41>; - init-brt = /bits/ 8 <0x0a>; - - /* 4V OV, 4 output LED string enabled */ - rom_14h { - rom-addr = /bits/ 8 <0x14>; - rom-val = /bits/ 8 <0xcf>; - }; - };
Notable changes: - ROM child nodes use dashes instead of underscores; the driver reads all child nodes regardless of their names, so this doesn't break ABI. - pwm-period argument is deprecated, as it effectively duplicates the period value provided in pwms. The driver continues to accept the property, so this should not break ABI. Signed-off-by: Artur Weber <aweber.kernel@gmail.com> --- .../leds/backlight/lp855x-backlight.yaml | 148 ++++++++++++++++++ .../bindings/leds/backlight/lp855x.txt | 72 --------- 2 files changed, 148 insertions(+), 72 deletions(-) create mode 100644 Documentation/devicetree/bindings/leds/backlight/lp855x-backlight.yaml delete mode 100644 Documentation/devicetree/bindings/leds/backlight/lp855x.txt