[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251214-b4-atcphy-v3-0-ba82b20e9459@kernel.org>
Date: Sun, 14 Dec 2025 11:51:33 +0000
From: Sven Peter <sven@...nel.org>
To: Sven Peter <sven@...nel.org>, Janne Grunau <j@...nau.net>,
Neal Gompa <neal@...pa.dev>, Vinod Koul <vkoul@...nel.org>,
Neil Armstrong <neil.armstrong@...aro.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Philipp Zabel <p.zabel@...gutronix.de>
Cc: linux-kernel@...r.kernel.org, asahi@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, linux-hardening@...r.kernel.org,
linux-phy@...ts.infradead.org, devicetree@...r.kernel.org,
Alyssa Rosenzweig <alyssa@...enzweig.io>, Hector Martin <marcan@...can.st>
Subject: [PATCH v3 0/3] Apple Silicon Type-C PHY
Hi,
This series adds support for the combined Type-C PHY found in Apple
Silicon machines and required for USB3, DP-AltMode, and Thunderbolt/USB4
support. As in the previous versions, this is limited to USB3 support so
far since the other modes need further work in different subsystems.
With the dwc3 glue driver being upstream this is however the last part
required for upstream USB3 support.
The generic tunable support inside driver/soc/apple will also be re-used
for Thunderbolt later but it's fine to take it through the PHY tree
since thunderbolt will depend on that anyway.
Changes in v3:
- Link to v2: https://patch.msgid.link/20251123-b4-atcphy-v2-0-34cc7092b22a@kernel.org
- Rebased on 6.19-rc1
Changes in v2:
- Link to v1: https://patch.msgid.link/20251026-b4-atcphy-v1-0-f81b1225f9c6@kernel.org
- Picked up tags from Rob and Janne, thanks!
- Added additional sanity checks for the tunables to guard against bugs
in our bootloader (Janne)
- Used struct_size from overflow.h instead of open-coding it inside
tunables.c (Janne)
- Fixed a bunch of typos in atc.c pointed out by Mark Kettenis via IRC
Changes since v2 of the combined series:
- Link to v2: https://lore.kernel.org/asahi/20250906-atcphy-6-17-v2-0-52c348623ef6@kernel.org/
- atc.c:
- Removed a bunch of outdated safety checks from atc.c that were only
required in a previous version that did not rely on the dwc3-glue
driver
- Addressed Philipp's review comments:
- Added documentation for struct apple_atcphy (and a bunch of other
things while I was at it)
- Moved the mutex guard from atcphy_dpphy_configure to atcphy_dp_configure
since the first one doesn't touch any shared structures or MMIO
- apple,atcphy.yaml:
- Added a generic apple,tunable definition that uses uint32-matrix
and refer to that one from the individual tunable properties
- Adjust the tunable description to make it easier to understand
- Limited all lines to 80 chars
- Used > for longer descriptions
- Fixed some typos
- Picked up r-b tags (thanks!)
Best,
Sven
Signed-off-by: Sven Peter <sven@...nel.org>
---
Sven Peter (3):
soc: apple: Add hardware tunable support
dt-bindings: phy: Add Apple Type-C PHY
phy: apple: Add Apple Type-C PHY
.../devicetree/bindings/phy/apple,atcphy.yaml | 222 ++
MAINTAINERS | 2 +
drivers/phy/Kconfig | 1 +
drivers/phy/Makefile | 1 +
drivers/phy/apple/Kconfig | 14 +
drivers/phy/apple/Makefile | 4 +
drivers/phy/apple/atc.c | 2294 ++++++++++++++++++++
drivers/soc/apple/Kconfig | 4 +
drivers/soc/apple/Makefile | 3 +
drivers/soc/apple/tunable.c | 80 +
include/linux/soc/apple/tunable.h | 62 +
11 files changed, 2687 insertions(+)
---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20251013-b4-atcphy-d6a7c939d417
Best regards,
--
Sven Peter <sven@...nel.org>
Powered by blists - more mailing lists