[PATCH v2 0/3] Apple SoC CIO (USB4/Thunderbolt) reset controller

Janne Grunau j at jannau.net
Tue Sep 8 01:34:11 PDT 2026


On Fri, Aug 21, 2026 at 05:44:53PM +0200, Sven Peter wrote:
> Hi,
> 
> The CIO blocks used for USB4/Thunderbolt on Apple Silicon SoCs have a
> reset inside the power manager that has to be deasserted before their
> co-processor can be booted. On t8103 and t8112 each port comes with a
> dedicated register page while t600x and t602x use a single register
> with one request bit per port shared by all ports of a die in the
> middle of the PMGR MMIO region.
> 
> The first patch adds the dt-binding, the second one the driver and the
> last one the device tree nodes for all SoCs. This will be used by the
> upcoming USB4/Thunderbolt series to start the host routers before
> booting their co-processors.
> 
> Best,
> 
> Sven
> 
> ---
> Changes in v2:
> - dt-bindings: move the t600x example with the PMGR sub-node over to the
>   PMGR binding itself where it can use the correct number of address
>   cells such that the unit address matches reg again (Conor)
> - bail out of probe when no match data is available (Joshua, sashiko)
> - explain why neither a read-modify-write nor a delay before polling
>   is required for the shared t600x register (sashiko)
> - fix a copy/paste error for the M2 MMIO region in the dts change
> - Link to v1: https://patch.msgid.link/20260809-b4-cio-reset-v1-0-4f33777d9b4b@kernel.org
> 
> To: Sven Peter <sven at kernel.org>
> To: Janne Grunau <j at jannau.net>
> To: Neal Gompa <neal at gompa.dev>
> To: Rob Herring <robh at kernel.org>
> To: Krzysztof Kozlowski <krzk+dt at kernel.org>
> To: Conor Dooley <conor+dt at kernel.org>
> To: Philipp Zabel <p.zabel at pengutronix.de>
> Cc: Joshua Peisach <jpeisach at ubuntu.com>
> Cc: asahi at lists.linux.dev
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: devicetree at vger.kernel.org
> Cc: linux-kernel at vger.kernel.org
> 
> ---
> Sven Peter (3):
>       dt-bindings: reset: Add Apple SoC CIO reset
>       reset: Add Apple SoC CIO reset driver
>       arm64: dts: apple: Add CIO reset controllers
> 
>  .../devicetree/bindings/arm/apple/apple,pmgr.yaml  |  12 ++
>  .../bindings/reset/apple,t8103-cio-reset.yaml      |  61 +++++++
>  MAINTAINERS                                        |   2 +
>  arch/arm64/boot/dts/apple/t600x-dieX.dtsi          |   8 +-
>  arch/arm64/boot/dts/apple/t602x-dieX.dtsi          |   8 +-
>  arch/arm64/boot/dts/apple/t8103.dtsi               |   6 +
>  arch/arm64/boot/dts/apple/t8112.dtsi               |   6 +
>  drivers/reset/Kconfig                              |  10 ++
>  drivers/reset/Makefile                             |   1 +
>  drivers/reset/reset-apple-cio.c                    | 200 +++++++++++++++++++++
>  10 files changed, 312 insertions(+), 2 deletions(-)

whole series

Reviewed-by: Janne Grunau <j at jannau.net>

Janne



More information about the linux-arm-kernel mailing list