linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] auxdisplay: ht16k33: Add character display support
@ 2021-03-22 14:48 Geert Uytterhoeven
  2021-03-22 14:48 ` [PATCH 01/17] uapi: Add <linux/map_to_14segment.h> Geert Uytterhoeven
                   ` (17 more replies)
  0 siblings, 18 replies; 43+ messages in thread
From: Geert Uytterhoeven @ 2021-03-22 14:48 UTC (permalink / raw)
  To: Robin van der Gracht, Rob Herring, Miguel Ojeda, Paul Burton,
	Greg Kroah-Hartman
  Cc: devicetree, linux-mips, linux-kernel, Geert Uytterhoeven

	Hi all,

The Holtek HT16K33 LED controller is not only used for driving
dot-matrix displays, but also for driving segment displays.
The current auxdisplay driver is limited to dot-matrix displays, which
are exposed as a frame buffer device.

This patch series extends the driver to 4-digit 7-segment and quad
14-segment alphanumeric displays, allowing the user to display and
scroll text messages.

List of patches:
  - Patch 1 provides font data for displaying ASCII characters on
    14-segment displays,
  - Patch 2 updates the HT16K33 DT bindings for segment displays,
  - Patches 3-5 contain a bug fix and small improvements for the
    Imagination Technologies ASCII LCD Display driver,
  - Patch 6 extracts the character line display core support from the
    Imagination Technologies ASCII LCD Display driver, for reuse,
  - Patches 7-8 contain cleanups and improvements for the character line
    display core driver,
  - Patches 9-15 contain cleanups and improvements for the HT16K33
    driver, to prepare for segment display support,
  - Patch 16 adds support for 7/14-segment displays to the HT16K33
    driver,
  - Patch 17 adds segment display LED support to the HT16K33 driver,
    to make use of hardware blinking, and to expose display color.

This series has been tested using an Adafruit 0.54" Quad Alphanumeric
Red FeatherWing Display, plugged into an OrangeCrab ECP5-based FPGA
board running linux-on-litex-vexriscv.
7-segment display support is based purely on schematics, and has not
been tested on actual hardware.  The changes to img-ascii-lcd.c are also
untested, due to lack of hardware.

Thanks for your comments!

Geert Uytterhoeven (17):
  uapi: Add <linux/map_to_14segment.h>
  dt-bindings: auxdisplay: ht16k33: Document Adafruit segment displays
  auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string
  auxdisplay: img-ascii-lcd: Add helper variable dev
  auxdisplay: img-ascii-lcd: Convert device attribute to sysfs_emit()
  auxdisplay: Extract character line display core support
  auxdisplay: linedisp: Use kmemdup_nul() helper
  auxdisplay: linedisp: Add support for changing scroll rate
  auxdisplay: ht16k33: Use HT16K33_FB_SIZE in ht16k33_initialize()
  auxdisplay: ht16k33: Remove unneeded error check in keypad probe()
  auxdisplay: ht16k33: Convert to simple i2c probe function
  auxdisplay: ht16k33: Add helper variable dev
  auxdisplay: ht16k33: Move delayed work
  auxdisplay: ht16k33: Extract ht16k33_brightness_set()
  auxdisplay: ht16k33: Extract frame buffer probing
  auxdisplay: ht16k33: Add support for segment displays
  auxdisplay: ht16k33: Add segment display LED support

 .../bindings/auxdisplay/holtek,ht16k33.yaml   |  22 +-
 drivers/auxdisplay/Kconfig                    |   8 +
 drivers/auxdisplay/Makefile                   |   1 +
 drivers/auxdisplay/ht16k33.c                  | 451 ++++++++++++++----
 drivers/auxdisplay/img-ascii-lcd.c            | 199 +-------
 drivers/auxdisplay/line-display.c             | 261 ++++++++++
 drivers/auxdisplay/line-display.h             |  43 ++
 include/uapi/linux/map_to_14segment.h         | 240 ++++++++++
 8 files changed, 961 insertions(+), 264 deletions(-)
 create mode 100644 drivers/auxdisplay/line-display.c
 create mode 100644 drivers/auxdisplay/line-display.h
 create mode 100644 include/uapi/linux/map_to_14segment.h

-- 
2.25.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2021-06-25 12:39 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-22 14:48 [PATCH 00/17] auxdisplay: ht16k33: Add character display support Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 01/17] uapi: Add <linux/map_to_14segment.h> Geert Uytterhoeven
2021-03-22 17:05   ` Miguel Ojeda
2021-03-22 17:51     ` Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 02/17] dt-bindings: auxdisplay: ht16k33: Document Adafruit segment displays Geert Uytterhoeven
2021-03-22 17:38   ` Rob Herring
2021-03-23  9:12   ` robin
2021-05-18 14:35     ` Geert Uytterhoeven
2021-05-19 10:37       ` Robin van der Gracht
2021-05-19 11:02         ` Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 03/17] auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 04/17] auxdisplay: img-ascii-lcd: Add helper variable dev Geert Uytterhoeven
2021-03-22 16:59   ` Miguel Ojeda
2021-03-22 17:53     ` Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 05/17] auxdisplay: img-ascii-lcd: Convert device attribute to sysfs_emit() Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 06/17] auxdisplay: Extract character line display core support Geert Uytterhoeven
2021-03-23  8:18   ` robin
2021-03-23  8:52     ` Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 07/17] auxdisplay: linedisp: Use kmemdup_nul() helper Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 08/17] auxdisplay: linedisp: Add support for changing scroll rate Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 09/17] auxdisplay: ht16k33: Use HT16K33_FB_SIZE in ht16k33_initialize() Geert Uytterhoeven
2021-03-23  7:59   ` robin
2021-03-22 14:48 ` [PATCH 10/17] auxdisplay: ht16k33: Remove unneeded error check in keypad probe() Geert Uytterhoeven
2021-03-23  8:08   ` robin
2021-03-22 14:48 ` [PATCH 11/17] auxdisplay: ht16k33: Convert to simple i2c probe function Geert Uytterhoeven
2021-03-23  8:31   ` robin
2021-03-22 14:48 ` [PATCH 12/17] auxdisplay: ht16k33: Add helper variable dev Geert Uytterhoeven
2021-03-23  8:57   ` robin
2021-03-22 14:48 ` [PATCH 13/17] auxdisplay: ht16k33: Move delayed work Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 14/17] auxdisplay: ht16k33: Extract ht16k33_brightness_set() Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 15/17] auxdisplay: ht16k33: Extract frame buffer probing Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 16/17] auxdisplay: ht16k33: Add support for segment displays Geert Uytterhoeven
2021-03-29  7:08   ` Robin van der Gracht
2021-03-29  7:15     ` Geert Uytterhoeven
2021-03-29  7:30       ` Robin van der Gracht
2021-03-22 14:48 ` [PATCH 17/17] auxdisplay: ht16k33: Add segment display LED support Geert Uytterhoeven
2021-03-23 10:08   ` Robin van der Gracht
2021-03-23 12:32     ` Geert Uytterhoeven
2021-03-23 20:40       ` Pavel Machek
2021-03-24  8:31         ` Geert Uytterhoeven
2021-03-27 22:19           ` Pavel Machek
2021-06-25 12:39           ` Geert Uytterhoeven
2021-03-22 17:03 ` [PATCH 00/17] auxdisplay: ht16k33: Add character display support Miguel Ojeda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).