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

Commit 6c52486d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'mmc-v3.16-1' of git://git.linaro.org/people/ulf.hansson/mmc into next

Pull MMC update from Ulf Hansson:
 "These patches are mainly updates for the mmci driver and have been
  tested in linux-next.

  Some ARM SoC related patches are also included and those have been
  acked from the corresponding maintainers to go through my mmc tree.

  Updates for mmci driver:
   - Put the device into low power state at system suspend.
   - Convert to the common mmc DT parser.
   - Add missing DT bindings needed for ux500.

  Updates for ARM ux500|u300:
   - Convert to the common mmc DT bindings.
   - Remove redundant board file for mmci platform data"

* tag 'mmc-v3.16-1' of git://git.linaro.org/people/ulf.hansson/mmc: (22 commits)
  mmc: mmci: Enforce DMA configuration through DT
  mmc: mmci: Enforce max frequency configuration through DT
  mmc: mmci: Enforce mmc capabilities through DT
  mmc: mmci: Enforce DT for signal direction and feedback clock
  ARM: ux500: Remove redundant board file for mmci platform data
  ARM: ux500: Add a vmmc regulator through DT for the poped eMMC for href
  ARM: ux500: Add the mmc capabilities flags to DT
  mmc: mmci: Enable MMC_CAP_CMD23
  mmc: mmci: Mark the DT bindings for highspeed mode as deprecated
  ARM: u300: Convert to the common mmc DT bindings for highspeed mode
  ARM: nomadik: Convert to the common mmc DT bindings for highspeed mode
  ARM: ux500: Convert to the common mmc DT bindings for highspeed mode
  ARM: ux500: Add mmci signal directions and feeback clock in DT for href
  mmc: mmci: Use the common mmc DT parser
  mmc: mmci: Add DT bindings for feedback clock pin
  mmc: mmci: Add DT bindings for signal direction
  mmc: mmci: Update DT documentation
  mmc: mmci: Convert to devm functions
  mmc: mmci: Convert to the mmc gpio API
  mmc: mmci: Put the device into low power state at system suspend
  ...
parents c9733c79 8c3a05b4
Loading
Loading
Loading
Loading
+50 −4
Original line number Diff line number Diff line
@@ -4,12 +4,58 @@ The ARM PrimeCell MMCI PL180 and PL181 provides an interface for
reading and writing to MultiMedia and SD cards alike.

This file documents differences between the core properties described
by mmc.txt and the properties used by the mmci driver.
by mmc.txt and the properties used by the mmci driver. Using "st" as
the prefix for a property, indicates support by the ST Micro variant.

Required properties:
- compatible             : contains "arm,pl18x", "arm,primecell".
- arm,primecell-periphid : contains the PrimeCell Peripheral ID.
- vmmc-supply            : phandle to the regulator device tree node, mentioned
                           as the VCC/VDD supply in the eMMC/SD specs.

Optional properties:
- mmc-cap-mmc-highspeed  : indicates whether MMC is high speed capable
- mmc-cap-sd-highspeed   : indicates whether SD is high speed capable
- arm,primecell-periphid : contains the PrimeCell Peripheral ID, it overrides
                           the ID provided by the HW
- vqmmc-supply           : phandle to the regulator device tree node, mentioned
                           as the VCCQ/VDD_IO supply in the eMMC/SD specs.
- st,sig-dir-dat0        : bus signal direction pin used for DAT[0].
- st,sig-dir-dat2        : bus signal direction pin used for DAT[2].
- st,sig-dir-dat31       : bus signal direction pin used for DAT[3] and DAT[1].
- st,sig-dir-dat74       : bus signal direction pin used for DAT[4] to DAT[7].
- st,sig-dir-cmd         : cmd signal direction pin used for CMD.
- st,sig-pin-fbclk       : feedback clock signal pin used.

Deprecated properties:
- mmc-cap-mmc-highspeed  : indicates whether MMC is high speed capable.
- mmc-cap-sd-highspeed   : indicates whether SD is high speed capable.

Example:

sdi0_per1@80126000 {
	compatible = "arm,pl18x", "arm,primecell";
	reg = <0x80126000 0x1000>;
	interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;

	dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
	       <&dma 29 0 0x0>; /* Logical - MemToDev */
	dma-names = "rx", "tx";

	clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
	clock-names = "sdi", "apb_pclk";

	max-frequency = <100000000>;
	bus-width = <4>;
	cap-sd-highspeed;
	cap-mmc-highspeed;
	cd-gpios  = <&gpio2 31 0x4>; // 95
	st,sig-dir-dat0;
	st,sig-dir-dat2;
	st,sig-dir-cmd;
	st,sig-pin-fbclk;

	vmmc-supply = <&ab8500_ldo_aux3_reg>;
	vqmmc-supply = <&vmmci>;

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdi0_default_mode>;
	pinctrl-1 = <&sdi0_sleep_mode>;
};
+3 −3
Original line number Diff line number Diff line
@@ -38,8 +38,8 @@
			arm,primecell-periphid = <0x10480180>;
			max-frequency = <100000000>;
			bus-width = <4>;
			mmc-cap-sd-highspeed;
			mmc-cap-mmc-highspeed;
			cap-sd-highspeed;
			cap-mmc-highspeed;
			vmmc-supply = <&ab8500_ldo_aux3_reg>;

			cd-gpios  = <&gpio7 6 0x4>; // 230
@@ -63,7 +63,7 @@
			arm,primecell-periphid = <0x10480180>;
		        max-frequency = <100000000>;
			bus-width = <8>;
			mmc-cap-mmc-highspeed;
			cap-mmc-highspeed;
			vmmc-supply = <&ab8500_ldo_aux2_reg>;

			status = "okay";
+15 −4
Original line number Diff line number Diff line
@@ -116,8 +116,15 @@
			arm,primecell-periphid = <0x10480180>;
			max-frequency = <100000000>;
			bus-width = <4>;
			mmc-cap-sd-highspeed;
			mmc-cap-mmc-highspeed;
			cap-sd-highspeed;
			cap-mmc-highspeed;
			sd-uhs-sdr12;
			sd-uhs-sdr25;
			full-pwr-cycle;
			st,sig-dir-dat0;
			st,sig-dir-dat2;
			st,sig-dir-cmd;
			st,sig-pin-fbclk;
			vmmc-supply = <&ab8500_ldo_aux3_reg>;
			vqmmc-supply = <&vmmci>;
			pinctrl-names = "default", "sleep";
@@ -132,6 +139,7 @@
			arm,primecell-periphid = <0x10480180>;
			max-frequency = <100000000>;
			bus-width = <4>;
			non-removable;
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&sdi1_default_mode>;
			pinctrl-1 = <&sdi1_sleep_mode>;
@@ -144,7 +152,9 @@
			arm,primecell-periphid = <0x10480180>;
			max-frequency = <100000000>;
			bus-width = <8>;
			mmc-cap-mmc-highspeed;
			cap-mmc-highspeed;
			non-removable;
			vmmc-supply = <&db8500_vsmps2_reg>;
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&sdi2_default_mode>;
			pinctrl-1 = <&sdi2_sleep_mode>;
@@ -157,7 +167,8 @@
			arm,primecell-periphid = <0x10480180>;
		        max-frequency = <100000000>;
			bus-width = <8>;
			mmc-cap-mmc-highspeed;
			cap-mmc-highspeed;
			non-removable;
			vmmc-supply = <&ab8500_ldo_aux2_reg>;
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&sdi4_default_mode>;
+2 −2
Original line number Diff line number Diff line
@@ -840,8 +840,8 @@
			interrupts = <22>;
			max-frequency = <48000000>;
			bus-width = <4>;
			mmc-cap-mmc-highspeed;
			mmc-cap-sd-highspeed;
			cap-mmc-highspeed;
			cap-sd-highspeed;
			cd-gpios = <&gpio3 15 0x1>;
			cd-inverted;
			pinctrl-names = "default";
+2 −2
Original line number Diff line number Diff line
@@ -156,7 +156,7 @@
			arm,primecell-periphid = <0x10480180>;
			max-frequency = <100000000>;
			bus-width = <4>;
			mmc-cap-mmc-highspeed;
			cap-mmc-highspeed;
			vmmc-supply = <&ab8500_ldo_aux3_reg>;
			vqmmc-supply = <&vmmci>;
			pinctrl-names = "default", "sleep";
@@ -195,7 +195,7 @@
			arm,primecell-periphid = <0x10480180>;
		        max-frequency = <100000000>;
			bus-width = <8>;
			mmc-cap-mmc-highspeed;
			cap-mmc-highspeed;
			vmmc-supply = <&ab8500_ldo_aux2_reg>;
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&sdi4_default_mode>;
Loading