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

Commit dc73d6a8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC updates from Ulf Hansson:
 "MMC core:
   - Export host capabilities through debugfs
   - Export card RCA register via sysfs
   - Improve card initializing sequence while enabling 4-bit bus
   - Export a function to enable/disable wakeup for card detect IRQ

  MMC host:
   - dw_mmc: Add support for new hi3798cv200 variant
   - dw_mmc: Remove support for some deprecated DT properties
   - mediatek: Add support for new variant used on MT7622 SoC
   - sdhci: Improve wakeup support for SDIO IRQs
   - sdhci: Improve wakeup support for card detect IRQs
   - sdhci-omap: Add tuning support
   - sdhci_omap: Add UHS-I mode support
   - sunxi: Prepare for runtime PM support via a few re-factorings
   - tmio: deprecate "toshiba,mmc-wrprotect-disable" DT property
   - tmio/renesas_sdhi: Consolidate code supporting write protect
   - tmio: Improve DMA vs PIO handling
   - tmio: Add support for IP-builtin card detection logic"

* tag 'mmc-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (55 commits)
  mmc: renesas_sdhi: replace EXT_ACC with HOST_MODE
  mmc: update sdio_claim_irq documentation
  mmc: Export host capabilities to debugfs.
  mmc: core: Disable HPI for certain Micron (Numonyx) eMMC cards
  mmc: block: fix updating ext_csd caches on ioctl call
  mmc: sunxi: Set our device drvdata earlier
  mmc: sunxi: Move the reset deassertion before enabling the clocks
  mmc: sunxi: Move resources management to separate functions
  mmc: dw_mmc: add support for hi3798cv200 specific extensions of dw-mshc
  dt-bindings: mmc: add bindings for hi3798cv200-dw-mshc
  mmc: core: Export card RCA register via sysfs
  mmc: renesas_sdhi: fix WP detection
  mmc: core: Use memdup_user() rather than duplicating its implementation
  mmc: dw_mmc-rockchip: correct property names in debug
  mmc: sd: Remove redundant err assignment from mmc_read_switch
  mmc: sdio: Check the return value of sdio_enable_4bit_bus
  mmc: core: Don't try UHS-I mode if 4-bit mode isn't supported
  arm64: dts: hi3660: remove 'num-slots' property for dwmmc
  ARM: dts: lpc18xx: remove 'num-slots' property for dwmmc
  arm64: dts: stratix10: remove 'num-slots' property for dwmmc
  ...
parents dabe5184 4472f0fc
Loading
Loading
Loading
Loading
+40 −0
Original line number Original line Diff line number Diff line
* Hisilicon Hi3798CV200 specific extensions to the Synopsys Designware Mobile
  Storage Host Controller

Read synopsys-dw-mshc.txt for more details

The Synopsys designware mobile storage host controller is used to interface
a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
differences between the core Synopsys dw mshc controller properties described
by synopsys-dw-mshc.txt and the properties used by the Hisilicon Hi3798CV200
specific extensions to the Synopsys Designware Mobile Storage Host Controller.

Required Properties:
- compatible: Should contain "hisilicon,hi3798cv200-dw-mshc".
- clocks: A list of phandle + clock-specifier pairs for the clocks listed
  in clock-names.
- clock-names: Should contain the following:
	"ciu" - The ciu clock described in synopsys-dw-mshc.txt.
	"biu" - The biu clock described in synopsys-dw-mshc.txt.
	"ciu-sample" - Hi3798CV200 extended phase clock for ciu sampling.
	"ciu-drive"  - Hi3798CV200 extended phase clock for ciu driving.

Example:

	emmc: mmc@9830000 {
		compatible = "hisilicon,hi3798cv200-dw-mshc";
		reg = <0x9830000 0x10000>;
		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&crg HISTB_MMC_CIU_CLK>,
			 <&crg HISTB_MMC_BIU_CLK>,
			 <&crg HISTB_MMC_SAMPLE_CLK>,
			 <&crg HISTB_MMC_DRV_CLK>;
		clock-names = "ciu", "biu", "ciu-sample", "ciu-drive";
		fifo-depth = <256>;
		clock-frequency = <200000000>;
		cap-mmc-highspeed;
		mmc-ddr-1_8v;
		mmc-hs200-1_8v;
		non-removable;
		bus-width = <8>;
	};
+1 −0
Original line number Original line Diff line number Diff line
@@ -12,6 +12,7 @@ Required properties:
	"mediatek,mt8173-mmc": for mmc host ip compatible with mt8173
	"mediatek,mt8173-mmc": for mmc host ip compatible with mt8173
	"mediatek,mt2701-mmc": for mmc host ip compatible with mt2701
	"mediatek,mt2701-mmc": for mmc host ip compatible with mt2701
	"mediatek,mt2712-mmc": for mmc host ip compatible with mt2712
	"mediatek,mt2712-mmc": for mmc host ip compatible with mt2712
	"mediatek,mt7622-mmc": for MT7622 SoC
	"mediatek,mt7623-mmc", "mediatek,mt2701-mmc": for MT7623 SoC
	"mediatek,mt7623-mmc", "mediatek,mt2701-mmc": for MT7623 SoC


- reg: physical base address of the controller and length
- reg: physical base address of the controller and length
+0 −9
Original line number Original line Diff line number Diff line
@@ -59,15 +59,6 @@ Optional properties:
  is specified and the ciu clock is specified then we'll try to set the ciu
  is specified and the ciu clock is specified then we'll try to set the ciu
  clock to this at probe time.
  clock to this at probe time.


* clock-freq-min-max (DEPRECATED): Minimum and Maximum clock frequency for card output
  clock(cclk_out). If it's not specified, max is 200MHZ and min is 400KHz by default.
	  (Use the "max-frequency" instead of "clock-freq-min-max".)

* num-slots (DEPRECATED): specifies the number of slots supported by the controller.
  The number of physical slots actually used could be equal or less than the
  value specified by num-slots. If this property is not specified, the value
  of num-slot property is assumed to be 1.

* fifo-depth: The maximum size of the tx/rx fifo's. If this property is not
* fifo-depth: The maximum size of the tx/rx fifo's. If this property is not
  specified, the default value of the fifo size is determined from the
  specified, the default value of the fifo size is determined from the
  controller registers.
  controller registers.
+0 −1
Original line number Original line Diff line number Diff line
@@ -50,7 +50,6 @@ Required properties:
	  2: R7S72100
	  2: R7S72100


Optional properties:
Optional properties:
- toshiba,mmc-wrprotect-disable: write-protect detection is unavailable
- pinctrl-names: should be "default", "state_uhs"
- pinctrl-names: should be "default", "state_uhs"
- pinctrl-0: should contain default/high speed pin ctrl
- pinctrl-0: should contain default/high speed pin ctrl
- pinctrl-1: should contain uhs mode pin ctrl
- pinctrl-1: should contain uhs mode pin ctrl
+0 −1
Original line number Original line Diff line number Diff line
@@ -115,7 +115,6 @@
			compatible = "snps,dw-mshc";
			compatible = "snps,dw-mshc";
			reg = <0x40004000 0x1000>;
			reg = <0x40004000 0x1000>;
			interrupts = <6>;
			interrupts = <6>;
			num-slots = <1>;
			clocks = <&ccu2 CLK_SDIO>, <&ccu1 CLK_CPU_SDIO>;
			clocks = <&ccu2 CLK_SDIO>, <&ccu1 CLK_CPU_SDIO>;
			clock-names = "ciu", "biu";
			clock-names = "ciu", "biu";
			resets = <&rgu 20>;
			resets = <&rgu 20>;
Loading