mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [RFC PATCH 0/4] Add support for Realtek RTS490x I3C hub
@ 2026-09-20 10:04 zain_zhou
  2026-09-20 10:04 ` [RFC PATCH 1/4] dt-bindings: i3c: Add Realtek RTS490x I3C hub support zain_zhou
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: zain_zhou @ 2026-09-20 10:04 UTC (permalink / raw)
  To: Alexandre Belloni, Frank Li, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Lee Jones, Liam Girdwood, Mark Brown,
	Vikash Bansal, Aman Kumar Pandey, Lakshay Piplani
  Cc: devicetree, linux-i3c, linux-kernel, mfd, Wei Wang, Yin Zhou

From: Yin Zhou <zain_zhou@realsil.com.cn>

Hi all,

This series adds support for the Realtek RTS490x family of I3C hubs.
The devices provide four or eight downstream target ports, which can be
configured as I3C buses or SMBus controller/target interfaces. They also
provide four programmable LDO outputs for the controller and target-port
power domains.

This RFC is based on the NXP P3H2x4x generic I3C hub framework series v17:

  [PATCH v17 0/8] Add support for NXP P3H2x4x I3C hub driver

The NXP dependency series is not included below and must be applied first.
It applies on top of current Linux mainline; the base commit used to build
and test this RFC is:

  940de590b839f71d6dc846160534bf202401b8b7

The dependency status and the final generic-hub API shape are an explicit
part of this RFC. If the generic framework is revised, this series will be
rebased accordingly. NXP's later v19 series will be evaluated for a future
revision of this RTS490x series and is not being used as the basis for this
RFC v1.

Patch overview:

  1. dt-bindings: i3c: Add Realtek RTS490x I3C hub support
     Add the RTS490x device-tree binding and register the binding with
     MAINTAINERS.

  2. mfd: Add driver for Realtek RTS490x I3C hub
     Add the I3C-only MFD parent, shared regmap, manufacturer matching,
     variant detection, protected-register lock, and child devices.

  3. regulator: rts490x: Add driver for on-die regulators
     Expose the four programmable LDOs through the regulator framework.
     Only regulator nodes explicitly present and enabled in DT are
     registered; omitted LDOs retain their existing hardware state.

  4. i3c: hub: Add Realtek RTS490x I3C hub support
     Add downstream I3C ports through the generic I3C hub framework and
     SMBus ports through Linux I2C adapters. SMBus controller completion
     and target receive handling use the hub self-IBI.

The first RFC intentionally has a limited scope:

  - The hub must be connected to the host through I3C.
  - GPIO and GPIO IRQ support are deferred to a follow-up series.
  - SMBus controller and target paths use IBI; polling fallback is not
    included.
  - Legacy I2C device discovery behind I3C-mode ports follows the existing
    behavior of the generic I3C master framework and has not been
    specifically validated on this hardware in this RFC.

Testing:

  - checkpatch.pl --strict, 0 errors/0 warnings across the series
  - dt_binding_check for the RTS490x binding
  - Cross-build validated for the MFD, regulator, and hub composite objects
  - git diff --check across the series
  - I3C and SMBus downstream ports have been functionally verified on
    target hardware.

Regards,
Yin Zhou

Yin Zhou (4):
  dt-bindings: i3c: Add Realtek RTS490x I3C hub support
  mfd: Add driver for Realtek RTS490x I3C hub
  regulator: rts490x: Add driver for on-die regulators
  i3c: hub: Add Realtek RTS490x I3C hub support

 .../bindings/i3c/realtek,rts490x.yaml         | 266 ++++++
 MAINTAINERS                                   |  11 +
 drivers/i3c/hub/Kconfig                       |  11 +
 drivers/i3c/hub/Makefile                      |   3 +
 drivers/i3c/hub/rts490x-i3c-hub-core.c        | 444 +++++++++
 drivers/i3c/hub/rts490x-i3c-hub-i3c.c         | 150 ++++
 drivers/i3c/hub/rts490x-i3c-hub-smbus.c       | 839 ++++++++++++++++++
 drivers/i3c/hub/rts490x-i3c-hub.h             | 150 ++++
 drivers/mfd/Kconfig                           |  11 +
 drivers/mfd/Makefile                          |   1 +
 drivers/mfd/rts490x-core.c                    | 131 +++
 drivers/regulator/Kconfig                     |   9 +
 drivers/regulator/Makefile                    |   1 +
 drivers/regulator/rts490x-regulator.c         | 284 ++++++
 include/linux/mfd/rts490x.h                   |  53 ++
 15 files changed, 2364 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i3c/realtek,rts490x.yaml
 create mode 100644 drivers/i3c/hub/rts490x-i3c-hub-core.c
 create mode 100644 drivers/i3c/hub/rts490x-i3c-hub-i3c.c
 create mode 100644 drivers/i3c/hub/rts490x-i3c-hub-smbus.c
 create mode 100644 drivers/i3c/hub/rts490x-i3c-hub.h
 create mode 100644 drivers/mfd/rts490x-core.c
 create mode 100644 drivers/regulator/rts490x-regulator.c
 create mode 100644 include/linux/mfd/rts490x.h

-- 
2.34.1


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

end of thread, other threads:[~2026-09-21 14:07 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-20 10:04 [RFC PATCH 0/4] Add support for Realtek RTS490x I3C hub zain_zhou
2026-09-20 10:04 ` [RFC PATCH 1/4] dt-bindings: i3c: Add Realtek RTS490x I3C hub support zain_zhou
2026-09-20 10:04 ` [RFC PATCH 2/4] mfd: Add driver for Realtek RTS490x I3C hub zain_zhou
2026-09-20 10:05 ` [RFC PATCH 3/4] regulator: rts490x: Add driver for on-die regulators zain_zhou
2026-09-20 13:05   ` Krzysztof Kozlowski
2026-09-21  3:46     ` 回复: " 周寅
2026-09-21 14:07       ` Krzysztof Kozlowski
2026-09-21 10:23   ` Mark Brown
2026-09-20 10:05 ` [RFC PATCH 4/4] i3c: hub: Add Realtek RTS490x I3C hub support zain_zhou

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

all inboxes | Powered by JetHome®