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

Commit 8d9095c6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC updates from Ulf Hansson:
 "MMC core:
   - Add support for marking HPI as broken through devicetree
   - Enable runtime PM management of host devices
   - Remove the ->enable|disable() callbacks
   - Restructure code and cleanups
   - Refreshed some of the MMC sections in MAINTAINERS

  MMC host:
   - dw_mmc: HS400 mode support
   - dw_mmc: Add the cmd11 timer to detect a timeout
   - dw_mmc: Endian agnostic IO accessors
   - dw_mmc: Bugfixes
   - sh_mmcif: Add exclusion between cmd and interrupt
   - omap_hsmmc: Hibernation support
   - omap_hsmmc: Rework and simplify cover/card detect
   - omap_hsmmc: Stop using ->enable|disable() callbacks
   - atmel-mci: Endian agnostic IO
   - sunxi: Enable MMC_CAP_SDIO_IRQ
   - sdhci-st: Add support for the stih407 family silicon
   - sdhci-st: UHS card support in SDR104 mode
   - sdhci-st: HS200 mode support
   - sdhci-esdhc-imx: Use common mmc DT parser
   - sdhci-of-arasan: Use common mmc DT parser
   - sdhci-iproc: Add new driver for Broadcom IPROC SDHCI controller
   - sdhci-tegra: Convert to GPIO descriptors
   - sdhci-tegra: Optmize write_w path for tegra114 and later
   - sdhci-sirf: Update tuning procedure
   - sdhci: Fix card presence logic
   - sdhci: Cleanups and consolidation"

* tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc: (79 commits)
  mmc: sdhci-st: Update ST SDHCI binding documentation.
  mmc: sdhci-st: Update the quirks for this controller.
  mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function.
  mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue registers.
  mmc: sdhci-st: Add delay management functions for top registers (eMMC).
  mmc: sdhci-st: Add support for de-asserting reset signal and top regs resource
  mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss glue regs
  mmc: sdhci-esdhc-imx: Call mmc_of_parse()
  mmc: dw_mmc: Add locking around cmd11 timer
  mmc: dw_mmc: Add a return in an unexpected cmd11 timeout
  mmc: dw_mmc: Increase cmd11 timeout to 500ms
  mmc: dw_mmc: fix fifo ordering in big endian
  mmc: dw_mmc: change idmac descriptor files to __le32
  mmc: dw_mmc: make IO accessors endian agnostic
  mmc: core: Convert the error field in struct mmc_command|data into an int
  mmc: sdhci-of-arasan: Call OF parsing for MMC
  mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx
  mmc: Add support for marking hpi as broken through devicetree
  mmc: sdhci-tegra: convert to use GPIO descriptors
  mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin
  ...
parents 1a370f4c 69f0fb2a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -187,6 +187,10 @@ N: Krishna Balasubramanian
E: balasub@cis.ohio-state.edu
D: Wrote SYS V IPC (part of standard kernel since 0.99.10)

N: Chris Ball
E: chris@printf.net
D: Former maintainer of the MMC/SD/SDIO subsystem.

N: Dario Ballabio
E: ballabio_dario@emc.com
E: dario.ballabio@tiscalinet.it
+23 −0
Original line number Diff line number Diff line
Broadcom IPROC SDHCI controller

This file documents differences between the core properties described
by mmc.txt and the properties that represent the IPROC SDHCI controller.

Required properties:
- compatible : Should be "brcm,sdhci-iproc-cygnus".
- clocks : The clock feeding the SDHCI controller.

Optional properties:
  - sdhci,auto-cmd12: specifies that controller should use auto CMD12.

Example:

sdhci0: sdhci@0x18041000 {
	compatible = "brcm,sdhci-iproc-cygnus";
	reg = <0x18041000 0x100>;
	interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
	clocks = <&lcpll0_clks BCM_CYGNUS_LCPLL0_SDIO_CLK>;
	bus-width = <4>;
	sdhci,auto-cmd12;
	no-1-8-v;
};
+7 −0
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@ Required Properties:
  in transmit mode and CIU clock phase shift value in receive mode for double
  data rate mode operation. Refer notes below for the order of the cells and the
  valid values.
* samsung,dw-mshc-hs400-timing: Specifies the value of CIU TX and RX clock phase
  shift value for hs400 mode operation.

  Notes for the sdr-timing and ddr-timing values:

@@ -50,6 +52,9 @@ Required Properties:
      - if CIU clock divider value is 0 (that is divide by 1), both tx and rx
        phase shift clocks should be 0.

* samsung,read-strobe-delay: RCLK (Data strobe) delay to control HS400 mode
  (Latency value for delay line in Read path)

Required properties for a slot (Deprecated - Recommend to use one slot per host):

* gpios: specifies a list of gpios used for command, clock and data bus. The
@@ -82,5 +87,7 @@ Example:
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <2 3>;
		samsung,dw-mshc-ddr-timing = <1 2>;
		samsung,dw-mshc-hs400-timing = <0 2>;
		samsung,read-strobe-delay = <90>;
		bus-width = <8>;
	};
+4 −0
Original line number Diff line number Diff line
@@ -17,6 +17,10 @@ Optional properties:
  to select a proper data sampling window in case the clock quality is not good
  due to signal path is too long on the board. Please refer to eSDHC/uSDHC
  chapter, DLL (Delay Line) section in RM for details.
- voltage-ranges : Specify the voltage range in case there are software
  transparent level shifters on the outputs of the controller. Two cells are
  required, first cell specifies minimum slot voltage (mV), second cell
  specifies maximum slot voltage (mV). Several ranges could be specified.

Examples:

+31 −0
Original line number Diff line number Diff line
mmc-card / eMMC bindings
------------------------

This documents describes the devicetree bindings for a mmc-host controller
child node describing a mmc-card / an eMMC, see "Use of Function subnodes"
in mmc.txt

Required properties:
-compatible : Must be "mmc-card"
-reg        : Must be <0>

Optional properties:
-broken-hpi : Use this to indicate that the mmc-card has a broken hpi
              implementation, and that hpi should not be used

Example:

&mmc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc2_pins_a>;
	vmmc-supply = <&reg_vcc3v3>;
	bus-width = <8>;
	non-removable;
	status = "okay";

	mmccard: mmccard@0 {
		reg = <0>;
		compatible = "mmc-card";
		broken-hpi;
	};
};
Loading