18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/auxdisplay/hit,hd44780.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Hitachi HD44780 Character LCD Controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Geert Uytterhoeven <geert@linux-m68k.org>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription:
138c2ecf20Sopenharmony_ci  The Hitachi HD44780 Character LCD Controller is commonly used on character
148c2ecf20Sopenharmony_ci  LCDs that can display one or more lines of text. It exposes an M6800 bus
158c2ecf20Sopenharmony_ci  interface, which can be used in either 4-bit or 8-bit mode.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciproperties:
188c2ecf20Sopenharmony_ci  compatible:
198c2ecf20Sopenharmony_ci    const: hit,hd44780
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  data-gpios:
228c2ecf20Sopenharmony_ci    description:
238c2ecf20Sopenharmony_ci      GPIO pins connected to the data signal lines DB0-DB7 (8-bit mode) or
248c2ecf20Sopenharmony_ci      DB4-DB7 (4-bit mode) of the LCD Controller's bus interface.
258c2ecf20Sopenharmony_ci    oneOf:
268c2ecf20Sopenharmony_ci      - maxItems: 4
278c2ecf20Sopenharmony_ci      - maxItems: 8
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  enable-gpios:
308c2ecf20Sopenharmony_ci    description:
318c2ecf20Sopenharmony_ci      GPIO pin connected to the "E" (Enable) signal line of the LCD
328c2ecf20Sopenharmony_ci      Controller's bus interface.
338c2ecf20Sopenharmony_ci    maxItems: 1
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci  rs-gpios:
368c2ecf20Sopenharmony_ci    description:
378c2ecf20Sopenharmony_ci      GPIO pin connected to the "RS" (Register Select) signal line of the LCD
388c2ecf20Sopenharmony_ci      Controller's bus interface.
398c2ecf20Sopenharmony_ci    maxItems: 1
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  rw-gpios:
428c2ecf20Sopenharmony_ci    description:
438c2ecf20Sopenharmony_ci      GPIO pin connected to the "RW" (Read/Write) signal line of the LCD
448c2ecf20Sopenharmony_ci      Controller's bus interface.
458c2ecf20Sopenharmony_ci    maxItems: 1
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  backlight-gpios:
488c2ecf20Sopenharmony_ci    description: GPIO pin used for enabling the LCD's backlight.
498c2ecf20Sopenharmony_ci    maxItems: 1
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci  display-height-chars:
528c2ecf20Sopenharmony_ci    description: Height of the display, in character cells,
538c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
548c2ecf20Sopenharmony_ci    minimum: 1
558c2ecf20Sopenharmony_ci    maximum: 4
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci  display-width-chars:
588c2ecf20Sopenharmony_ci    description: Width of the display, in character cells.
598c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
608c2ecf20Sopenharmony_ci    minimum: 1
618c2ecf20Sopenharmony_ci    maximum: 64
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci  internal-buffer-width:
648c2ecf20Sopenharmony_ci    description:
658c2ecf20Sopenharmony_ci      Internal buffer width (default is 40 for displays with 1 or 2 lines, and
668c2ecf20Sopenharmony_ci      display-width-chars for displays with more than 2 lines).
678c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
688c2ecf20Sopenharmony_ci    minimum: 1
698c2ecf20Sopenharmony_ci    maximum: 64
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_cirequired:
728c2ecf20Sopenharmony_ci  - compatible
738c2ecf20Sopenharmony_ci  - data-gpios
748c2ecf20Sopenharmony_ci  - enable-gpios
758c2ecf20Sopenharmony_ci  - rs-gpios
768c2ecf20Sopenharmony_ci  - display-height-chars
778c2ecf20Sopenharmony_ci  - display-width-chars
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciadditionalProperties: false
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ciexamples:
828c2ecf20Sopenharmony_ci  - |
838c2ecf20Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
848c2ecf20Sopenharmony_ci    auxdisplay {
858c2ecf20Sopenharmony_ci            compatible = "hit,hd44780";
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci            data-gpios = <&hc595 0 GPIO_ACTIVE_HIGH>,
888c2ecf20Sopenharmony_ci                         <&hc595 1 GPIO_ACTIVE_HIGH>,
898c2ecf20Sopenharmony_ci                         <&hc595 2 GPIO_ACTIVE_HIGH>,
908c2ecf20Sopenharmony_ci                         <&hc595 3 GPIO_ACTIVE_HIGH>;
918c2ecf20Sopenharmony_ci            enable-gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
928c2ecf20Sopenharmony_ci            rs-gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci            display-height-chars = <2>;
958c2ecf20Sopenharmony_ci            display-width-chars = <16>;
968c2ecf20Sopenharmony_ci    };
97