diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-26 12:31:09 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-26 12:31:09 -0500 |
| commit | ed5dc2372dba46e0ecd08791b1a0399d313e5cff (patch) | |
| tree | 571319985b59a2963fb7580c24ee2aa1696359e2 | |
| parent | 0512c04a2b5d29a33d96d315e1d14c55f5148aa7 (diff) | |
| parent | 0e786102949d7461859c6ce9f39c2c8d28e42db3 (diff) | |
Merge tag 'mmc-updates-for-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc
Pull MMC update from Chris Ball:
"MMC highlights for 3.9:
Core:
- Support for packed commands in eMMC 4.5. (This requires a host
capability to be turned on. It increases write throughput by 20%+,
but may also increase average write latency; more testing needed.)
- Add DT bindings for capability flags.
- Add mmc_of_parse() for shared DT parsing between drivers.
Drivers:
- android-goldfish: New MMC driver for the Android Goldfish emulator.
- mvsdio: Add DT bindings, pinctrl, use slot-gpio for card detection.
- omap_hsmmc: Fix boot hangs with RPMB partitions.
- sdhci-bcm2835: New driver for controller used by Raspberry Pi.
- sdhci-esdhc-imx: Add 8-bit data, auto CMD23 support, use slot-gpio.
- sh_mmcif: Add support for eMMC DDR, bundled MMCIF IRQs.
- tmio_mmc: Add DT bindings, support for vccq regulator"
* tag 'mmc-updates-for-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (92 commits)
mmc: tegra: assume CONFIG_OF, remove platform data
mmc: add DT bindings for more MMC capability flags
mmc: tmio: add support for the VccQ regulator
mmc: tmio: remove unused and deprecated symbols
mmc: sh_mobile_sdhi: use managed resource allocations
mmc: sh_mobile_sdhi: remove unused .pdata field
mmc: tmio-mmc: parse device-tree bindings
mmc: tmio-mmc: define device-tree bindings
mmc: sh_mmcif: use mmc_of_parse() to parse standard MMC DT bindings
mmc: (cosmetic) remove "extern" from function declarations
mmc: provide a standard MMC device-tree binding parser centrally
mmc: detailed definition of CD and WP MMC line polarities in DT
mmc: sdhi, tmio: only check flags in tmio-mmc driver proper
mmc: sdhci: Fix parameter of sdhci_do_start_signal_voltage_switch()
mmc: sdhci: check voltage range only on regulators aware of voltage value
mmc: bcm2835: set SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK
mmc: support packed write command for eMMC4.5 devices
mmc: add packed command feature of eMMC4.5
mmc: rtsx: remove driving adjustment
mmc: use regulator_can_change_voltage() instead of regulator_count_voltages
...
53 files changed, 3064 insertions, 882 deletions
diff --git a/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhci.txt b/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhci.txt new file mode 100644 index 000000000000..59476fbdbfa1 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhci.txt | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | Broadcom BCM2835 SDHCI controller | ||
| 2 | |||
| 3 | This file documents differences between the core properties described | ||
| 4 | by mmc.txt and the properties that represent the BCM2835 controller. | ||
| 5 | |||
| 6 | Required properties: | ||
| 7 | - compatible : Should be "brcm,bcm2835-sdhci". | ||
| 8 | - clocks : The clock feeding the SDHCI controller. | ||
| 9 | |||
| 10 | Example: | ||
| 11 | |||
| 12 | sdhci: sdhci { | ||
| 13 | compatible = "brcm,bcm2835-sdhci"; | ||
| 14 | reg = <0x7e300000 0x100>; | ||
| 15 | interrupts = <2 30>; | ||
| 16 | clocks = <&clk_mmc>; | ||
| 17 | bus-width = <4>; | ||
| 18 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt index a591c6741d75..85aada2263d5 100644 --- a/Documentation/devicetree/bindings/mmc/mmc.txt +++ b/Documentation/devicetree/bindings/mmc/mmc.txt | |||
| @@ -6,23 +6,45 @@ Interpreted by the OF core: | |||
| 6 | - reg: Registers location and length. | 6 | - reg: Registers location and length. |
| 7 | - interrupts: Interrupts used by the MMC controller. | 7 | - interrupts: Interrupts used by the MMC controller. |
| 8 | 8 | ||
| 9 | Required properties: | ||
| 10 | - bus-width: Number of data lines, can be <1>, <4>, or <8> | ||
| 11 | |||
| 12 | Card detection: | 9 | Card detection: |
| 13 | If no property below is supplied, standard SDHCI card detect is used. | 10 | If no property below is supplied, host native card detect is used. |
| 14 | Only one of the properties in this section should be supplied: | 11 | Only one of the properties in this section should be supplied: |
| 15 | - broken-cd: There is no card detection available; polling must be used. | 12 | - broken-cd: There is no card detection available; polling must be used. |
| 16 | - cd-gpios: Specify GPIOs for card detection, see gpio binding | 13 | - cd-gpios: Specify GPIOs for card detection, see gpio binding |
| 17 | - non-removable: non-removable slot (like eMMC); assume always present. | 14 | - non-removable: non-removable slot (like eMMC); assume always present. |
| 18 | 15 | ||
| 19 | Optional properties: | 16 | Optional properties: |
| 17 | - bus-width: Number of data lines, can be <1>, <4>, or <8>. The default | ||
| 18 | will be <1> if the property is absent. | ||
| 20 | - wp-gpios: Specify GPIOs for write protection, see gpio binding | 19 | - wp-gpios: Specify GPIOs for write protection, see gpio binding |
| 21 | - cd-inverted: when present, polarity on the cd gpio line is inverted | 20 | - cd-inverted: when present, polarity on the CD line is inverted. See the note |
| 22 | - wp-inverted: when present, polarity on the wp gpio line is inverted | 21 | below for the case, when a GPIO is used for the CD line |
| 22 | - wp-inverted: when present, polarity on the WP line is inverted. See the note | ||
| 23 | below for the case, when a GPIO is used for the WP line | ||
| 23 | - max-frequency: maximum operating clock frequency | 24 | - max-frequency: maximum operating clock frequency |
| 24 | - no-1-8-v: when present, denotes that 1.8v card voltage is not supported on | 25 | - no-1-8-v: when present, denotes that 1.8v card voltage is not supported on |
| 25 | this system, even if the controller claims it is. | 26 | this system, even if the controller claims it is. |
| 27 | - cap-sd-highspeed: SD high-speed timing is supported | ||
| 28 | - cap-mmc-highspeed: MMC high-speed timing is supported | ||
| 29 | - cap-power-off-card: powering off the card is safe | ||
| 30 | - cap-sdio-irq: enable SDIO IRQ signalling on this interface | ||
| 31 | |||
| 32 | *NOTE* on CD and WP polarity. To use common for all SD/MMC host controllers line | ||
| 33 | polarity properties, we have to fix the meaning of the "normal" and "inverted" | ||
| 34 | line levels. We choose to follow the SDHCI standard, which specifies both those | ||
| 35 | lines as "active low." Therefore, using the "cd-inverted" property means, that | ||
| 36 | the CD line is active high, i.e. it is high, when a card is inserted. Similar | ||
| 37 | logic applies to the "wp-inverted" property. | ||
| 38 | |||
| 39 | CD and WP lines can be implemented on the hardware in one of two ways: as GPIOs, | ||
| 40 | specified in cd-gpios and wp-gpios properties, or as dedicated pins. Polarity of | ||
| 41 | dedicated pins can be specified, using *-inverted properties. GPIO polarity can | ||
| 42 | also be specified using the OF_GPIO_ACTIVE_LOW flag. This creates an ambiguity | ||
| 43 | in the latter case. We choose to use the XOR logic for GPIO CD and WP lines. | ||
| 44 | This means, the two properties are "superimposed," for example leaving the | ||
| 45 | OF_GPIO_ACTIVE_LOW flag clear and specifying the respective *-inverted | ||
| 46 | property results in a double-inversion and actually means the "normal" line | ||
| 47 | polarity is in effect. | ||
| 26 | 48 | ||
| 27 | Optional SDIO properties: | 49 | Optional SDIO properties: |
| 28 | - keep-power-in-suspend: Preserves card power during a suspend/resume cycle | 50 | - keep-power-in-suspend: Preserves card power during a suspend/resume cycle |
diff --git a/Documentation/devicetree/bindings/mmc/orion-sdio.txt b/Documentation/devicetree/bindings/mmc/orion-sdio.txt new file mode 100644 index 000000000000..84f0ebd67a13 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/orion-sdio.txt | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | * Marvell orion-sdio controller | ||
| 2 | |||
| 3 | This file documents differences between the core properties in mmc.txt | ||
| 4 | and the properties used by the orion-sdio driver. | ||
| 5 | |||
| 6 | - compatible: Should be "marvell,orion-sdio" | ||
| 7 | - clocks: reference to the clock of the SDIO interface | ||
