[PATCH v3 2/5] dt-bindings: auxdisplay: Add Titan Micro Electronics TM1628
Rob Herring
robh at kernel.org
Thu Feb 24 12:22:39 PST 2022
On Wed, Feb 23, 2022 at 06:59:31PM +0100, Heiner Kallweit wrote:
> Add a YAML schema binding for TM1628 auxdisplay
> (7/11-segment LED) controller.
>
> This patch is partially based on previous work from
> Andreas Färber <afaerber at suse.de>.
>
> Co-Developed-by: Andreas Färber <afaerber at suse.de>
> Signed-off-by: Andreas Färber <afaerber at suse.de>
> Co-Developed-by: Heiner Kallweit <hkallweit1 at gmail.com>
> Signed-off-by: Heiner Kallweit <hkallweit1 at gmail.com>
> ---
> v3:
> - fix remaining YAML issues
> - use Co-Developed-by
> ---
> .../bindings/auxdisplay/titanmec,tm1628.yaml | 92 +++++++++++++++++++
> 1 file changed, 92 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/auxdisplay/titanmec,tm1628.yaml
>
> diff --git a/Documentation/devicetree/bindings/auxdisplay/titanmec,tm1628.yaml b/Documentation/devicetree/bindings/auxdisplay/titanmec,tm1628.yaml
> new file mode 100644
> index 000000000..2a1ef692c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/auxdisplay/titanmec,tm1628.yaml
> @@ -0,0 +1,92 @@
> +# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/auxdisplay/titanmec,tm1628.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Titan Micro Electronics TM1628 LED controller
> +
> +maintainers:
> + - Andreas Färber <afaerber at suse.de>
> + - Heiner Kallweit <hkallweit1 at gmail.com>
> +
> +allOf:
> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +properties:
> + compatible:
> + const: titanmec,tm1628
> +
> + reg:
> + maxItems: 1
> +
> + grid:
> + description:
> + Mapping of display digit position to grid number.
> + This implicitly defines the display size.
> + $ref: /schemas/types.yaml#/definitions/uint8-array
> + minItems: 1
> + maxItems: 7
> +
> + segment-mapping:
> + description:
> + Mapping of 7 segment display segments A-G to bit numbers 1-12.
> + $ref: /schemas/types.yaml#/definitions/uint8-array
> + minItems: 7
> + maxItems: 7
Are these properties useful for any 7 segment display or specific to
this controller?
The commit msg mentions 11 segment display. Does this need to be?:
oneOf:
- minItems: 7
maxItems: 7
- minItems: 11
maxItems: 11
> +
> + "#address-cells":
> + const: 2
> +
> + "#size-cells":
> + const: 0
> +
> +required:
> + - compatible
> + - reg
> +
> +patternProperties:
> + "^.*@[1-7],([1-9]|1[0-6])$":
> + type: object
> + $ref: /schemas/leds/common.yaml#
> + unevaluatedProperties: false
> + description: |
> + Properties for a single LED.
> +
> + properties:
> + reg:
> + description: |
> + 1-based grid number, followed by 1-based segment bit number.
> + maxItems: 1
> +
> + required:
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/leds/common.h>
> +
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + led-controller at 0 {
> + compatible = "titanmec,tm1628";
> + reg = <0>;
> + spi-3-wire;
> + spi-lsb-first;
> + spi-max-frequency = <500000>;
> + grid = /bits/ 8 <4 3 2 1>;
> + segment-mapping = /bits/ 8 <4 5 6 1 2 3 7>;
> + #address-cells = <2>;
> + #size-cells = <0>;
> +
> + alarmn at 5,4 {
> + reg = <5 4>;
> + function = LED_FUNCTION_ALARM;
> + };
> + };
> + };
> +...
> --
> 2.35.1
>
>
>
More information about the linux-arm-kernel
mailing list