Message ID | 20210326052801.17666-2-chenhui.zhang@axis.com |
---|---|
State | New |
Headers | show |
Series | [v2,1/2] dt-binding: leds: Document leds-multi-gpio bindings | expand |
On Fri, Mar 26, 2021 at 01:28:00PM +0800, Hermes Zhang wrote: > From: Hermes Zhang <chenhuiz@axis.com> > > This binding represents LED devices which are controller with > multiple GPIO lines in order to achieve more than two brightness > states. > > Signed-off-by: Hermes Zhang <chenhuiz@axis.com> > --- > .../bindings/leds/leds-multi-gpio.yaml | 50 +++++++++++++++++++ > 1 file changed, 50 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/leds-multi-gpio.yaml > > diff --git a/Documentation/devicetree/bindings/leds/leds-multi-gpio.yaml b/Documentation/devicetree/bindings/leds/leds-multi-gpio.yaml > new file mode 100644 > index 000000000000..1549f21e8d6e > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/leds-multi-gpio.yaml > @@ -0,0 +1,50 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/leds-multi-gpio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Multiple GPIOs LED driver > + > +maintainers: > + - Hermes Zhang <chenhuiz@axis.com> > + > +description: > + This will support some LED made of multiple GPIOs and the brightness of the > + LED could map to different states of the GPIOs. > + > +properties: > + compatible: > + const: multi-gpio-led > + > + led-gpios: > + description: Array of one or more GPIOs pins used to control the LED. > + minItems: 1 > + maxItems: 8 # Should be enough > + > + led-states: > + description: | > + The array list the supported states here which will map to brightness > + from 0 to maximum. Each item in the array will present all the GPIOs > + value by bit. > + $ref: /schemas/types.yaml#/definitions/uint8-array > + minItems: 1 > + maxItems: 256 # Should be enough Isn't this the same as the standard 'brightness-levels' from backlight binding? The index is the level and the value is the h/w specific setting. > + > +required: > + - compatible > + - led-gpios > + - led-states > + > +additionalProperties: false > + > +examples: > + - | > + gpios-led { > + compatible = "multi-gpio-led"; > + > + led-gpios = <&gpio0 23 0x1>, > + <&gpio0 24 0x1>; > + led-states = /bits/ 8 <0x00 0x01 0x02 0x03>; > + }; > +... > -- > 2.20.1 >
On 3/28/21 2:12 AM, Rob Herring wrote: >> + >> + led-gpios: >> + description: Array of one or more GPIOs pins used to control the LED. >> + minItems: 1 >> + maxItems: 8 # Should be enough >> + >> + led-states: >> + description: | >> + The array list the supported states here which will map to brightness >> + from 0 to maximum. Each item in the array will present all the GPIOs >> + value by bit. >> + $ref: /schemas/types.yaml#/definitions/uint8-array >> + minItems: 1 >> + maxItems: 256 # Should be enough > Isn't this the same as the standard 'brightness-levels' from backlight > binding? The index is the level and the value is the h/w specific > setting. Yes, it seems same. Best Regards, Hermes
diff --git a/Documentation/devicetree/bindings/leds/leds-multi-gpio.yaml b/Documentation/devicetree/bindings/leds/leds-multi-gpio.yaml new file mode 100644 index 000000000000..1549f21e8d6e --- /dev/null +++ b/Documentation/devicetree/bindings/leds/leds-multi-gpio.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/leds-multi-gpio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Multiple GPIOs LED driver + +maintainers: + - Hermes Zhang <chenhuiz@axis.com> + +description: + This will support some LED made of multiple GPIOs and the brightness of the + LED could map to different states of the GPIOs. + +properties: + compatible: + const: multi-gpio-led + + led-gpios: + description: Array of one or more GPIOs pins used to control the LED. + minItems: 1 + maxItems: 8 # Should be enough + + led-states: + description: | + The array list the supported states here which will map to brightness + from 0 to maximum. Each item in the array will present all the GPIOs + value by bit. + $ref: /schemas/types.yaml#/definitions/uint8-array + minItems: 1 + maxItems: 256 # Should be enough + +required: + - compatible + - led-gpios + - led-states + +additionalProperties: false + +examples: + - | + gpios-led { + compatible = "multi-gpio-led"; + + led-gpios = <&gpio0 23 0x1>, + <&gpio0 24 0x1>; + led-states = /bits/ 8 <0x00 0x01 0x02 0x03>; + }; +...