mmc: zynq_sdhci: Add support for dynamic configuration
authorAshok Reddy Soma <ashok.reddy.soma@xilinx.com>
Wed, 23 Feb 2022 14:36:05 +0000 (15:36 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 9 Mar 2022 11:34:47 +0000 (12:34 +0100)
commit90ab7fafb65f13cff94c8260f96b73fed3ff8a21
tree90780a83215de596023bdd3e1b66124b28ed32f2
parent3adc17f60bf804fd8fe25e7c20399243f26d7f49
mmc: zynq_sdhci: Add support for dynamic configuration

Add support for dynamic configuration which will takes care of
configuring the SD secure space configuration registers using firmware
APIs, performing SD reset assert and deassert.

High level sequence:
  - Check for the PM dynamic configuration support, if no error proceed
    with SD dynamic configurations(next steps) otherwise skip the dynamic
    configuration.
  - Put the SD Controller in reset.
  - Configure SD Fixed configurations.
  - Configure the SD Slot Type.
  - Configure the BASE_CLOCK.
  - Configure the 8-bit support.
  - Bring the SD Controller out of reset.

In the above steps, apart from the Fixed configurations, remaining all
configurations are dynamic and they will be read from devicetree.

And also remove hardcoded secure register writes, as dynamic sd config
support is added.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/030a3ec041ff3efebd574b4d2b477ad85f12cbce.1645626962.git.michal.simek@xilinx.com
drivers/mmc/zynq_sdhci.c