Repository navigation
J714s: the SD card reader (PCIe port 1, kernel-trained) - #1570
Merged
Merged
Conversation
A cold train of a T6050 port checks whether the shared PHY already runs before starting it. It only knew the state its own start leaves. A boot loader that brought the PHY up in macOS's post-iBoot order, as aura does when it trains the N1's port on the J714s, leaves status bit 4 set and the root complex ready instead, so the kernel tried to start the PHY again, under the other port's link. Take that state as running too. Signed-off-by: Diljit Singh <hey@djdev.me>
The MacBook Pro 14-inch (M5 Pro) SD card reader, a GL9755 on PCIe port 1 (ADT pci-bridge1/pcie-sdreader), was not described. The boot loader leaves the port down, so the kernel trains it, as it trains the J716s N1: - port 1's registers, interrupt and link tunables from pci-bridge1; - the shared PHY's window, which the kernel's train reads; - the reader's power as SMC pcIO output 0 (the ADT's function-sd_pwr_en template) and its PERST# on GPIO 81, which the pin controller now exposes; - dart-apcie1, stream 1, which answers only once the root complex is up; - the reader's card detect and write protect, active high on this board (the ADT's card-detect and write-protect polarity is 1). dart-apcie1 is added to t6050-die0.dtsi, disabled, beside the other GP port DARTs. Signed-off-by: Diljit Singh <hey@djdev.me>
DjDeveloperr
force-pushed
the
djdev/j714s-sd-reader
branch
from
November 11, 2026 18:22
dd4d18e to
e8a416c
Compare
Contributor
Author
|
Head e8a416c adds card detect: Hardware (J714s, run sd6, read-only):
Without these properties (run sd5), the same card was never detected: the host stayed powered off. Open: card writes, hot-insertion, and read speed against macOS. 16 MB/s looks low for UHS-II. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the MacBook Pro 14-inch (M5 Pro, J714s) SD card reader, a GL9755 on internal PCIe port 1 (ADT
pci-bridge1/pcie-sdreader). The boot loader leaves that port down, so the kernel cold-trains it with #1182's T6050 path, the way the J716s N1 is trained. Two commits:phy-commonwindow was missing.stage_s/stage_binsrc/pcie_t6050.c). 13 lines.pci-bridge1.phy-shared, ADTreg[3]), which the train reads.function-sd_pwr_entemplatepKW8('pcIO', 0x0, 0x190000). PERST# is GPIO 81, which the pin controller now exposes; pin 112 stays reserved.dart-apcie1, stream 1, withapple,manual-availability. It is new int6050-die0.dtsi, disabled there, so other T6050 boards gain only a disabled node.cd-invertedandwp-invertedon the reader's node. Both lines are active high on this board (the ADT's polarity is 1). Without them a card in the slot is never detected.Hardware validation on J714s:
expected-link-speedasks for, and what macOS retrains to),sdhci-pcibound, and mmc0 registered with ADMA 64-bit.mmc0: new UHS-II speed SDXC card) and its exFAT partition read back. Everything was read-only: the block devices were set read-only as they appeared, and the mount was read-only. A 512 MiB direct read ran at 16 MB/s, with no oops. Without the polarity properties (run sd5), the same card was never detected.Not tested: card writes, card hot-insertion, read speed against macOS (16 MB/s looks low for UHS-II), and SDR104 tuning. The ADT carries GL9755 SDR104 delay values (
gl9755-sdr104-delay*) that this doesn't apply.🤖 Generated with Claude Code