forked from Minki/linux
c2ac2ae44d
Core: - Improve runtime PM support, remove mmc_{suspend,resume}_host(). - Add MMC_CAP_RUNTIME_RESUME, for delaying MMC resume until we're outside of the resume sequence (in runtime_resume) to decrease system resume time. Drivers: - dw_mmc: Support HS200 mode. - sdhci-eshdc-imx: Support SD3.0 SDR clock tuning, DDR on IMX6. - sdhci-pci: Add support for Intel Clovertrail and Merrifield. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) iQIcBAABAgAGBQJSiDC6AAoJEHNBYZ7TNxYMlfUP/RReKYyFc5A6X/1WEkpc4jZ8 tjJcoygrjhGc2lGg/ewZAHZ4oZJlHYwDe3cY+82X8MKuZdjQlWqHM0TpZB33d0NP jzTtjzT92A4BOlJ2jDOzLxPWR7Q/bpbycGJZ6w6rNxf3SOSom0JyCSBobB0Uwymi UI9EaMj4NS69GDPIk5IWjVPuYApVkmt16LKI0qB8bUbMWYcn9WwGknWe0uh+bKRn i3npn6JFMmmc03qhuhaRYL8FG5qJfnZbNL9mBRCt/D9InsJlcsN/isyvhoI9m9W6 mYJtE6mJrnN+mVQJy90BnN7lSbDPpeDod8hB42We/kB+vzLpKGhGTsFPkdD0esHI CScHkpc1i3z+RdFqf/ZdL3mTk5DaIWyxBHZwqjWc1Cyf+O7xfYuTQwXWX7gDyDo+ xKkttR5Hn9mJUkCUxww3ky7XDh3d7zeoIcQpnlJMIZZL8MG6QRnPJfVQLJXT+BF8 2iQAj/qw47gt5+KMvkqHwB0iO1hlQoVoH3bRU7bywULe0zn5pGa2W4BFkN2nNJe/ eKZsx3aB5ToaXHbZMIvw4zrVnPJfTp1A+GBTcztpHUk1weRseoqIzqNhSH/L+YGt JeyMhST/B6DGGXVkiO2kFhfqIppcN5vJgB/tyHzF0gkAq1K1GJSYeH+9AVL6QXeS G956hL5mY8CP0/ONNs93 =JDGc -----END PGP SIGNATURE----- Merge tag 'mmc-updates-for-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc Pull MMC updates from Chris Ball: "MMC highlights for 3.13: Core: - Improve runtime PM support, remove mmc_{suspend,resume}_host(). - Add MMC_CAP_RUNTIME_RESUME, for delaying MMC resume until we're outside of the resume sequence (in runtime_resume) to decrease system resume time. Drivers: - dw_mmc: Support HS200 mode. - sdhci-eshdc-imx: Support SD3.0 SDR clock tuning, DDR on IMX6. - sdhci-pci: Add support for Intel Clovertrail and Merrifield" * tag 'mmc-updates-for-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (108 commits) mmc: wbsd: Silence compiler warning mmc: core: Silence compiler warning in __mmc_switch mmc: sh_mmcif: Convert to clk_prepare|unprepare mmc: sh_mmcif: Convert to PM macros when defining dev_pm_ops mmc: dw_mmc: exynos: Revert the sdr_timing assignment mmc: sdhci: Avoid needless loop while handling SDIO interrupts in sdhci_irq mmc: core: Add MMC_CAP_RUNTIME_RESUME to resume at runtime_resume mmc: core: Improve runtime PM support during suspend/resume for sd/mmc mmc: core: Remove redundant mmc_power_up|off at runtime callbacks mmc: Don't force card to active state when entering suspend/shutdown MIPS: db1235: Don't use MMC_CLKGATE mmc: core: Remove deprecated mmc_suspend|resume_host APIs mmc: mmci: Move away from using deprecated APIs mmc: via-sdmmc: Move away from using deprecated APIs mmc: tmio: Move away from using deprecated APIs mmc: sh_mmcif: Move away from using deprecated APIs mmc: sdricoh_cs: Move away from using deprecated APIs mmc: rtsx: Remove redundant suspend and resume callbacks mmc: wbsd: Move away from using deprecated APIs mmc: pxamci: Remove redundant suspend and resume callbacks ...
117 lines
4.3 KiB
Plaintext
117 lines
4.3 KiB
Plaintext
* Synopsys Designware Mobile Storage Host Controller
|
|
|
|
The Synopsys designware mobile storage host controller is used to interface
|
|
a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
|
|
differences between the core mmc properties described by mmc.txt and the
|
|
properties used by the Synopsys Designware Mobile Storage Host Controller.
|
|
|
|
Required Properties:
|
|
|
|
* compatible: should be
|
|
- snps,dw-mshc: for controllers compliant with synopsys dw-mshc.
|
|
* #address-cells: should be 1.
|
|
* #size-cells: should be 0.
|
|
|
|
# Slots: The slot specific information are contained within child-nodes with
|
|
each child-node representing a supported slot. There should be atleast one
|
|
child node representing a card slot. The name of the child node representing
|
|
the slot is recommended to be slot@n where n is the unique number of the slot
|
|
connnected to the controller. The following are optional properties which
|
|
can be included in the slot child node.
|
|
|
|
* reg: specifies the physical slot number. The valid values of this
|
|
property is 0 to (num-slots -1), where num-slots is the value
|
|
specified by the num-slots property.
|
|
|
|
* bus-width: as documented in mmc core bindings.
|
|
|
|
* wp-gpios: specifies the write protect gpio line. The format of the
|
|
gpio specifier depends on the gpio controller. If a GPIO is not used
|
|
for write-protect, this property is optional.
|
|
|
|
* disable-wp: If the wp-gpios property isn't present then (by default)
|
|
we'd assume that the write protect is hooked up directly to the
|
|
controller's special purpose write protect line (accessible via
|
|
the WRTPRT register). However, it's possible that we simply don't
|
|
want write protect. In that case specify 'disable-wp'.
|
|
NOTE: This property is not required for slots known to always
|
|
connect to eMMC or SDIO cards.
|
|
|
|
Optional properties:
|
|
|
|
* clocks: from common clock binding: handle to biu and ciu clocks for the
|
|
bus interface unit clock and the card interface unit clock.
|
|
|
|
* clock-names: from common clock binding: Shall be "biu" and "ciu".
|
|
If the biu clock is missing we'll simply skip enabling it. If the
|
|
ciu clock is missing we'll just assume that the clock is running at
|
|
clock-frequency. It is an error to omit both the ciu clock and the
|
|
clock-frequency.
|
|
|
|
* clock-frequency: should be the frequency (in Hz) of the ciu clock. If this
|
|
is specified and the ciu clock is specified then we'll try to set the ciu
|
|
clock to this at probe time.
|
|
|
|
* clock-freq-min-max: Minimum and Maximum clock frequency for card output
|
|
clock(cclk_out). If it's not specified, max is 200MHZ and min is 400KHz by default.
|
|
|
|
* num-slots: specifies the number of slots supported by the controller.
|
|
The number of physical slots actually used could be equal or less than the
|
|
value specified by num-slots. If this property is not specified, the value
|
|
of num-slot property is assumed to be 1.
|
|
|
|
* fifo-depth: The maximum size of the tx/rx fifo's. If this property is not
|
|
specified, the default value of the fifo size is determined from the
|
|
controller registers.
|
|
|
|
* card-detect-delay: Delay in milli-seconds before detecting card after card
|
|
insert event. The default value is 0.
|
|
|
|
* supports-highspeed: Enables support for high speed cards (up to 50MHz)
|
|
|
|
* caps2-mmc-hs200-1_8v: Supports mmc HS200 SDR 1.8V mode
|
|
|
|
* caps2-mmc-hs200-1_2v: Supports mmc HS200 SDR 1.2V mode
|
|
|
|
* broken-cd: as documented in mmc core bindings.
|
|
|
|
* vmmc-supply: The phandle to the regulator to use for vmmc. If this is
|
|
specified we'll defer probe until we can find this regulator.
|
|
|
|
Aliases:
|
|
|
|
- All the MSHC controller nodes should be represented in the aliases node using
|
|
the following format 'mshc{n}' where n is a unique number for the alias.
|
|
|
|
Example:
|
|
|
|
The MSHC controller node can be split into two portions, SoC specific and
|
|
board specific portions as listed below.
|
|
|
|
dwmmc0@12200000 {
|
|
compatible = "snps,dw-mshc";
|
|
clocks = <&clock 351>, <&clock 132>;
|
|
clock-names = "biu", "ciu";
|
|
reg = <0x12200000 0x1000>;
|
|
interrupts = <0 75 0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
dwmmc0@12200000 {
|
|
clock-frequency = <400000000>;
|
|
clock-freq-min-max = <400000 200000000>;
|
|
num-slots = <1>;
|
|
supports-highspeed;
|
|
caps2-mmc-hs200-1_8v;
|
|
broken-cd;
|
|
fifo-depth = <0x80>;
|
|
card-detect-delay = <200>;
|
|
vmmc-supply = <&buck8>;
|
|
|
|
slot@0 {
|
|
reg = <0>;
|
|
bus-width = <8>;
|
|
};
|
|
};
|