On Tue, Oct 21, 2025 at 4:24 PM Sander Vanheule <sander@svanheule.net> wrote:
>
> The RTL8231 GPIO and LED expander can be configured for use as an MDIO
> or SMI bus device. Currently only the MDIO mode is supported, although
> SMI mode support should be fairly straightforward, once an SMI bus
> driver is available.
>
> Provided features by the RTL8231:
> - Up to 37 GPIOs
> - Configurable drive strength: 8mA or 4mA (currently unsupported)
> - Input debouncing on GPIOs 31-36
> - Up to 88 LEDs in multiple scan matrix groups
> - On, off, or one of six toggling intervals
> - "single-color mode": 2×36 single color LEDs + 8 bi-color LEDs
> - "bi-color mode": (12 + 2×6) bi-color LEDs + 24 single color LEDs
> - Up to one PWM output (currently unsupported)
> - Fixed duty cycle, 8 selectable frequencies (1.2kHz - 4.8kHz)
>
> The patches have been in use downstream by OpenWrt for some months. As
> the original patches are already a few years old, I would like to request
> all patches to be reviewed again (and I've dropped all provided tags and
> changelogs).
> ---
> RFC for gpio-regmap changes:
> Link: https://lore.kernel.org/lkml/20251020115636.55417-1-sander@svanheule.net/
>
> Patch series v5 (June 2021):
> Link: https://lore.kernel.org/lkml/cover.1623532208.git.sander@svanheule.net/
>
> Sander Vanheule (8):
> gpio: regmap: Force writes for aliased data regs
> gpio: regmap: Bypass cache for aliased inputs
If I'm not mistaken, nothing depends on these two at build-time, so I
can just take them through the GPIO tree for v6.19?
Bart
> dt-bindings: leds: Binding for RTL8231 scan matrix
> dt-bindings: mfd: Binding for RTL8231
> mfd: Add RTL8231 core device
> pinctrl: Add RTL8231 pin control and GPIO support
> leds: Add support for RTL8231 LED scan matrix
> MAINTAINERS: Add RTL8231 MFD driver
>
> .../bindings/leds/realtek,rtl8231-leds.yaml | 167 ++++++
> .../bindings/mfd/realtek,rtl8231.yaml | 189 ++++++
> MAINTAINERS | 10 +
> drivers/gpio/gpio-regmap.c | 18 +-
> drivers/leds/Kconfig | 10 +
> drivers/leds/Makefile | 1 +
> drivers/leds/leds-rtl8231.c | 285 ++++++++++
> drivers/mfd/Kconfig | 9 +
> drivers/mfd/Makefile | 1 +
> drivers/mfd/rtl8231.c | 193 +++++++
> drivers/pinctrl/Kconfig | 11 +
> drivers/pinctrl/Makefile | 1 +
> drivers/pinctrl/pinctrl-rtl8231.c | 538 ++++++++++++++++++
> include/linux/mfd/rtl8231.h | 71 +++
> 14 files changed, 1500 insertions(+), 4 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/leds/realtek,rtl8231-leds.yaml
> create mode 100644 Documentation/devicetree/bindings/mfd/realtek,rtl8231.yaml
> create mode 100644 drivers/leds/leds-rtl8231.c
> create mode 100644 drivers/mfd/rtl8231.c
> create mode 100644 drivers/pinctrl/pinctrl-rtl8231.c
> create mode 100644 include/linux/mfd/rtl8231.h
>
> --
> 2.51.0
>