U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/11] pinctrl: add support of Airoha SoCs
@ 2026-05-09 11:11 Mikhail Kshevetskiy
  2026-05-09 11:11 ` [PATCH v5 01/11] bitops: import BITS_PER_TYPE() macro from linux Mikhail Kshevetskiy
                   ` (11 more replies)
  0 siblings, 12 replies; 19+ messages in thread
From: Mikhail Kshevetskiy @ 2026-05-09 11:11 UTC (permalink / raw)
  To: Tom Rini, Christian Marangi, Simon Glass, Marek Vasut, Peng Fan,
	Anis Chali, Michael Trimarchi, Leo Yu-Chi Liang, Yao Zi,
	Sean Anderson, Michal Simek, Yury Norov (NVIDIA),
	Geert Uytterhoeven, Jonathan Cameron, Nuno Sá,
	Ilias Apalodimas, Heiko Schocher, u-boot, David Lechner,
	Lorenzo Bianconi, Markus Gothe, Matheus Sampaio Queiroga,
	Benjamin Larsson
  Cc: Mikhail Kshevetskiy

This patch series add pin controller and gpio driver support for EN7523/
AN7581/AN7583 SoCs. The driver based on official linux airoha pinctrl and
gpio driver with Matheus Sampaio Queiroga changes.

The original Matheus Sampaio Queiroga driver can be taken from the repo:
  https://sirherobrine23.com.br/airoha_an7523/kernel/commits/branch/airoha_an7523_pinctrl

Additionally in the EN7523 case the patches removes existing gpio dts nodes
and replaces them with pinctrl node. It should not be very dangerous, because:
 * No official EN7523 gpio support present in U-Boot
 * Legacy Linux EN7523 GPIO driver is mostly abandoned
 * The same driver is planned for upstream linux/openwrt

This patchset includes bitfield.h patches created for Linux kernel
by Geert Uytterhoeven. It suits U-Boot fine. I preserve original author
and original commit messages. It might be not a best strategy, because
these patches refers to other linux kernel commits not added to U-Boot.
Please note me, if there is a better way.

The patches were tested on EN7523/AN7581/AN7583 boards.
---
Changes v2:
 * pinctrl driver was split on common and per SoC parts
 * EN7523 SoC support was added
 * EN7523/AN7581 defconfigs were updated to activate
   pinctrl/gpio support
 * Board/SoC independent pinconf/pinctrl definitions
   were moved to global includes

Changes v3:
 * add non-constant field_{prep,get}() helpers
 * put airoha common code to a separate patch
 * put en7523 dts change to a separate patch
 * add support of "pinmux status" command
 * address a lot of comments from David Lechner

Changes v4:
 * minor refactoring
 * fix gpio initialization, so gpio driver becomes probed

Changes v5:
 * more bitfield changes
 * sort contents of pinctrl makefile
 * address more issues found by David Lechner

Geert Uytterhoeven (2):
  bitfield: Add less-checking __FIELD_{GET,PREP}()
  bitfield: Add non-constant field_{prep,get}() helpers

Mikhail Kshevetskiy (9):
  bitops: import BITS_PER_TYPE() macro from linux
  pinctrl: add more pinconf/pinctrl definitions
  pinctrl: airoha: add shared pinctrl code
  pinctrl: airoha: add pin controller and gpio driver for AN7581 SoC
  pinctrl: airoha: add pin controller and gpio driver for AN7583 SoC
  pinctrl: airoha: add pin controller and gpio driver for EN7523 SoC
  configs: airoha: an7581: enable pinctrl/gpio support
  configs: airoha: en7523: enable pinctrl/gpio support
  arm: dts: en7523: add pinctrl/gpio support, drop legacy gpio support

 arch/arm/dts/en7523-u-boot.dtsi         |   21 +
 configs/an7581_evb_defconfig            |    7 +-
 configs/en7523_evb_defconfig            |    3 +-
 drivers/pinctrl/Kconfig                 |    1 +
 drivers/pinctrl/Makefile                |   61 +-
 drivers/pinctrl/airoha/Kconfig          |   26 +
 drivers/pinctrl/airoha/Makefile         |    7 +
 drivers/pinctrl/airoha/airoha-common.h  |  476 ++++++++++
 drivers/pinctrl/airoha/pinctrl-airoha.c |  927 +++++++++++++++++++
 drivers/pinctrl/airoha/pinctrl-an7581.c | 1076 +++++++++++++++++++++++
 drivers/pinctrl/airoha/pinctrl-an7583.c |  979 +++++++++++++++++++++
 drivers/pinctrl/airoha/pinctrl-en7523.c |  648 ++++++++++++++
 include/dm/pinctrl.h                    |   28 +
 include/linux/bitfield.h                |   95 +-
 include/linux/bitops.h                  |    1 +
 include/linux/pinctrl/pinctrl.h         |   74 ++
 16 files changed, 4386 insertions(+), 44 deletions(-)
 create mode 100644 drivers/pinctrl/airoha/Kconfig
 create mode 100644 drivers/pinctrl/airoha/Makefile
 create mode 100644 drivers/pinctrl/airoha/airoha-common.h
 create mode 100644 drivers/pinctrl/airoha/pinctrl-airoha.c
 create mode 100644 drivers/pinctrl/airoha/pinctrl-an7581.c
 create mode 100644 drivers/pinctrl/airoha/pinctrl-an7583.c
 create mode 100644 drivers/pinctrl/airoha/pinctrl-en7523.c
 create mode 100644 include/linux/pinctrl/pinctrl.h

-- 
2.53.0


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

end of thread, other threads:[~2026-05-13 14:03 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-09 11:11 [PATCH v5 00/11] pinctrl: add support of Airoha SoCs Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 01/11] bitops: import BITS_PER_TYPE() macro from linux Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 02/11] bitfield: Add less-checking __FIELD_{GET,PREP}() Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 03/11] bitfield: Add non-constant field_{prep, get}() helpers Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 04/11] pinctrl: add more pinconf/pinctrl definitions Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 05/11] pinctrl: airoha: add shared pinctrl code Mikhail Kshevetskiy
2026-05-12 23:38   ` David Lechner
2026-05-09 11:11 ` [PATCH v5 06/11] pinctrl: airoha: add pin controller and gpio driver for AN7581 SoC Mikhail Kshevetskiy
2026-05-12 23:42   ` David Lechner
2026-05-13 11:30     ` Benjamin Larsson
2026-05-13 13:56       ` Tom Rini
2026-05-13 14:03         ` David Lechner
2026-05-13  8:11   ` Peng Fan
2026-05-09 11:11 ` [PATCH v5 07/11] pinctrl: airoha: add pin controller and gpio driver for AN7583 SoC Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 08/11] pinctrl: airoha: add pin controller and gpio driver for EN7523 SoC Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 09/11] configs: airoha: an7581: enable pinctrl/gpio support Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 10/11] configs: airoha: en7523: " Mikhail Kshevetskiy
2026-05-09 11:11 ` [PATCH v5 11/11] arm: dts: en7523: add pinctrl/gpio support, drop legacy gpio support Mikhail Kshevetskiy
2026-05-12 23:43 ` [PATCH v5 00/11] pinctrl: add support of Airoha SoCs David Lechner

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