Devicetree
 help / color / mirror / Atom feed
* [PATCH v6 0/3] mfd: add X-Powers AC200 support
@ 2026-08-11  8:27 James Hilliard
  2026-08-11  8:27 ` [PATCH v6 1/3] dt-bindings: mfd: x-powers: Add AC200 James Hilliard
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: James Hilliard @ 2026-08-11  8:27 UTC (permalink / raw)
  To: Lee Jones, Arnd Bergmann, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, James Hilliard
  Cc: mfd, devicetree, linux-kernel

This submission contains only the AC200 binding, managed syscon helper
and I2C register provider and is intended for the MFD tree. The Ethernet
PHY binding and driver will be submitted separately to net-next. Neither
series has a compile-time dependency or required merge order. Their only
shared design point is the DT representation: the MDIO PHY-package node
references the separately described AC200 I2C node for package-control
register access.

The X-Powers AC200 is an I2C-controlled mixed-signal companion IC with a
paged register map shared by its audio, video, RTC and Fast Ethernet PHY
functions. Its shared input clock must remain enabled while the chip is in
use.

The provider enables and rate-locks that clock, matches the vendor
driver's 40 ms delay before the first register access, initializes the
paged regmap, reports the chip revision and applies common reset. It
publishes the regmap through syscon so separately enumerated function
devices can reach their control registers through a firmware reference.

The existing external syscon registration API cannot withdraw an entry
when a removable provider unbinds. Add a managed variant which removes
the entry before the provider's regmap is released and holds the device
node reference for the entry's lifetime. Consumers remain responsible for
teardown ordering, for example through a device link.

The three patches add the AC200 binding, managed external syscon
registration and the AC200 I2C register provider.

The AC200 work builds on earlier work by Jernej Skrabec and Andre
Przywara:

  https://github.com/jernejsk/linux-1/commits/ac200-v4

Public AC200 documentation is linked from:

  https://linux-sunxi.org/AC200

Validation completed for v6:

  - x86_64 defconfig object builds of syscon and the AC200 provider with W=1;
  - dt_binding_check for the AC200 schema; and
  - strict checkpatch checks with no errors and only the generic new-file
    MAINTAINERS prompts.

The running-kernel and hardware results remain those from v5 because the
code is unchanged. Managed syscon registration, lookup, provider removal
and re-registration were tested on a running kernel. On an H616 board the
AC200 provider reported revision 0x101 in package 1, supplied its regmap to
the PHY consumer and correctly ordered supplier unbind/rebind through the
device link.

Assisted-by: OpenAI Codex (gpt-5.6-sol, max)
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes in v6:
- split the MFD work from the independently mergeable networking series
- put the merge routing and shared DT design at the start of the cover letter
- rebase onto the current MFD for-mfd-next branch
- Link to v5: https://patch.msgid.link/20260809-submit-acx00-of-dynamic-v1-v5-0-bfa1f8518b28@gmail.com

---
James Hilliard (3):
      dt-bindings: mfd: x-powers: Add AC200
      mfd: syscon: Add managed registration for external regmaps
      mfd: ac200: Add X-Powers AC200 support

 .../devicetree/bindings/mfd/x-powers,ac200.yaml    |  49 ++++++
 drivers/mfd/Kconfig                                |  12 ++
 drivers/mfd/Makefile                               |   1 +
 drivers/mfd/ac200.c                                | 170 +++++++++++++++++++++
 drivers/mfd/syscon.c                               |  87 ++++++++---
 include/linux/mfd/syscon.h                         |  12 ++
 6 files changed, 309 insertions(+), 22 deletions(-)
---
base-commit: ffc63a677b60247738b02a2520c6bfa740523c2b
change-id: 20260811-submit-ac200-mfd-8bad6d09e285

Best regards,
--  
James Hilliard <james.hilliard1@gmail.com>


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

end of thread, other threads:[~2026-08-11 11:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11  8:27 [PATCH v6 0/3] mfd: add X-Powers AC200 support James Hilliard
2026-08-11  8:27 ` [PATCH v6 1/3] dt-bindings: mfd: x-powers: Add AC200 James Hilliard
2026-08-11  8:27 ` [PATCH v6 2/3] mfd: syscon: Add managed registration for external regmaps James Hilliard
2026-08-11  8:46   ` Arnd Bergmann
2026-08-11  9:17     ` James Hilliard
2026-08-11 11:03       ` Arnd Bergmann
2026-08-11  8:27 ` [PATCH v6 3/3] mfd: ac200: Add X-Powers AC200 support James Hilliard

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