Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11b84c58 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'mmc-updates-for-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc

Pull MMC updates from Chris Ball:
 "MMC highlights for 3.8:

  Core:
   - Expose access to the eMMC RPMB ("Replay Protected Memory Block")
     area by extending the existing mmc_block ioctl.
   - Add SDIO powered-suspend DT properties to the core MMC DT binding.
   - Add no-1-8-v DT flag for boards where the SD controller reports
     that it supports 1.8V but the board itself has no way to switch to
     1.8V.
   - More work on switching to 1.8V UHS support using a vqmmc regulator.
   - Fix up a case where the slot-gpio helper may fail to reset the host
     controller properly if a card was removed during a transfer.
   - Fix several cases where a broken device could cause an infinite
     loop while we wait for a register to update.

  Drivers:
   - at91-mci: Remove obsolete driver, atmel-mci handles these devices
     now.
   - sdhci-dove: Allow using GPIOs for card-detect notifications.
   - sdhci-esdhc: Fix for recovering from ADMA errors on broken silicon.
   - sdhci-s3c: Add pinctrl support.
   - wmt-sdmmc: New driver for WonderMedia SD/MMC controllers."

* tag 'mmc-updates-for-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (65 commits)
  mmc: sdhci: implement the .card_event() method
  mmc: extend the slot-gpio card-detection to use host's .card_event() method
  mmc: add a card-event host operation
  mmc: sdhci-s3c: Fix compilation warning
  mmc: sdhci-pci: Enable SDHCI_CAN_DO_HISPD for Ricoh SDHCI controller
  mmc: sdhci-dove: allow GPIOs to be used for card detection on Dove
  mmc: sdhci-dove: use two-stage initialization for sdhci-pltfm
  mmc: sdhci-dove: use devm_clk_get()
  mmc: eSDHC: Recover from ADMA errors
  mmc: dw_mmc: remove duplicated buswidth code
  mmc: dw_mmc: relocate where dw_mci_setup_bus() is called from
  mmc: Limit MMC speed to 52MHz if not HS200
  mmc: dw_mmc: use devres functions in dw_mmc
  mmc: sh_mmcif: remove unneeded clock connection ID
  mmc: sh_mobile_sdhi: remove unneeded clock connection ID
  mmc: sh_mobile_sdhi: fix clock frequency printing
  mmc: Remove redundant null check before kfree in bus.c
  mmc: Remove redundant null check before kfree in sdio_bus.c
  mmc: sdhci-imx-esdhc: use more devm_* functions
  mmc: dt: add no-1-8-v device tree flag
  ...
parents 29594404 71e69211
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -21,6 +21,12 @@ Optional properties:
- cd-inverted: when present, polarity on the cd gpio line is inverted
- wp-inverted: when present, polarity on the wp gpio line is inverted
- max-frequency: maximum operating clock frequency
- no-1-8-v: when present, denotes that 1.8v card voltage is not supported on
  this system, even if the controller claims it is.

Optional SDIO properties:
- keep-power-in-suspend: Preserves card power during a suspend/resume cycle
- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion

Example:

@@ -33,4 +39,6 @@ sdhci@ab000000 {
	cd-inverted;
	wp-gpios = <&gpio 70 0>;
	max-frequency = <50000000>;
	keep-power-in-suspend;
	enable-sdio-wakeup;
}
+13 −7
Original line number Diff line number Diff line
@@ -12,10 +12,6 @@ is used. The Samsung's SDHCI controller bindings extends this as listed below.
[A] The property "samsung,cd-pinmux-gpio" can be used as stated in the
    "Optional Board Specific Properties" section below.

[B] If core card-detect bindings and "samsung,cd-pinmux-gpio" property
    is not specified, it is assumed that there is no card detection
    mechanism used.

Required SoC Specific Properties:
- compatible: should be one of the following
  - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci
@@ -24,14 +20,18 @@ Required SoC Specific Properties:
    controller.

Required Board Specific Properties:
- Samsung GPIO variant (will be completely replaced by pinctrl):
  - gpios: Should specify the gpios used for clock, command and data lines. The
    gpio specifier format depends on the gpio controller.
- Pinctrl variant (preferred if available):
  - pinctrl-0: Should specify pin control groups used for this controller.
  - pinctrl-names: Should contain only one value - "default".

Optional Board Specific Properties:
- samsung,cd-pinmux-gpio: Specifies the card detect line that is routed
  through a pinmux to the card-detect pin of the card slot. This property
  should be used only if none of the mmc core card-detect properties are
  used.
  used. Only for Samsung GPIO variant.

Example:
	sdhci@12530000 {
@@ -40,12 +40,18 @@ Example:
		interrupts = <0 75 0>;
		bus-width = <4>;
		cd-gpios = <&gpk2 2 2 3 3>;

		/* Samsung GPIO variant */
		gpios = <&gpk2 0 2 0 3>,  /* clock line */
			<&gpk2 1 2 0 3>,  /* command line */
			<&gpk2 3 2 3 3>,  /* data line 0 */
			<&gpk2 4 2 3 3>,  /* data line 1 */
			<&gpk2 5 2 3 3>,  /* data line 2 */
			<&gpk2 6 2 3 3>;  /* data line 3 */

		/* Pinctrl variant */
		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>;
		pinctrl-names = "default";
	};

	Note: This example shows both SoC specific and board specific properties
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ ti,dual-volt: boolean, supports dual voltage cards
"supply-name" examples are "vmmc", "vmmc_aux" etc
ti,non-removable: non-removable slot (like eMMC)
ti,needs-special-reset: Requires a special softreset sequence
ti,needs-special-hs-handling: HSMMC IP needs special setting for handling High Speed

Example:
	mmc1: mmc@0x4809c000 {
+23 −0
Original line number Diff line number Diff line
* Wondermedia WM8505/WM8650 SD/MMC Host Controller

This file documents differences between the core properties described
by mmc.txt and the properties used by the wmt-sdmmc driver.

Required properties:
- compatible: Should be "wm,wm8505-sdhc".
- interrupts: Two interrupts are required - regular irq and dma irq.

Optional properties:
- sdon-inverted: SD_ON bit is inverted on the controller

Examples:

sdhc@d800a000 {
	compatible = "wm,wm8505-sdhc";
	reg = <0xd800a000 0x1000>;
	interrupts = <20 21>;
	clocks = <&sdhc>;
	bus-width = <4>;
	sdon-inverted;
};
Loading