Hi,
As requested in the previous version of the Apple Silicon USB3 support
series this one only contains the changes required for the Type-C PHY.
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 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@kernel.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: 3a8660878839faadb4f1a6dd72c3179c1df56787
change-id: 20251013-b4-atcphy-d6a7c939d417
Best regards,
--
Sven Peter <sven@kernel.org>