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 /Documentation/devicetree | |
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
...
Diffstat (limited to 'Documentation/devicetree')
5 files changed, 93 insertions, 8 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 | ||
8 | |||
9 | Example: | ||
10 | |||
11 | mvsdio@d00d4000 { | ||
12 | compatible = "marvell,orion-sdio"; | ||
13 | reg = <0xd00d4000 0x200>; | ||
14 | interrupts = <54>; | ||
15 | clocks = <&gateclk 17>; | ||
16 | status = "disabled"; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt index 06cd32d08052..726fd2122a13 100644 --- a/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt +++ b/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt | |||
@@ -26,8 +26,16 @@ Required Properties: | |||
26 | * bus-width: as documented in mmc core bindings. | 26 | * bus-width: as documented in mmc core bindings. |
27 | 27 | ||
28 | * wp-gpios: specifies the write protect gpio line. The format of the | 28 | * wp-gpios: specifies the write protect gpio line. The format of the |
29 | gpio specifier depends on the gpio controller. If the write-protect | 29 | gpio specifier depends on the gpio controller. If a GPIO is not used |
30 | line is not available, this property is optional. | 30 | for write-protect, this property is optional. |
31 | |||
32 | * disable-wp: If the wp-gpios property isn't present then (by default) | ||
33 | we'd assume that the write protect is hooked up directly to the | ||
34 | controller's special purpose write protect line (accessible via | ||
35 | the WRTPRT register). However, it's possible that we simply don't | ||
36 | want write protect. In that case specify 'disable-wp'. | ||
37 | NOTE: This property is not required for slots known to always | ||
38 | connect to eMMC or SDIO cards. | ||
31 | 39 | ||
32 | Optional properties: | 40 | Optional properties: |
33 | 41 | ||
diff --git a/Documentation/devicetree/bindings/mmc/tmio_mmc.txt b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt new file mode 100644 index 000000000000..df204e18e030 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/tmio_mmc.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | * Toshiba Mobile IO SD/MMC controller | ||
2 | |||
3 | The tmio-mmc driver doesn't probe its devices actively, instead its binding to | ||
4 | devices is managed by either MFD drivers or by the sh_mobile_sdhi platform | ||
5 | driver. Those drivers supply the tmio-mmc driver with platform data, that either | ||
6 | describe hardware capabilities, known to them, or are obtained by them from | ||
7 | their own platform data or from their DT information. In the latter case all | ||
8 | compulsory and any optional properties, common to all SD/MMC drivers, as | ||
9 | described in mmc.txt, can be used. Additionally the following tmio_mmc-specific | ||
10 | optional bindings can be used. | ||
11 | |||
12 | Optional properties: | ||
13 | - toshiba,mmc-wrprotect-disable: write-protect detection is unavailable | ||
14 | |||
15 | When used with Renesas SDHI hardware, the following compatibility strings | ||
16 | configure various model-specific properties: | ||
17 | |||
18 | "renesas,sh7372-sdhi": (default) compatible with SH7372 | ||
19 | "renesas,r8a7740-sdhi": compatible with R8A7740: certain MMC/SD commands have to | ||
20 | wait for the interface to become idle. | ||