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

Commit 5233c331 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC updates from Ulf Hansson:
 "It's been an busy period for mmc. Quite some changes in the mmc core,
  two new mmc host drivers, some existing drivers being extended to
  support new IP versions and lots of other updates.

  MMC core:
   - Delete eMMC packed command support
   - Introduce mmc_abort_tuning() to enable eMMC tuning to fail
     gracefully
   - Introduce mmc_can_retune() to see if a host can be retuned
   - Re-work and improve the sequence when sending a CMD6 for mmc
   - Enable CDM13 polling when switching to HS and HS DDR mode for mmc
   - Relax checking for CMD6 errors after switch to HS200
   - Re-factoring the code dealing with the mmc block queue
   - Recognize whether the eMMC card supports CMDQ
   - Fix 4K native sector check
   - Don't power off the card when starting the host
   - Increase MMC_IOC_MAX_BYTES to support bigger firmware binaries
   - Improve error handling and drop meaningless BUG_ONs()
   - Lots of clean-ups and changes to improve the quality of the code

  MMC host:
   - sdhci: Fix tuning sequence and clean-up the related code
   - sdhci: Add support to via DT override broken SDHCI cap register
     bits
   - sdhci-cadence: Add new driver for Cadence SD4HC SDHCI variant
   - sdhci-msm: Update clock management
   - sdhci-msm: Add support for eMMC HS400 mode
   - sdhci-msm: Deploy runtime/system PM support
   - sdhci-iproc: Extend driver support to newer IP versions
   - sdhci-pci: Add support for Intel GLK
   - sdhci-pci: Add support for Intel NI byt sdio
   - sdhci-acpi: Add support for 80860F14 UID 2 SDIO bus
   - sdhci: Lots of various small improvements and clean-ups
   - tmio: Add support for tuning
   - sh_mobile_sdhi: Add support for tuning
   - sh_mobile_sdhi: Extend driver to support SDHI IP on R7S72100 SoC
   - sh_mobile_sdhi: remove support for sh7372
   - davinci: Use mmc_of_parse() to enable generic mmc DT bindings
   - meson: Add new driver to support GX platforms
   - dw_mmc: Deploy generic runtime/system PM support
   - dw_mmc: Lots of various small improvements

  As a part of the mmc changes this time, I have also pulled in an
  immutable branch/tag (soc-device-match-tag1) hosted by Geert
  Uytterhoeven, to share the implementation of the new
  soc_device_match() interface. This is needed by these mmc related
  changes:

   - mmc: sdhci-of-esdhc: Get correct IP version for T4240-R1.0-R2.0
   - soc: fsl: add GUTS driver for QorIQ platforms"

* tag 'mmc-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (136 commits)
  mmc: sdhci-cadence: add Cadence SD4HC support
  mmc: sdhci: export sdhci_execute_tuning()
  mmc: sdhci: Tidy tuning loop
  mmc: sdhci: Simplify tuning block size logic
  mmc: sdhci: Factor out tuning helper functions
  mmc: sdhci: Use mmc_abort_tuning()
  mmc: mmc: Introduce mmc_abort_tuning()
  mmc: sdhci: Always allow tuning to fall back to fixed sampling
  mmc: sdhci: Fix tuning reset after exhausting the maximum number of loops
  mmc: sdhci: Fix recovery from tuning timeout
  Revert "mmc: sdhci: Reset cmd and data circuits after tuning failure"
  mmc: mmc: Relax checking for switch errors after HS200 switch
  mmc: sdhci-acpi: support 80860F14 UID 2 SDIO bus
  mmc: sdhci-of-at91: remove bogus MMC_SDHCI_IO_ACCESSORS select
  mmc: sdhci-pci: Use ACPI to get max frequency for Intel NI byt sdio
  mmc: sdhci-pci: Add PCI ID for Intel NI byt sdio
  mmc: sdhci-s3c: add spin_unlock_irq() before calling clk_round_rate
  mmc: dw_mmc: display the clock message only one time when card is polling
  mmc: dw_mmc: add the debug message for polling and non-removable
  mmc: dw_mmc: check the "present" variable before checking flags
  ...
parents 58f253d2 ff6af28f
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
Amlogic SD / eMMC controller for S905/GXBB family SoCs

The MMC 5.1 compliant host controller on Amlogic provides the
interface for SD, eMMC and SDIO devices.

This file documents the properties in addition to those available in
the MMC core bindings, documented by mmc.txt.

Required properties:
- compatible : contains one of:
  - "amlogic,meson-gx-mmc"
  - "amlogic,meson-gxbb-mmc"
  - "amlogic,meson-gxl-mmc"
  - "amlogic,meson-gxm-mmc"
- clocks     : A list of phandle + clock-specifier pairs for the clocks listed in clock-names.
- clock-names: Should contain the following:
	"core" - Main peripheral bus clock
	"clkin0" - Parent clock of internal mux
	"clkin1" - Other parent clock of internal mux
  The driver has an interal mux clock which switches between clkin0 and clkin1 depending on the
  clock rate requested by the MMC core.

Example:

	sd_emmc_a: mmc@70000 {
		compatible = "amlogic,meson-gxbb-mmc";
		reg = <0x0 0x70000 0x0 0x2000>;
		interrupts = < GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
		clocks = <&clkc CLKID_SD_EMMC_A>, <&xtal>, <&clkc CLKID_FCLK_DIV2>;
		clock-names = "core", "clkin0", "clkin1";
		pinctrl-0 = <&emmc_pins>;
	};
+9 −0
Original line number Diff line number Diff line
@@ -7,6 +7,15 @@ Required properties:
- compatible : Should be one of the following
	       "brcm,bcm2835-sdhci"
	       "brcm,sdhci-iproc-cygnus"
	       "brcm,sdhci-iproc"

Use brcm2835-sdhci for Rasperry PI.

Use sdhci-iproc-cygnus for Broadcom SDHCI Controllers
restricted to 32bit host accesses to SDHCI registers.

Use sdhci-iproc for Broadcom SDHCI Controllers that allow standard
8, 16, 32-bit host access to SDHCI register.

- clocks : The clock feeding the SDHCI controller.

+3 −0
Original line number Diff line number Diff line
@@ -8,11 +8,14 @@ Required properties:

- compatible: should be "renesas,mmcif-<soctype>", "renesas,sh-mmcif" as a
  fallback. Examples with <soctype> are:
	- "renesas,mmcif-r8a73a4" for the MMCIF found in r8a73a4 SoCs
	- "renesas,mmcif-r8a7740" for the MMCIF found in r8a7740 SoCs
	- "renesas,mmcif-r8a7778" for the MMCIF found in r8a7778 SoCs
	- "renesas,mmcif-r8a7790" for the MMCIF found in r8a7790 SoCs
	- "renesas,mmcif-r8a7791" for the MMCIF found in r8a7791 SoCs
	- "renesas,mmcif-r8a7793" for the MMCIF found in r8a7793 SoCs
	- "renesas,mmcif-r8a7794" for the MMCIF found in r8a7794 SoCs
	- "renesas,mmcif-sh73a0" for the MMCIF found in sh73a0 SoCs

- clocks: reference to the functional clock

+30 −0
Original line number Diff line number Diff line
* Cadence SD/SDIO/eMMC Host Controller

Required properties:
- compatible: should be "cdns,sd4hc".
- reg: offset and length of the register set for the device.
- interrupts: a single interrupt specifier.
- clocks: phandle to the input clock.

Optional properties:
For eMMC configuration, supported speed modes are not indicated by the SDHCI
Capabilities Register.  Instead, the following properties should be specified
if supported.  See mmc.txt for details.
- mmc-ddr-1_8v
- mmc-ddr-1_2v
- mmc-hs200-1_8v
- mmc-hs200-1_2v
- mmc-hs400-1_8v
- mmc-hs400-1_2v

Example:
	emmc: sdhci@5a000000 {
		compatible = "cdns,sd4hc";
		reg = <0x5a000000 0x400>;
		interrupts = <0 78 4>;
		clocks = <&clk 4>;
		bus-width = <8>;
		mmc-ddr-1_8v;
		mmc-hs200-1_8v;
		mmc-hs400-1_8v;
	};
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ Required properties:
	"iface" - Main peripheral bus clock (PCLK/HCLK - AHB Bus clock) (required)
	"core"	- SDC MMC clock (MCLK) (required)
	"bus"	- SDCC bus voter clock (optional)
	"xo"	- TCXO clock (optional)

Example:

Loading