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

Commit dee02770 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC updates from Ulf Hansson:
 "MMC core:
   - Introduce host claiming by context to support blkmq
   - Preparations for enabling CQE (eMMC CMDQ) requests
   - Re-factorizations to prepare for blkmq support
   - Re-factorizations to prepare for CQE support
   - Fix signal voltage switch for SD cards without power cycle
   - Convert RPMB to a character device
   - Export eMMC revision via sysfs
   - Support eMMC DT binding for fixed driver type
   - Document mmc_regulator_get_supply() API

 MMC host:
   - omap_hsmmc: Updated regulator management for PBIAS
   - sdhci-omap: Add new OMAP SDHCI driver
   - meson-mx-sdio: New driver for the Amlogic Meson8 and Meson8b SoCs
   - sdhci-pci: Add support for Intel CDF
   - sdhci-acpi: Fix voltage switch for some Intel host controllers
   - sdhci-msm: Enable delay circuit calibration clocks
   - sdhci-msm: Manage power IRQ properly
   - mediatek: Add support of mt2701/mt2712
   - mediatek: Updates management of clocks and tunings
   - mediatek: Upgrade eMMC HS400 support
   - rtsx_pci: Update tuning for gen3 PCI-Express
   - renesas_sdhi: Support R-Car Gen[123] fallback compatibility strings
   - Catch all errors when getting regulators
   - Various additional improvements and cleanups"

* tag 'mmc-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (91 commits)
  sdhci-fujitsu: add support for setting the CMD_DAT_DELAY attribute
  dt-bindings: sdhci-fujitsu: document cmd-dat-delay property
  mmc: tmio: Replace msleep() of 20ms or less with usleep_range()
  mmc: dw_mmc: Convert timers to use timer_setup()
  mmc: dw_mmc: Cleanup the DTO timer like the CTO one
  mmc: vub300: Use common code in __download_offload_pseudocode()
  mmc: tmio: Use common error handling code in tmio_mmc_host_probe()
  mmc: Convert timers to use timer_setup()
  mmc: sdhci-acpi: Fix voltage switch for some Intel host controllers
  mmc: sdhci-acpi: Let devices define their own private data
  mmc: mediatek: perfer to use rise edge latching for cmd line
  mmc: mediatek: improve eMMC hs400 mode read performance
  mmc: mediatek: add latch-ck support
  mmc: mediatek: add support of source_cg clock
  mmc: mediatek: add stop_clk fix and enhance_rx support
  mmc: mediatek: add busy_check support
  mmc: mediatek: add async fifo and data tune support
  mmc: mediatek: add pad_tune0 support
  mmc: mediatek: make hs400_tune_response only for mt8173
  arm64: dts: mt8173: remove "mediatek, mt8135-mmc" from mmc nodes
  ...
parents e4a8ca3b 06641e8d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
What:		/sys/bus/mmc/devices/.../rev
Date:		October 2017
Contact:	Jin Qian <jinqian@android.com>
Description:	Extended CSD revision number
+54 −0
Original line number Diff line number Diff line
* Amlogic Meson6, Meson8 and Meson8b SDIO/MMC controller

The highspeed MMC host controller on Amlogic SoCs provides an interface
for MMC, SD, SDIO and SDHC types of memory cards.

Supported maximum speeds are the ones of the eMMC standard 4.41 as well
as the speed of SD standard 2.0.

The hardware provides an internal "mux" which allows up to three slots
to be controlled. Only one slot can be accessed at a time.

Required properties:
 - compatible : must be one of
	- "amlogic,meson8-sdio"
	- "amlogic,meson8b-sdio"
	along with the generic "amlogic,meson-mx-sdio"
 - reg : mmc controller base registers
 - interrupts : mmc controller interrupt
 - #address-cells : must be 1
 - size-cells : must be 0
 - clocks : phandle to clock providers
 - clock-names : must contain "core" and "clkin"

Required child nodes:
A node for each slot provided by the MMC controller is required.
NOTE: due to a driver limitation currently only one slot (= child node)
      is supported!

Required properties on each child node (= slot):
 - compatible : must be "mmc-slot" (see mmc.txt within this directory)
 - reg : the slot (or "port") ID

Optional properties on each child node (= slot):
 - bus-width : must be 1 or 4 (8-bit bus is not supported)
 - for cd and all other additional generic mmc parameters
   please refer to mmc.txt within this directory

Examples:
	mmc@c1108c20 {
		compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio";
		reg = <0xc1108c20 0x20>;
		interrupts = <0 28 1>;
		#address-cells = <1>;
		#size-cells = <0>;
		clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>;
		clock-names = "core", "clkin";

		slot@1 {
			compatible = "mmc-slot";
			reg = <1>;

			bus-width = <4>;
		};
	};
+3 −0
Original line number Diff line number Diff line
@@ -53,6 +53,9 @@ Optional properties:
- no-sdio: controller is limited to send sdio cmd during initialization
- no-sd: controller is limited to send sd cmd during initialization
- no-mmc: controller is limited to send mmc cmd during initialization
- fixed-emmc-driver-type: for non-removable eMMC, enforce this driver type.
  The value <n> is the driver type as specified in the eMMC specification
  (table 206 in spec version 5.1).

*NOTE* on CD and WP polarity. To use common for all SD/MMC host controllers line
polarity properties, we have to fix the meaning of the "normal" and "inverted"
+15 −3
Original line number Diff line number Diff line
@@ -7,10 +7,18 @@ This file documents differences between the core properties in mmc.txt
and the properties used by the msdc driver.

Required properties:
- compatible: Should be "mediatek,mt8173-mmc","mediatek,mt8135-mmc"
- compatible: value should be either of the following.
	"mediatek,mt8135-mmc": for mmc host ip compatible with mt8135
	"mediatek,mt8173-mmc": for mmc host ip compatible with mt8173
	"mediatek,mt2701-mmc": for mmc host ip compatible with mt2701
	"mediatek,mt2712-mmc": for mmc host ip compatible with mt2712
- reg: physical base address of the controller and length
- interrupts: Should contain MSDC interrupt number
- clocks: MSDC source clock, HCLK
- clock-names: "source", "hclk"
- clocks: Should contain phandle for the clock feeding the MMC controller
- clock-names: Should contain the following:
	"source" - source clock (required)
	"hclk" - HCLK which used for host (required)
	"source_cg" - independent source clock gate (required for MT2712)
- pinctrl-names: should be "default", "state_uhs"
- pinctrl-0: should contain default/high speed pin ctrl
- pinctrl-1: should contain uhs mode pin ctrl
@@ -30,6 +38,10 @@ Optional properties:
- mediatek,hs400-cmd-resp-sel-rising:  HS400 command response sample selection
				       If present,HS400 command responses are sampled on rising edges.
				       If not present,HS400 command responses are sampled on falling edges.
- mediatek,latch-ck: Some SoCs do not support enhance_rx, need set correct latch-ck to avoid data crc
		     error caused by stop clock(fifo full)
		     Valid range = [0:0x7]. if not present, default value is 0.
		     applied to compatible "mediatek,mt2701-mmc".

Examples:
mmc0: mmc@11230000 {
+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ Required properties:
Optional properties:
- vqmmc-supply: phandle to the regulator device tree node, mentioned
  as the VCCQ/VDD_IO supply in the eMMC/SD specs.
- fujitsu,cmd-dat-delay-select: boolean property indicating that this host
  requires the CMD_DAT_DELAY control to be enabled.

Example:

Loading