[PATCH v7 0/2] mfd: add X-Powers AC200 support

James Hilliard <[email protected]>
Newsgroups dev.linux.lists.linux-sunxi,dev.linux.lists.mfd,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
This submission contains only the AC200 binding and I2C register provider
and is intended for the MFD tree. The Ethernet PHY binding and driver are
submitted separately to net-next. Neither series has a compile-time
dependency or required merge order. Their shared design point is the DT
representation: the MDIO PHY-package node references the separately
described AC200 I2C node for access to package-control registers.

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. The
regmap remains attached to the AC200 I2C device. A separately enumerated
function can resolve that device, establish its lifetime relationship and
retrieve the regmap through the generic device and regmap interfaces.

The two patches add the minimal AC200 binding and I2C register provider.
They do not add syscon registration or a private cross-subsystem API.

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 v7:

  - an x86_64 defconfig object build of 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 provider initialization was hardware-tested on an H616 board, where
it reported AC200 revision 0x101 in package 1. The direct device/regmap
lookup used by the separately submitted PHY driver was previously tested
on the same hardware, including supplier unbind and rebind.

Assisted-by: Codex:gpt-5.6-sol
Signed-off-by: James Hilliard <[email protected]>
---
Changes in v7:
- drop the managed external-syscon helper and AC200 syscon registration
- leave the regmap attached to the I2C provider for direct device lookup
- reduce the MFD series from three patches to two
- Link to v6: https://patch.msgid.link/[email protected]

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/[email protected]

To: Lee Jones <[email protected]>
To: Rob Herring <[email protected]>
To: Krzysztof Kozlowski <[email protected]>
To: Conor Dooley <[email protected]>
To: James Hilliard <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: "Jagielski, Jedrzej" <[email protected]>
Cc: Andre Przywara <[email protected]>
Cc: Chen-Yu Tsai <[email protected]>
Cc: Jernej Škrabec <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]

---
James Hilliard (2):
      dt-bindings: mfd: x-powers: Add AC200
      mfd: ac200: Add X-Powers AC200 support

 .../devicetree/bindings/mfd/x-powers,ac200.yaml    |  49 +++++++
 drivers/mfd/Kconfig                                |  11 ++
 drivers/mfd/Makefile                               |   1 +
 drivers/mfd/ac200.c                                | 163 +++++++++++++++++++++
 4 files changed, 224 insertions(+)
---
base-commit: ffc63a677b60247738b02a2520c6bfa740523c2b
change-id: 20260811-submit-ac200-mfd-8bad6d09e285

Best regards,
--  
James Hilliard <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.