mirror of https://lore.kernel.org/linux-amlogic/
 help / color / mirror / Atom feed
From: Heiner Kallweit <hkallweit1@gmail.com>
To: "Robin Murphy" <robin.murphy@arm.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski@canonical.com>,
	"Andreas Färber" <afaerber@suse.de>,
	"Miguel Ojeda" <ojeda@kernel.org>
Cc: "linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"open list:ARM/Amlogic Meson..."
	<linux-amlogic@lists.infradead.org>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>
Subject: Re: [PATCH v5 0/6] auxdisplay: Add support for the Titanmec TM1628 7 segment display controller
Date: Wed, 16 Mar 2022 22:19:23 +0100	[thread overview]
Message-ID: <84739af1-cbb8-e957-6e30-4121ed0a3517@gmail.com> (raw)
In-Reply-To: <8d138801-5447-5e88-25d2-3eb13d294530@arm.com>

On 16.03.2022 01:38, Robin Murphy wrote:
> On 2022-02-25 21:09, Heiner Kallweit wrote:
>> This series adds support for the Titanmec TM1628 7 segment display
>> controller. It's based on previous RFC work from Andreas Färber.
>> The RFC version placed the driver in the LED subsystem, but this was
>> NAK'ed by the LED maintainer. Therefore I moved the driver to
>> /drivers/auxdisplay what seems most reasonable to me.
>>
>> Further changes to the RFC version:
>> - Driver can be built also w/o LED class support, for displays that
>>    don't have any symbols to be exposed as LED's.
>> - Simplified the code and rewrote a lot of it.
>> - Driver is now kind of a MVP, but functionality should be sufficient
>>    for most use cases.
>> - Use the existing 7 segment support in uapi/linux/map_to_7segment.h
>>    as suggested by Geert Uytterhoeven.
>>
>> Note: There's a number of chips from other manufacturers that are
>>        almost identical, e.g. FD628, SM1628. Only difference I saw so
>>        far is that they partially support other display modes.
>>        TM1628: 6x12, 7x11
>>        SM1628C: 4x13, 5x12, 6x11, 7x10
>>        For typical displays on devices using these chips this
>>        difference shouldn't matter.
>>
>> Successfully tested on a TX3 Mini TV box that has an SM1628C and a
>> display with 4 digits and 7 symbols.
> 
> FWIW I gave this a go on my Beelink A1, which has an AiP1618 and a clock display which would mapped like so:
> 
>     titanmec,segment-mapping = /bits/ 8 <1 2 3 13 12 5 4>;
>     titanmec,grid = /bits/ 8 <5 4 2 1>;
> 
> (grid 3 segment 2 is used for a colon in the middle)
> 
> If I bodge around the lack of support for non-contiguous grids, it does otherwise work fairly well, other than being 6-segment displays because it needs to be in display mode 1 to drive SEG13 rather than GRID6. I wonder if we could be a bit cleverer about picking a display mode based on the grid/segment numbers used?
> 
Definitely this could be one future extension. It could also consider that there's a number of more or less
identical chips from other vendors that differ primarily in the supported display modes.

> I also have a couple of those TM1638 breakout boards with 8 digits, 8 single LEDs and 8 buttons that I might have a go with too. Have you given any thought to how the DT binding might support inputs as well? (The best time to be future-proof is before it's merged...)
> 
With regards to inputs at least I have no plans because I have no hw supporting input.
Since the first attempts to support this LED driver hw two years have been passed w/o any tangible (mainline) result.
Therefore I want to keep the initial version a MVP. Wanting to have too many features in an initial version
may result in longer discussions until maintainer or I give up.
Important is that user space interface / DT bindings are flexible enough so that future extensions don't have to break
existing users. And I think that's the case.

> Cheers,
> Robin.
> 

Heiner

>> v2:
>> - (re-)add Andreas' SoB to two patches
>> - fix YAML issues
>> - include ctype.h explicitly
>> - add info message in probe()
>>
>> v3:
>> - remove patch 1 because it has been applied via the SPI tree already
>> - fix remaining YAML issues in patch 2
>> - follow Miguel's suggestion on usage of Co-Developed-by
>>
>> v4:
>> - add patch for MAINTAINERS entry
>> - incorporate Miguel's review comments
>> - Replace Co-Developed-by with Co-developed-by (checkpatch)
>> v5:
>> - add vendor prefix to driver-specific dt properties
>>
>> Andreas Färber (1):
>>    dt-bindings: vendor-prefixes: Add Titan Micro Electronics
>>
>> Heiner Kallweit (5):
>>    dt-bindings: auxdisplay: Add Titan Micro Electronics TM1628
>>    docs: ABI: document tm1628 attribute display-text
>>    auxdisplay: add support for Titanmec TM1628 7 segment display
>>      controller
>>    arm64: dts: meson-gxl-s905w-tx3-mini: add support for the 7 segment
>>      display
>>    MAINTAINERS: Add entry for tm1628 auxdisplay driver
>>
>>   .../testing/sysfs-devices-auxdisplay-tm1628   |   7 +
>>   .../bindings/auxdisplay/titanmec,tm1628.yaml  |  92 +++++
>>   .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
>>   MAINTAINERS                                   |   7 +
>>   .../dts/amlogic/meson-gxl-s905w-tx3-mini.dts  |  59 +++
>>   drivers/auxdisplay/Kconfig                    |  11 +
>>   drivers/auxdisplay/Makefile                   |   1 +
>>   drivers/auxdisplay/tm1628.c                   | 376 ++++++++++++++++++
>>   8 files changed, 555 insertions(+)
>>   create mode 100644 Documentation/ABI/testing/sysfs-devices-auxdisplay-tm1628
>>   create mode 100644 Documentation/devicetree/bindings/auxdisplay/titanmec,tm1628.yaml
>>   create mode 100644 drivers/auxdisplay/tm1628.c
>>


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

  reply	other threads:[~2022-03-16 21:19 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-25 21:09 Heiner Kallweit
2022-02-25 21:10 ` [PATCH v5 1/6] dt-bindings: vendor-prefixes: Add Titan Micro Electronics Heiner Kallweit
2022-02-25 21:13 ` [PATCH v5 2/6] dt-bindings: auxdisplay: Add Titan Micro Electronics TM1628 Heiner Kallweit
2022-03-04 23:07   ` Rob Herring
2022-03-18 20:50   ` Robin Murphy
2022-03-21  8:12     ` Geert Uytterhoeven
2022-04-19 22:31       ` Robin Murphy
2022-03-21  8:34     ` Krzysztof Kozlowski
2022-03-23 20:33       ` Heiner Kallweit
2022-03-30  5:54         ` Heiner Kallweit
2022-04-19 23:04           ` Robin Murphy
2022-04-20 16:27             ` Heiner Kallweit
2022-03-21  8:28   ` Krzysztof Kozlowski
2022-02-25 21:16 ` [PATCH v5 3/6] docs: ABI: document tm1628 attribute display_text Heiner Kallweit
2022-02-25 21:20 ` [PATCH v5 4/6] auxdisplay: add support for Titanmec TM1628 7 segment display controller Heiner Kallweit
2022-02-25 21:22 ` [PATCH v5 5/6] arm64: dts: meson-gxl-s905w-tx3-mini: add support for the 7 segment display Heiner Kallweit
2022-02-25 21:22 ` [PATCH v5 6/6] MAINTAINERS: Add entry for tm1628 auxdisplay driver Heiner Kallweit
2022-03-08 18:32 ` [PATCH v5 0/6] auxdisplay: Add support for the Titanmec TM1628 7 segment display controller Heiner Kallweit
2022-03-16  0:38 ` Robin Murphy
2022-03-16 21:19   ` Heiner Kallweit [this message]
2022-03-17 20:08     ` Robin Murphy
2022-03-17 21:49       ` Heiner Kallweit
2022-03-18 20:13         ` Robin Murphy
2022-04-23 20:57 ` Miguel Ojeda
2022-04-24  9:06   ` Heiner Kallweit
2022-05-12 12:46     ` Robin Murphy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84739af1-cbb8-e957-6e30-4121ed0a3517@gmail.com \
    --to=hkallweit1@gmail.com \
    --cc=afaerber@suse.de \
    --cc=devicetree@vger.kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=jbrunet@baylibre.com \
    --cc=khilman@baylibre.com \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=narmstrong@baylibre.com \
    --cc=ojeda@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®