Commit b345ff69 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'auxdisplay-v6.9-1' of...

Merge tag 'auxdisplay-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay

Pull auxdisplay updates from Andy Shevchenko:

 - New driver for GPIO based 7-segment LED display (Chris Packham)

 - New driver for Maxim MAX6958/6959 I²C 7-segment LED display
   controller

 - Refactor linedisp library to make the above happen

 - Update Holtek HT16k33 driver to follow the linedisp refactoring

 - Convert .remove to return void in platform drivers (Uwe Kleine-König)

 - Fix DT schemas (Krzysztof Kozlowski)

 - Refresh MAINTAINERS database

* tag 'auxdisplay-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay: (27 commits)
  auxdisplay: img-ascii-lcd: Convert to platform remove callback returning void
  auxdisplay: hd44780: Convert to platform remove callback returning void
  auxdisplay: cfag12864bfb: Convert to platform remove callback returning void
  auxdisplay: seg-led-gpio: Import linedisp namespace
  dt-bindings: auxdisplay: Add bindings for generic 7-segment LED
  auxdisplay: Add 7-segment LED display driver
  auxdisplay: Add driver for MAX695x 7-segment LED controllers
  dt-bindings: auxdisplay: Add Maxim MAX6958/6959
  auxdisplay: ht16k33: Drop struct ht16k33_seg
  auxdisplay: ht16k33: Switch to use line display character mapping
  auxdisplay: ht16k33: Define a few helper macros
  auxdisplay: ht16k33: Move ht16k33_linedisp_ops down
  auxdisplay: ht16k33: Add default to switch-cases
  auxdisplay: linedisp: Allocate buffer for the string
  auxdisplay: linedisp: Add support for overriding character mapping
  auxdisplay: linedisp: Provide struct linedisp_ops for future extension
  auxdisplay: linedisp: Move exported symbols to a namespace
  auxdisplay: linedisp: Add missing header(s)
  auxdisplay: linedisp: Unshadow error codes in ->store()
  auxdisplay: linedisp: Use unique number for id
  ...
parents 480e035f 5d9e1297
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/auxdisplay/gpio-7-segment.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: GPIO based LED segment display

maintainers:
  - Chris Packham <chris.packham@alliedtelesis.co.nz>

properties:
  compatible:
    const: gpio-7-segment

  segment-gpios:
    description: |
      An array of GPIOs one per segment. The first GPIO corresponds to the A
      segment, the seventh GPIO corresponds to the G segment. Some LED blocks
      also have a decimal point which can be specified as an optional eighth
      segment.

               -a-
              |   |
              f   b
              |   |
               -g-
              |   |
              e   c
              |   |
               -d-  dp

    minItems: 7
    maxItems: 8

required:
  - segment-gpios

additionalProperties: false

examples:
  - |

    #include <dt-bindings/gpio/gpio.h>

    led-7seg {
        compatible = "gpio-7-segment";
        segment-gpios = <&gpio 0 GPIO_ACTIVE_LOW>,
                        <&gpio 1 GPIO_ACTIVE_LOW>,
                        <&gpio 2 GPIO_ACTIVE_LOW>,
                        <&gpio 3 GPIO_ACTIVE_LOW>,
                        <&gpio 4 GPIO_ACTIVE_LOW>,
                        <&gpio 5 GPIO_ACTIVE_LOW>,
                        <&gpio 6 GPIO_ACTIVE_LOW>;
    };
+35 −33
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ additionalProperties: false
examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    auxdisplay {
    display-controller {
        compatible = "hit,hd44780";

        data-gpios = <&hc595 0 GPIO_ACTIVE_HIGH>,
@@ -97,29 +97,31 @@ examples:
        display-height-chars = <2>;
        display-width-chars = <16>;
    };

  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

            pcf8574: pcf8574@27 {
        pcf8574: gpio-expander@27 {
            compatible = "nxp,pcf8574";
            reg = <0x27>;
            gpio-controller;
            #gpio-cells = <2>;
        };
    };
    hd44780 {

    display-controller {
        compatible = "hit,hd44780";
        display-height-chars = <2>;
        display-width-chars = <16>;
            data-gpios = <&pcf8574 4 0>,
                         <&pcf8574 5 0>,
                         <&pcf8574 6 0>,
                         <&pcf8574 7 0>;
            enable-gpios = <&pcf8574 2 0>;
            rs-gpios = <&pcf8574 0 0>;
            rw-gpios = <&pcf8574 1 0>;
            backlight-gpios = <&pcf8574 3 0>;
        data-gpios = <&pcf8574 4 GPIO_ACTIVE_HIGH>,
                     <&pcf8574 5 GPIO_ACTIVE_HIGH>,
                     <&pcf8574 6 GPIO_ACTIVE_HIGH>,
                     <&pcf8574 7 GPIO_ACTIVE_HIGH>;
        enable-gpios = <&pcf8574 2 GPIO_ACTIVE_HIGH>;
        rs-gpios = <&pcf8574 0 GPIO_ACTIVE_HIGH>;
        rw-gpios = <&pcf8574 1 GPIO_ACTIVE_HIGH>;
        backlight-gpios = <&pcf8574 3 GPIO_ACTIVE_HIGH>;
    };
+27 −27
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ examples:
        #address-cells = <1>;
        #size-cells = <0>;

            ht16k33: ht16k33@70 {
        display-controller@70 {
            compatible = "holtek,ht16k33";
            reg = <0x70>;
            refresh-rate-hz = <20>;
+44 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/auxdisplay/maxim,max6959.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MAX6958/6959 7-segment LED display controller

maintainers:
  - Andy Shevchenko <andriy.shevchenko@linux.intel.com>

description:
  The Maxim MAX6958/6959 7-segment LED display controller provides
  an I2C interface to up to four 7-segment LED digits. The MAX6959,
  in comparison to MAX6958, adds input support. Type of the chip can
  be autodetected via specific register read, and hence the features
  may be enabled in the driver at run-time, in case they are requested
  via Device Tree. A given hardware is simple and does not provide
  any additional pins, such as reset or power enable.

properties:
  compatible:
    const: maxim,max6959

  reg:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        display-controller@38 {
            compatible = "maxim,max6959";
            reg = <0x38>;
        };
    };
+6 −2
Original line number Diff line number Diff line
@@ -3389,11 +3389,15 @@ F: drivers/base/auxiliary.c
F:	include/linux/auxiliary_bus.h
AUXILIARY DISPLAY DRIVERS
M:	Miguel Ojeda <ojeda@kernel.org>
S:	Maintained
M:	Andy Shevchenko <andy@kernel.org>
R:	Geert Uytterhoeven <geert@linux-m68k.org>
S:	Odd Fixes
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay.git
F:	Documentation/devicetree/bindings/auxdisplay/
F:	drivers/auxdisplay/
F:	include/linux/cfag12864b.h
F:	include/uapi/linux/map_to_14segment.h
F:	include/uapi/linux/map_to_7segment.h
AVIA HX711 ANALOG DIGITAL CONVERTER IIO DRIVER
M:	Andreas Klinger <ak@it-klinger.de>
Loading