Linux GPIO subsystem development
 help / color / mirror / Atom feed
* [PATCH 0/2] pinctrl: Add the Siflower SF19A2890 pin controller
@ 2026-11-04  7:21 Joseph Telaak via B4 Relay
  2026-11-04  7:21 ` [PATCH 1/2] dt-bindings: pinctrl: Add " Joseph Telaak via B4 Relay
  2026-11-04  7:21 ` [PATCH 2/2] pinctrl: Add Siflower SF19A2890 pin controller driver Joseph Telaak via B4 Relay
  0 siblings, 2 replies; 5+ messages in thread
From: Joseph Telaak via B4 Relay @ 2026-11-04  7:21 UTC (permalink / raw)
  To: Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bartosz Golaszewski
  Cc: Chuanhong Guo, linux-gpio, devicetree, linux-kernel,
	Joseph Telaak

This series adds a binding and a driver for the pin controller of the
Siflower SF19A2890, a MIPS SoC for home routers. Each of its 49 pins has
a register pair of its own: one for bias, input enable, Schmitt trigger
and drive strength, one for the mux.

The driver is based on Chuanhong Guo's OpenWrt driver, which exposed the
four mux modes as functions "func0" to "func3". Here the functions are
named after the peripheral they connect, and each lists the pins it can
use with the mode that selects it there. The tables cover the functions
that the vendor firmware and the OpenWrt port use; the other modes are
not documented.

checkpatch warns about -ENOTSUPP twice. That is what pinconf expects
from pin_config_get() and pin_config_set() for a parameter the hardware
lacks.

The SoC support itself (MACH_SIFLOWER_MIPS) goes through the MIPS tree;
until then the driver builds with COMPILE_TEST.

The MAINTAINERS entry that covers these files comes with the MIPS series
"MIPS: Add support for the Siflower SF19A2890"; this series applies on
its own. That entry is also why checkpatch's question about updating
MAINTAINERS for the new files is left unanswered here.

Tested on a GL.iNet GL-SFT1200: pinmux-pins gives every pin its owner:
SPI, UART0, I2C0, RGMII and MDIO, and the GPIOs for the switch reset, the
mode switch, the SPI chip select and the reset button. The console, the
SPI NAND, the ET6326 on I2C and Ethernet work with the mux this driver
sets.

---
Joseph Telaak (2):
      dt-bindings: pinctrl: Add Siflower SF19A2890 pin controller
      pinctrl: Add Siflower SF19A2890 pin controller driver

 .../pinctrl/siflower,sf19a2890-pinctrl.yaml        | 113 +++++
 drivers/pinctrl/Kconfig                            |  14 +
 drivers/pinctrl/Makefile                           |   1 +
 drivers/pinctrl/pinctrl-sf19a2890.c                | 536 +++++++++++++++++++++
 4 files changed, 664 insertions(+)
---
base-commit: f33a24cc012d34f25bb9942681bd478a1757b806
change-id: 20261102-sf19a2890-pinctrl-c0ad967de156

Best regards,
--  
Joseph Telaak <joseph@telaak.dev>



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

end of thread, other threads:[~2026-11-04 23:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04  7:21 [PATCH 0/2] pinctrl: Add the Siflower SF19A2890 pin controller Joseph Telaak via B4 Relay
2026-11-04  7:21 ` [PATCH 1/2] dt-bindings: pinctrl: Add " Joseph Telaak via B4 Relay
2026-11-04 23:49   ` Conor Dooley
2026-11-04  7:21 ` [PATCH 2/2] pinctrl: Add Siflower SF19A2890 pin controller driver Joseph Telaak via B4 Relay
2026-11-04  7:34   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox