# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/leds/nxp,pca963x.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NXP PCA963x LED controllers maintainers: - Laurent Pinchart description: | The NXP PCA963x are I2C-controlled LED drivers optimized for Red/Green/Blue/Amber (RGBA) color mixing applications. Each LED is individually controllable and has its own PWM controller. Datasheets are available at - https://www.nxp.com/docs/en/data-sheet/PCA9632.pdf - https://www.nxp.com/docs/en/data-sheet/PCA9633.pdf - https://www.nxp.com/docs/en/data-sheet/PCA9634.pdf - https://www.nxp.com/docs/en/data-sheet/PCA9635.pdf properties: compatible: enum: - nxp,pca9632 - nxp,pca9633 - nxp,pca9634 - nxp,pca9635 reg: maxItems: 1 "#address-cells": const: 1 "#size-cells": const: 0 nxp,hw-blink: type: boolean description: Use hardware blinking instead of software blinking nxp,inverted-out: type: boolean description: Invert the polarity of the generated PWM. nxp,period-scale: $ref: /schemas/types.yaml#/definitions/uint32 description: In some configurations, the chip blinks faster than expected. This parameter provides a scaling ratio (fixed point, decimal divided by 1000) to compensate, e.g. 1300=1.3x and 750=0.75x. nxp,totem-pole: type: boolean description: Use totem pole (push-pull) instead of open-drain (pca9632 defaults to open-drain, newer chips to totem pole). patternProperties: "^led@[0-9a-f]+$": type: object $ref: common.yaml# unevaluatedProperties: false properties: reg: minimum: 0 required: - reg allOf: - if: properties: compatible: contains: enum: - nxp,pca9632 - nxp,pca9633 then: patternProperties: "^led@[0-9a-f]+$": properties: reg: maximum: 3 else: patternProperties: "^led@[0-9a-f]+$": properties: reg: maximum: 7 additionalProperties: false examples: - | #include i2c { #address-cells = <1>; #size-cells = <0>; led-controller@62 { compatible = "nxp,pca9632"; reg = <0x62>; #address-cells = <1>; #size-cells = <0>; led@0 { reg = <0>; color = ; function = LED_FUNCTION_STATUS; }; led@1 { reg = <1>; color = ; function = LED_FUNCTION_STATUS; }; led@2 { reg = <2>; color = ; function = LED_FUNCTION_STATUS; }; led@3 { reg = <3>; color = ; function = LED_FUNCTION_STATUS; }; }; }; ...