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 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 (2): mmc: dw_mmc-rockchip: Add internal phase support mmc: dw_mmc-rockchip: Skip all phases bigger than 270 degrees .../bindings/mmc/rockchip-dw-mshc.yaml | 2 + drivers/mmc/host/dw_mmc-rockchip.c | 220 ++++++++++++++++-- 2 files changed, 207 insertions(+), 15 deletions(-) -- 2.46.0