The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/auxdisplay/hit,hd44780.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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     auxdisplay {
   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     #include <dt-bindings/gpio/gpio.h>
  102     i2c {
  103             #address-cells = <1>;
  104             #size-cells = <0>;
  105 
  106             pcf8574: pcf8574@27 {
  107                     compatible = "nxp,pcf8574";
  108                     reg = <0x27>;
  109                     gpio-controller;
  110                     #gpio-cells = <2>;
  111             };
  112     };
  113     hd44780 {
  114             compatible = "hit,hd44780";
  115             display-height-chars = <2>;
  116             display-width-chars  = <16>;
  117             data-gpios = <&pcf8574 4 0>,
  118                          <&pcf8574 5 0>,
  119                          <&pcf8574 6 0>,
  120                          <&pcf8574 7 0>;
  121             enable-gpios = <&pcf8574 2 0>;
  122             rs-gpios = <&pcf8574 0 0>;
  123             rw-gpios = <&pcf8574 1 0>;
  124             backlight-gpios = <&pcf8574 3 0>;
  125     };

Cache object: 002bc980fb434eb7edb599eecf95be22


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.