From: Rob Herring <robh@kernel.org>
To: Sander Vanheule <sander@svanheule.net>
Cc: Pavel Machek <pavel@ucw.cz>, Lee Jones <lee.jones@linaro.org>,
Linus Walleij <linus.walleij@linaro.org>,
linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/5] dt-bindings: leds: Binding for RTL8231 scan matrix
Date: Mon, 17 May 2021 17:31:13 -0500 [thread overview]
Message-ID: <20210517223113.GA3302542@robh.at.kernel.org> (raw)
In-Reply-To: <cb1910ab6ba0795666df1034b47221f8bac160f9.1620735871.git.sander@svanheule.net>
On Tue, May 11, 2021 at 02:25:19PM +0200, Sander Vanheule wrote:
> Add a binding description for the Realtek RTL8231's LED support, which
> consists of up to 88 LEDs arranged in a number of scanning matrices.
>
> Signed-off-by: Sander Vanheule <sander@svanheule.net>
> ---
> .../bindings/leds/realtek,rtl8231-leds.yaml | 159 ++++++++++++++++++
> 1 file changed, 159 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/leds/realtek,rtl8231-leds.yaml
>
> diff --git a/Documentation/devicetree/bindings/leds/realtek,rtl8231-leds.yaml b/Documentation/devicetree/bindings/leds/realtek,rtl8231-leds.yaml
> new file mode 100644
> index 000000000000..aba2b55fb9c9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/realtek,rtl8231-leds.yaml
> @@ -0,0 +1,159 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/realtek,rtl8231-leds.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Realtek RTL8231 LED scan matrix.
> +
> +maintainers:
> + - Sander Vanheule <sander@svanheule.net>
> +
> +description: |
> + The RTL8231 has support for driving a number of LED matrices, by scanning
> + over the LEDs pins, alternatingly lighting different columns and/or rows.
> +
> + In single color scan mode, 88 LEDs are supported. These are grouped into
> + three output matrices:
> + - Group A of 6×6 single color LEDs. Rows and columns are driven by GPIO
> + pins 0-11.
> + L0[n] L1[n] L2[n] L0[n+6] L1[n+6] L2[n+6]
> + | | | | | |
> + P0/P6 --<--------<--------<--------<--------<--------< (3)
> + | | | | | |
> + P1/P7 --<--------<--------<--------<--------<--------< (4)
> + | | | | | |
> + P2/P8 --<--------<--------<--------<--------<--------< (5)
> + | | | | | |
> + P3/P9 --<--------<--------<--------<--------<--------< (6)
> + | | | | | |
> + P4/P10 --<--------<--------<--------<--------<--------< (7)
> + | | | | | |
> + P5/P11 --<--------<--------<--------<--------<--------< (8)
> + (0) (1) (2) (9) (10) (11)
> + - Group B of 6×6 single color LEDs. Rows and columns are driven by GPIO
> + pins 12-23.
> + L0[n] L1[n] L2[n] L0[n+6] L1[n+6] L2[n+6]
> + | | | | | |
> + P12/P18 --<--------<--------<--------<--------<--------< (15)
> + | | | | | |
> + P13/P19 --<--------<--------<--------<--------<--------< (16)
> + | | | | | |
> + P14/P20 --<--------<--------<--------<--------<--------< (17)
> + | | | | | |
> + P15/P21 --<--------<--------<--------<--------<--------< (18)
> + | | | | | |
> + P16/P22 --<--------<--------<--------<--------<--------< (19)
> + | | | | | |
> + P17/P23 --<--------<--------<--------<--------<--------< (20)
> + (12) (13) (14) (21) (22) (23)
> + - Group C of 8 pairs of anti-parallel (or bi-color) LEDs. LED selection is
> + provided by GPIO pins 24-27 and 29-32, polarity selection by GPIO 28.
> + P24 P25 ... P30 P31
> + | | | |
> + LED POL --X-------X---/\/---X-------X (28)
> + (24) (25) ... (31) (32)
> +
> + In bi-color scan mode, 72 LEDs are supported. These are grouped into four
> + output matrices:
> + - Group A of 12 pairs of anti-parallel LEDs. LED selection is provided
> + by GPIO pins 0-11, polarity selection by GPIO 12.
> + - Group B of 6 pairs of anti-parallel LEDs. LED selection is provided
> + by GPIO pins 23-28, polarity selection by GPIO 21.
> + - Group C of 6 pairs of anti-parallel LEDs. LED selection is provided
> + by GPIO pins 29-34, polarity selection by GPIO 22.
> + - Group of 4×6 single color LEDs. Rows are driven by GPIO pins 15-20,
> + columns by GPIO pins 13-14 and 21-22 (shared with groups B and C).
> + P[n] P[n+6] P[n+12] P[n+18]
> + | | | |
> + +0 --<--------<--------<--------< (15)
> + | | | |
> + +1 --<--------<--------<--------< (16)
> + | | | |
> + +2 --<--------<--------<--------< (17)
> + | | | |
> + +3 --<--------<--------<--------< (18)
> + | | | |
> + +4 --<--------<--------<--------< (19)
> + | | | |
> + +6 --<--------<--------<--------< (20)
> + (13) (14) (21) (22)
> +
> + This node must always be a child of a 'realtek,rtl8231' node.
> +
> +properties:
> + $nodename:
> + const: leds
led-controller
> +
> + compatible:
> + const: realtek,rtl8231-leds
How is this device controlled?
> +
> + "#address-cells":
> + const: 2
> +
> + "#size-cells":
> + const: 0
> +
> + realtek,led-scan-mode:
> + $ref: /schemas/types.yaml#/definitions/string
> + description: |
> + Specify the scanning mode the chip should run in. See general description
> + for how the scanning matrices are wired up.
> + enum: ["single-color", "bi-color"]
> +
> +patternProperties:
> + "^led@[0-9]+,[0-2]$":
> + description: |
> + LEDs are addressed by their port index and led index. Ports 0-23 always
> + support three LEDs. Additionally, but only when used in single color scan
> + mode, ports 24-31 support two LEDs.
Normally unit-addresses are hex values.
> + type: object
> +
> + properties:
> + reg:
> + maxItems: 1
This should have more constraints:
reg:
items:
- items:
- description: port index
maximum: 31
- description: led index
maximum: 2
> +
> + allOf:
> + - $ref: ../leds/common.yaml#
> +
> + required:
> + - reg
> +
> +required:
> + - compatible
> + - "#address-cells"
> + - "#size-cells"
> + - realtek,led-scan-mode
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/leds/common.h>
> + leds {
> + compatible = "realtek,rtl8231-leds";
> + #address-cells = <2>;
> + #size-cells = <0>;
> +
> + realtek,led-scan-mode = "single-color";
> +
> + led@0,0 {
> + reg = <0 0>;
> + color = <LED_COLOR_ID_GREEN>;
> + function = LED_FUNCTION_LAN;
> + function-enumerator = <0>;
> + };
> +
> + led@0,1 {
> + reg = <0 1>;
> + color = <LED_COLOR_ID_AMBER>;
> + function = LED_FUNCTION_LAN;
> + function-enumerator = <0>;
> + };
> +
> + led@0,2 {
> + reg = <0 2>;
> + color = <LED_COLOR_ID_GREEN>;
> + function = LED_FUNCTION_STATUS;
> + };
> + };
> --
> 2.31.1
>
next prev parent reply other threads:[~2021-05-17 22:31 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-11 12:25 [PATCH 0/5] RTL8231 GPIO expander support Sander Vanheule
2021-05-11 12:25 ` [PATCH 1/5] dt-bindings: leds: Binding for RTL8231 scan matrix Sander Vanheule
2021-05-17 22:31 ` Rob Herring [this message]
2021-05-19 16:39 ` Sander Vanheule
2021-05-11 12:25 ` [PATCH 2/5] dt-bindings: mfd: Binding for RTL8231 Sander Vanheule
2021-05-17 22:38 ` Rob Herring
2021-05-19 16:53 ` Sander Vanheule
2021-05-11 12:25 ` [PATCH 3/5] mfd: Add RTL8231 core device Sander Vanheule
2021-05-12 12:29 ` kernel test robot
2021-05-12 13:13 ` kernel test robot
2021-05-19 14:58 ` Lee Jones
2021-05-19 15:11 ` Sander Vanheule
2021-05-11 12:25 ` [PATCH 4/5] pinctrl: Add RTL8231 pin control and GPIO support Sander Vanheule
2021-05-11 12:25 ` [PATCH 5/5] leds: Add support for RTL8231 LED scan matrix Sander Vanheule
[not found] ` <CAHp75VffoKyyPJbdtKMLx575c9LT0S8+EHOk7Mw36j=aTL6Q4Q@mail.gmail.com>
2021-05-16 21:40 ` [PATCH 0/5] RTL8231 GPIO expander support Sander Vanheule
2021-05-17 8:13 ` Andy Shevchenko
2021-05-17 8:50 ` Sander Vanheule
2021-05-17 19:32 ` Sander Vanheule
2021-05-17 19:28 ` [PATCH v2 0/7] " Sander Vanheule
2021-05-17 19:28 ` [PATCH v2 1/7] regmap: Add MDIO bus support Sander Vanheule
2021-05-19 16:12 ` Mark Brown
2021-05-17 19:28 ` [PATCH v2 2/7] gpio: regmap: Add configurable dir/value order Sander Vanheule
2021-05-17 21:06 ` Andy Shevchenko
2021-05-18 1:40 ` Andrew Lunn
2021-05-18 11:39 ` Sander Vanheule
2021-05-23 22:21 ` Sander Vanheule
2021-05-18 8:39 ` Michael Walle
2021-05-18 10:39 ` Andy Shevchenko
2021-05-23 21:19 ` Sander Vanheule
2021-05-17 19:28 ` [PATCH v2 3/7] dt-bindings: leds: Binding for RTL8231 scan matrix Sander Vanheule
2021-05-17 19:28 ` [PATCH v2 4/7] dt-bindings: mfd: Binding for RTL8231 Sander Vanheule
2021-05-18 22:02 ` Linus Walleij
2021-05-17 19:28 ` [PATCH v2 5/7] mfd: Add RTL8231 core device Sander Vanheule
2021-05-17 21:18 ` Andy Shevchenko
2021-05-23 21:28 ` Sander Vanheule
2021-05-24 7:49 ` Andy Shevchenko
2021-05-24 7:50 ` Sander Vanheule
2021-05-24 7:55 ` Andy Shevchenko
2021-05-24 8:04 ` Sander Vanheule
2021-05-17 19:28 ` [PATCH v2 6/7] pinctrl: Add RTL8231 pin control and GPIO support Sander Vanheule
2021-05-17 21:42 ` Andy Shevchenko
2021-05-17 21:46 ` Andy Shevchenko
2021-05-23 21:42 ` Sander Vanheule
2021-05-17 19:28 ` [PATCH v2 7/7] leds: Add support for RTL8231 LED scan matrix Sander Vanheule
2021-05-17 22:00 ` Andy Shevchenko
2021-05-23 21:53 ` Sander Vanheule
2021-05-19 16:10 ` (subset) [PATCH v2 0/7] RTL8231 GPIO expander support Mark Brown
2021-05-23 22:33 ` [PATCH v3 0/6] " Sander Vanheule
2021-05-23 22:33 ` [PATCH v3 1/6] gpio: regmap: Add quirk for output data register Sander Vanheule
2021-05-28 6:40 ` Michael Walle
2021-06-03 10:03 ` Sander Vanheule
2021-05-31 7:25 ` Bartosz Golaszewski
2021-05-23 22:34 ` [PATCH v3 2/6] dt-bindings: leds: Binding for RTL8231 scan matrix Sander Vanheule
2021-06-02 18:58 ` Rob Herring
2021-05-23 22:34 ` [PATCH v3 3/6] dt-bindings: mfd: Binding for RTL8231 Sander Vanheule
2021-05-27 23:31 ` Linus Walleij
2021-06-02 19:02 ` Rob Herring
2021-05-23 22:34 ` [PATCH v3 4/6] mfd: Add RTL8231 core device Sander Vanheule
2021-05-24 8:02 ` Andy Shevchenko
2021-05-24 8:23 ` Sander Vanheule
2021-05-24 10:18 ` Andy Shevchenko
2021-05-24 11:41 ` Sander Vanheule
2021-05-23 22:34 ` [PATCH v3 5/6] pinctrl: Add RTL8231 pin control and GPIO support Sander Vanheule
2021-05-28 6:29 ` Michael Walle
2021-05-28 6:42 ` Sander Vanheule
2021-05-28 6:43 ` Michael Walle
2021-05-23 22:34 ` [PATCH v3 6/6] leds: Add support for RTL8231 LED scan matrix Sander Vanheule
2021-05-24 10:24 ` Andy Shevchenko
2021-05-24 12:04 ` Sander Vanheule
2021-05-24 12:47 ` Andy Shevchenko
2021-05-24 15:30 ` Sander Vanheule
2021-05-24 1:10 ` [PATCH v3 0/6] RTL8231 GPIO expander support Andrew Lunn
2021-05-24 7:53 ` Andy Shevchenko
2021-05-24 11:41 ` Sander Vanheule
2021-05-24 12:54 ` Andy Shevchenko
2021-05-24 15:03 ` Sander Vanheule
2021-05-24 16:30 ` Andy Shevchenko
2021-05-25 17:11 ` Andy Shevchenko
2021-05-25 18:00 ` Sander Vanheule
2021-05-26 21:02 ` Sander Vanheule
2021-05-27 10:38 ` Andy Shevchenko
2021-05-27 10:41 ` Hans de Goede
2021-05-24 15:20 ` Sander Vanheule
2021-05-28 6:37 ` Michael Walle
2021-05-30 16:19 ` Sander Vanheule
2021-05-30 16:51 ` Hans de Goede
2021-05-30 18:16 ` Andy Shevchenko
2021-05-30 21:22 ` Michael Walle
2021-05-31 8:36 ` Sander Vanheule
2021-05-31 10:02 ` Michael Walle
[not found] ` <CAHp75VfOrUBRQH1vrXEwHN4ZPojQfQju-_wp_3djZeozEaatug@mail.gmail.com>
2021-05-31 15:33 ` [PATCH 0/5] " Sander Vanheule
2021-05-31 15:48 ` Andy Shevchenko
2021-06-01 11:49 ` Michael Walle
2021-06-01 15:24 ` Andy Shevchenko
2021-06-02 20:20 ` Sander Vanheule
2021-06-01 9:59 ` [PATCH v3 0/6] " Linus Walleij
2021-06-01 10:18 ` Michael Walle
2021-06-01 10:51 ` Linus Walleij
2021-06-01 11:41 ` Michael Walle
2021-06-01 11:48 ` Linus Walleij
2021-06-03 10:00 ` [PATCH v4 0/5] " Sander Vanheule
2021-06-03 10:00 ` [PATCH v4 1/5] dt-bindings: leds: Binding for RTL8231 scan matrix Sander Vanheule
2021-06-03 10:00 ` [PATCH v4 2/5] dt-bindings: mfd: Binding for RTL8231 Sander Vanheule
2021-06-03 10:00 ` [PATCH v4 3/5] mfd: Add RTL8231 core device Sander Vanheule
2021-06-03 10:58 ` Andy Shevchenko
2021-06-03 11:28 ` Sander Vanheule
2021-06-03 14:03 ` Andrew Lunn
2021-06-03 15:20 ` Sander Vanheule
2021-06-05 11:07 ` Sander Vanheule
2021-06-03 10:00 ` [PATCH v4 4/5] pinctrl: Add RTL8231 pin control and GPIO support Sander Vanheule
2021-06-03 10:18 ` Andy Shevchenko
2021-06-03 15:58 ` kernel test robot
2021-06-04 7:00 ` Sander Vanheule
2021-06-04 22:10 ` Linus Walleij
2021-06-03 10:00 ` [PATCH v4 5/5] leds: Add support for RTL8231 LED scan matrix Sander Vanheule
2021-06-03 11:01 ` Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210517223113.GA3302542@robh.at.kernel.org \
--to=robh@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=sander@svanheule.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).