|
|
Log in / Subscribe / Register

auxdisplay: Add support for TM1637 7-segment display driver

From:  Siratul Islam <email-AT-sirat.me>
To:  andy-AT-kernel.org, geert-AT-linux-m68k.org, robh-AT-kernel.org, krzk+dt-AT-kernel.org, conor+dt-AT-kernel.org
Subject:  [PATCH 0/4] auxdisplay: Add support for TM1637 7-segment display driver
Date:  Tue, 13 Jan 2026 10:02:38 +0600
Message-ID:  <20260113040242.19156-1-email@sirat.me>
Cc:  linux-kernel-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, Siratul Islam <email-AT-sirat.me>
Archive-link:  Article

This series adds a driver for the Titan Micro TM1637 7-segment display
controller.

The TM1637 uses a custom two-wire protocol (CLK/DIO) that resembles I2C
but lacks a slave address, requiring a bit-banging implementation.

The driver exposes standard sysfs attributes for 'message' (text) and
'brightness'. It handles standard ASCII-to-7-segment mapping using the
kernel's map_to_7segment utility.

Note on implementation:
This driver is implemented as a standalone platform driver rather than
using the auxiliary display 'linedisp' framework. The TM1637 protocol
requires manual handling of the decimal point (merging it with the
previous digit), which is difficult to achieve cleanly with the current
linedisp character buffer abstraction.

Siratul Islam (4):
  dt-bindings: vendor-prefixes: Add titanmec
  dt-bindings: auxdisplay: Add titanmec,tm1637
  auxdisplay: tm1637: Add driver for TM1637
  MAINTAINERS: Add entry for TM1637

 .../ABI/testing/sysfs-platform-tm1637         |  20 ++
 .../bindings/auxdisplay/titanmec,tm1637.yaml  |  43 +++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 MAINTAINERS                                   |   7 +
 drivers/auxdisplay/Kconfig                    |  11 +
 drivers/auxdisplay/Makefile                   |   1 +
 drivers/auxdisplay/tm1637.c                   | 297 ++++++++++++++++++
 7 files changed, 381 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-platform-tm1637
 create mode 100644 Documentation/devicetree/bindings/auxdisplay/titanmec,tm1637.yaml
 create mode 100644 drivers/auxdisplay/tm1637.c

--
2.47.3




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds