Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

DT bindings for the Hitachi HD44780 Character LCD Controller

The Hitachi HD44780 Character LCD Controller is commonly used on character LCDs
that can display one or more lines of text. It exposes an M6800 bus interface,
which can be used in either 4-bit or 8-bit mode.

Required properties:
  - compatible: Must contain "hit,hd44780",
  - data-gpios: Must contain an array of either 4 or 8 GPIO specifiers,
    referring to the GPIO pins connected to the data signal lines DB0-DB7
    (8-bit mode) or DB4-DB7 (4-bit mode) of the LCD Controller's bus interface,
  - enable-gpios: Must contain a GPIO specifier, referring to the GPIO pin
    connected to the "E" (Enable) signal line of the LCD Controller's bus
    interface,
  - rs-gpios: Must contain a GPIO specifier, referring to the GPIO pin
    connected to the "RS" (Register Select) signal line of the LCD Controller's
    bus interface,
  - display-height-chars: Height of the display, in character cells,
  - display-width-chars: Width of the display, in character cells.

Optional properties:
  - rw-gpios: Must contain a GPIO specifier, referring to the GPIO pin
    connected to the "RW" (Read/Write) signal line of the LCD Controller's bus
    interface,
  - backlight-gpios: Must contain a GPIO specifier, referring to the GPIO pin
    used for enabling the LCD's backlight,
  - internal-buffer-width: Internal buffer width (default is 40 for displays
    with 1 or 2 lines, and display-width-chars for displays with more than 2
    lines).

Example:

	auxdisplay {
		compatible = "hit,hd44780";

		data-gpios = <&hc595 0 GPIO_ACTIVE_HIGH>,
			     <&hc595 1 GPIO_ACTIVE_HIGH>,
			     <&hc595 2 GPIO_ACTIVE_HIGH>,
			     <&hc595 3 GPIO_ACTIVE_HIGH>;
		enable-gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
		rs-gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;

		display-height-chars = <2>;
		display-width-chars = <16>;
	};