summaryrefslogtreecommitdiff
path: root/include/fuzzing_engine.h
diff options
context:
space:
mode:
authorTze Yee Ng <[email protected]>2026-05-04 19:36:03 -0700
committerTom Rini <[email protected]>2026-05-12 11:42:41 -0600
commitb42c67188c1453a68de4464b07a21da660f811c6 (patch)
treec4e9e14e56e28be0eb11c68a9ad1162ca76f5acd /include/fuzzing_engine.h
parent5732bd0f457b4c671e46574d64d4acb099c0f0a5 (diff)
mmc: sdhci-cadence: trigger tuning for SD HS mode on SD6HC (v6) PHY
The Cadence SD6HC (SDHCI spec v4.20+) controller uses a soft PHY whose DLL delay characteristics vary with PVT (Process, Voltage, Temperature) and board-level trace routing. A static delay value programmed via device tree for SD High Speed mode is insufficient because the optimal sampling point varies per board, SD card, and operating conditions. Runtime calibration is required. While the SD Physical Layer Specification does not mandate tuning for SD HS mode (only for UHS-I SDR50/SDR104), the Cadence SD6HC PHY requires runtime calibration of its receive data delay line to find a valid sampling window under constrained clock conditions. The tuning is triggered from the set_ios_post callback because at that moment hardware has committed the new bus width, clock frequency, and speed mode to the controller registers. This ensuring the tuning sequence runs at the correct SD HS operating conditions. The tuning is gated by a device tree property "cdns,sd-hs-tuning" so that only boards requiring runtime calibration opt in. When enabled, the driver performs a 40-tap DLL sweep using CMD19 to find the largest consecutive passing window, then programs the midpoint into PHY_DLL_SLAVE_CTRL_REG. To enable on a board, add to the MMC node in device tree: &mmc { cdns,sd-hs-tuning; }; Signed-off-by: Tze Yee Ng <[email protected]>
Diffstat (limited to 'include/fuzzing_engine.h')
0 files changed, 0 insertions, 0 deletions