2904c01428
Extend the Holtek HT16K33 LED controller Device Tree bindings with an LED subnode, conforming to the standard LED bindings. This allows the user to exert more control, like specifying LED color, function, and/or trigger, to extend LED functionality beyond a simple display backlight. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
104 lines
2.8 KiB
YAML
104 lines
2.8 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/auxdisplay/holtek,ht16k33.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Holtek HT16K33 RAM mapping 16*8 LED controller with keyscan
|
|
|
|
maintainers:
|
|
- Robin van der Gracht <robin@protonic.nl>
|
|
|
|
allOf:
|
|
- $ref: "/schemas/input/matrix-keymap.yaml#"
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- adafruit,3108 # 0.56" 4-Digit 7-Segment FeatherWing Display (Red)
|
|
- adafruit,3130 # 0.54" Quad Alphanumeric FeatherWing Display (Red)
|
|
- const: holtek,ht16k33
|
|
|
|
- const: holtek,ht16k33 # Generic 16*8 LED controller with dot-matrix display
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
refresh-rate-hz:
|
|
maxItems: 1
|
|
description: Display update interval in Hertz for dot-matrix displays
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
debounce-delay-ms:
|
|
maxItems: 1
|
|
description: Debouncing interval time in milliseconds
|
|
|
|
linux,keymap: true
|
|
|
|
linux,no-autorepeat:
|
|
description: Disable keyrepeat
|
|
|
|
default-brightness-level:
|
|
minimum: 1
|
|
maximum: 16
|
|
default: 16
|
|
description: Initial brightness level
|
|
|
|
led:
|
|
type: object
|
|
$ref: /schemas/leds/common.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
if:
|
|
properties:
|
|
compatible:
|
|
const: holtek,ht16k33
|
|
then:
|
|
required:
|
|
- refresh-rate-hz
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
i2c1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ht16k33: ht16k33@70 {
|
|
compatible = "holtek,ht16k33";
|
|
reg = <0x70>;
|
|
refresh-rate-hz = <20>;
|
|
interrupt-parent = <&gpio4>;
|
|
interrupts = <5 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
|
|
debounce-delay-ms = <50>;
|
|
linux,keymap = <MATRIX_KEY(2, 0, KEY_F6)>,
|
|
<MATRIX_KEY(3, 0, KEY_F8)>,
|
|
<MATRIX_KEY(4, 0, KEY_F10)>,
|
|
<MATRIX_KEY(5, 0, KEY_F4)>,
|
|
<MATRIX_KEY(6, 0, KEY_F2)>,
|
|
<MATRIX_KEY(2, 1, KEY_F5)>,
|
|
<MATRIX_KEY(3, 1, KEY_F7)>,
|
|
<MATRIX_KEY(4, 1, KEY_F9)>,
|
|
<MATRIX_KEY(5, 1, KEY_F3)>,
|
|
<MATRIX_KEY(6, 1, KEY_F1)>;
|
|
|
|
led {
|
|
color = <LED_COLOR_ID_RED>;
|
|
function = LED_FUNCTION_BACKLIGHT;
|
|
linux,default-trigger = "backlight";
|
|
};
|
|
};
|
|
};
|