Commit 8a73c77c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC and MEMSTICK updates from Ulf Hansson:
 "MMC core:
   - Update maintainer and URL for the mmc-utils
   - Set default label for slot-gpio in case of no con-id
   - Convert MMC card DT bindings to a schema
   - Add optional host specific tuning support for eMMC HS400
   - Add error handling of add_disk()

  MMC host:
   - mtk-sd: Add host specific tuning support for eMMC HS400
   - mtk-sd: Make DMA handling more robust
   - dw_mmc: Prevent hangs for some data writes
   - dw_mmc: Move away from using the ->init_card() callback
   - mxs-mmc: Manage the regulator in the error path and in ->remove()
   - sdhci-cadence: Add support for the Microchip MPFS variant
   - sdhci-esdhc-imx: Add support for the NXP S32G2 variant
   - sdhci-of-arasan: Add support for the Intel Thunder Bay variant
   - sdhci-omap: Prepare to support more SoCs
   - sdhci-omap: Add support for omap3 and omap4 variants
   - sdhci-omap: Add support for power management
   - sdhci-omap: Add support for system wakeups
   - sdhci-msm: Add support for the msm8226 variant
   - sdhci-sprd: Verify that the DLL locks according to spec

  MEMSTICK:
   - Add error handling of add_disk()
   - A couple of small fixes and improvements"

* tag 'mmc-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (60 commits)
  docs: mmc: update maintainer name and URL
  mmc: dw_mmc: exynos: Fix spelling mistake "candiates" -> candidates
  MAINTAINERS: drop obsolete file pattern in SDHCI DRIVER section
  mmc: sdhci-esdhc-imx: add NXP S32G2 support
  dt-bindings: mmc: fsl-imx-esdhc: add NXP S32G2 support
  mmc: dw_mmc: Drop use of ->init_card() callback
  mmc: sdhci-omap: Fix build if CONFIG_PM_SLEEP is not set
  mmc: sdhci-omap: Remove forward declaration of sdhci_omap_context_save()
  memstick: r592: Fix a UAF bug when removing the driver
  mmc: mxs-mmc: disable regulator on error and in the remove function
  mmc: sdhci-omap: Configure optional wakeirq
  mmc: sdhci-omap: Allow SDIO card power off and enable aggressive PM
  mmc: sdhci-omap: Implement PM runtime functions
  mmc: sdhci-omap: Add omap_offset to support omap3 and earlier
  mmc: sdhci-omap: Handle voltages to add support omap4
  dt-bindings: sdhci-omap: Update binding for legacy SoCs
  mmc: sdhci-pci: Remove dead code (rst_n_gpio et al)
  mmc: sdhci-pci: Remove dead code (cd_gpio, cd_irq et al)
  mmc: sdhci-pci: Remove dead code (struct sdhci_pci_data et al)
  mmc: sdhci: Remove unused prototype declaration in the header
  ...
parents 316b7eaa 348ecd61
Loading
Loading
Loading
Loading
+25 −1
Original line number Diff line number Diff line
@@ -88,6 +88,12 @@ properties:
        description:
          For this device it is strongly suggested to include
          arasan,soc-ctl-syscon.
      - items:
          - const: intel,thunderbay-sdhci-5.1   # Intel Thunder Bay eMMC PHY
          - const: arasan,sdhci-5.1
        description:
          For this device it is strongly suggested to include
          clock-output-names and '#clock-cells'.

  reg:
    maxItems: 1
@@ -153,7 +159,6 @@ properties:
      The MIO bank number in which the command and data lines are configured.

dependencies:
  clock-output-names: [ '#clock-cells' ]
  '#clock-cells': [ clock-output-names ]

required:
@@ -301,3 +306,22 @@ examples:
                   <&scmi_clk KEEM_BAY_PSS_SD0>;
          arasan,soc-ctl-syscon = <&sd0_phy_syscon>;
    };

  - |
    #define EMMC_XIN_CLK
    #define EMMC_AXI_CLK
    #define TBH_PSS_EMMC_RST_N
    mmc@80420000 {
          compatible = "intel,thunderbay-sdhci-5.1", "arasan,sdhci-5.1";
          interrupts = <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>;
          reg = <0x80420000 0x400>;
          clocks = <&scmi_clk EMMC_XIN_CLK>,
                   <&scmi_clk EMMC_AXI_CLK>;
          clock-names = "clk_xin", "clk_ahb";
          phys = <&emmc_phy>;
          phy-names = "phy_arasan";
          assigned-clocks = <&scmi_clk EMMC_XIN_CLK>;
          clock-output-names = "emmc_cardclock";
          resets = <&rst_pss1 TBH_PSS_EMMC_RST_N>;
          #clock-cells = <0x0>;
    };
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ properties:
  compatible:
    items:
      - enum:
          - microchip,mpfs-sd4hc
          - socionext,uniphier-sd4hc
      - const: cdns,sd4hc

+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ properties:
          - fsl,imx6ull-usdhc
          - fsl,imx7d-usdhc
          - fsl,imx7ulp-usdhc
          - nxp,s32g2-usdhc
      - items:
          - enum:
              - fsl,imx8mm-usdhc
+0 −30
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;

	mmccard: mmccard@0 {
		reg = <0>;
		compatible = "mmc-card";
		broken-hpi;
	};
};
+48 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MMC Card / eMMC Generic Device Tree Bindings

maintainers:
  - Ulf Hansson <ulf.hansson@linaro.org>

description: |
  This documents describes the devicetree bindings for a mmc-host controller
  child node describing a mmc-card / an eMMC.

properties:
  compatible:
    const: mmc-card

  reg:
    const: 0

  broken-hpi:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Use this to indicate that the mmc-card has a broken hpi
      implementation, and that hpi should not be used.

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    mmc {
        #address-cells = <1>;
        #size-cells = <0>;

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

...
Loading