The SD card controller on the rk3576 SoC stores the phase settings into the dw_mmc controller, so the code has to be adapted to implement that. Although the feature can be detected through the USRID register value, the decision to use it is based on the compatible. The compatible for rk3576 is added in its own group of compatible to mark that all devices compatible with rk3576 have internal phase settings and don't have the ciu-drive and ciu-sample clocks. Changes since v4: - Drop commit that ignores phase above 270 degrees - Use a bool instead of int for internal_phase field - Fix pahse typo Changes since v3: - Remove internal phase auto detection - Set compatible in own block, with own dt_parse function - Add internal_phase variable - Use function to set clock parameters based on internal_phase variable instead of multiple ifs - Use different commit for skipping phases higher than 270 Changes since v2: - Drop rockchip,v2-tuning and use compatible-based detection - Fix coding style Changes since v1: - Renamed use-v2-tuning to v2-tuning - Rewrite v2-tuning description as the hardware feature Detlev. Detlev Casanova (2): dt-bindings: mmc: Add support for rk3576 dw-mshc mmc: dw_mmc-rockchip: Add support for rk3576 SoCs Shawn Lin (1): mmc: dw_mmc-rockchip: Add internal phase support .../bindings/mmc/rockchip-dw-mshc.yaml | 2 + drivers/mmc/host/dw_mmc-rockchip.c | 217 ++++++++++++++++-- 2 files changed, 204 insertions(+), 15 deletions(-) -- 2.46.0