[PATCH v2 0/3] Apple SoC CIO (USB4/Thunderbolt) reset controller
Sven Peter <[email protected]>
| Newsgroups | dev.linux.lists.asahi,org.infradead.lists.linux-arm-kernel,org.kernel.feeds.b4-sent,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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/[email protected] To: Sven Peter <[email protected]> To: Janne Grunau <[email protected]> To: Neal Gompa <[email protected]> To: Rob Herring <[email protected]> To: Krzysztof Kozlowski <[email protected]> To: Conor Dooley <[email protected]> To: Philipp Zabel <[email protected]> Cc: Joshua Peisach <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] --- 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(-) --- base-commit: 8d3ae59288f1e7d58d76558a6ee96d533bc5019f change-id: 20260809-b4-cio-reset-aa3fb04bad9e Best regards, -- Sven Peter <[email protected]>