FROMLIST: mmc: add support for power-on sequencing through DT

This patch enables support for power-on sequencing of SDIO peripherals through DT.

In general, it's quite common that wifi modules and other similar
peripherals have several signals in addition to the SDIO interface that
needs wiggling before the module will power on. It's common to have a
reference clock, one or several power rails and one or several lines
for reset/enable type functions.

The binding as written today introduces a number of reset gpios,
a regulator and a clock specifier. The code will handle up to 2 gpio
reset lines, but it's trivial to increase to more than that if needed
at some point.

Implementation-wise, the MMC core has been changed to handle this during
host power up, before the host interface is powered on. I have not yet
implemented the power-down side, I wanted people to have a chance for
reporting back w.r.t. issues (or comments on the bindings) first.

I have not tested the regulator portion, since the system and module
I'm working on doesn't need one (Samsung Chromebook with Marvell
8797-based wifi). Testing of those portions (and reporting back) would
be appreciated.

Signed-off-by: Olof Johansson <olof@lixom.net>

Bug: 25923642
Patchset: mmc patch[1/3], happy work for wifi module on kylin board.
fixup for current kernel.

(am https://patchwork.kernel.org/patch/3510571/)
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: I2d38a890cbec51e0851969022ac6177b01e103bc
4 files changed