Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/auxdisplay/hit,hd44780.yaml
26308 views
1
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/auxdisplay/hit,hd44780.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Hitachi HD44780 Character LCD Controller
8
9
maintainers:
10
- Geert Uytterhoeven <geert@linux-m68k.org>
11
12
description:
13
The Hitachi HD44780 Character LCD Controller is commonly used on character
14
LCDs that can display one or more lines of text. It exposes an M6800 bus
15
interface, which can be used in either 4-bit or 8-bit mode. By using a
16
GPIO expander it is possible to use the driver with one of the popular I2C
17
expander boards based on the PCF8574 available for these displays. For
18
an example see below.
19
20
properties:
21
compatible:
22
const: hit,hd44780
23
24
data-gpios:
25
description:
26
GPIO pins connected to the data signal lines DB0-DB7 (8-bit mode) or
27
DB4-DB7 (4-bit mode) of the LCD Controller's bus interface.
28
oneOf:
29
- maxItems: 4
30
- maxItems: 8
31
32
enable-gpios:
33
description:
34
GPIO pin connected to the "E" (Enable) signal line of the LCD
35
Controller's bus interface.
36
maxItems: 1
37
38
rs-gpios:
39
description:
40
GPIO pin connected to the "RS" (Register Select) signal line of the LCD
41
Controller's bus interface.
42
maxItems: 1
43
44
rw-gpios:
45
description:
46
GPIO pin connected to the "RW" (Read/Write) signal line of the LCD
47
Controller's bus interface.
48
maxItems: 1
49
50
backlight-gpios:
51
description: GPIO pin used for enabling the LCD's backlight.
52
maxItems: 1
53
54
display-height-chars:
55
description: Height of the display, in character cells,
56
$ref: /schemas/types.yaml#/definitions/uint32
57
minimum: 1
58
maximum: 4
59
60
display-width-chars:
61
description: Width of the display, in character cells.
62
$ref: /schemas/types.yaml#/definitions/uint32
63
minimum: 1
64
maximum: 64
65
66
internal-buffer-width:
67
description:
68
Internal buffer width (default is 40 for displays with 1 or 2 lines, and
69
display-width-chars for displays with more than 2 lines).
70
$ref: /schemas/types.yaml#/definitions/uint32
71
minimum: 1
72
maximum: 64
73
74
required:
75
- compatible
76
- data-gpios
77
- enable-gpios
78
- rs-gpios
79
- display-height-chars
80
- display-width-chars
81
82
additionalProperties: false
83
84
examples:
85
- |
86
#include <dt-bindings/gpio/gpio.h>
87
display-controller {
88
compatible = "hit,hd44780";
89
90
data-gpios = <&hc595 0 GPIO_ACTIVE_HIGH>,
91
<&hc595 1 GPIO_ACTIVE_HIGH>,
92
<&hc595 2 GPIO_ACTIVE_HIGH>,
93
<&hc595 3 GPIO_ACTIVE_HIGH>;
94
enable-gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
95
rs-gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
96
97
display-height-chars = <2>;
98
display-width-chars = <16>;
99
};
100
101
- |
102
#include <dt-bindings/gpio/gpio.h>
103
i2c {
104
#address-cells = <1>;
105
#size-cells = <0>;
106
107
pcf8574: gpio-expander@27 {
108
compatible = "nxp,pcf8574";
109
reg = <0x27>;
110
gpio-controller;
111
#gpio-cells = <2>;
112
};
113
};
114
115
display-controller {
116
compatible = "hit,hd44780";
117
display-height-chars = <2>;
118
display-width-chars = <16>;
119
data-gpios = <&pcf8574 4 GPIO_ACTIVE_HIGH>,
120
<&pcf8574 5 GPIO_ACTIVE_HIGH>,
121
<&pcf8574 6 GPIO_ACTIVE_HIGH>,
122
<&pcf8574 7 GPIO_ACTIVE_HIGH>;
123
enable-gpios = <&pcf8574 2 GPIO_ACTIVE_HIGH>;
124
rs-gpios = <&pcf8574 0 GPIO_ACTIVE_HIGH>;
125
rw-gpios = <&pcf8574 1 GPIO_ACTIVE_HIGH>;
126
backlight-gpios = <&pcf8574 3 GPIO_ACTIVE_HIGH>;
127
};
128
129