[PATCH v4 0/4] Add dw_mmc support for rk3576

Detlev Casanova
2024-08-22T21:24:48Z

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