Commit 3f32ab14 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC updates from Ulf Hansson:
 "MMC host:
   - Convert from using tasklet to the BH workqueue
   - dw_mmc-bluefield: Add support for eMMC HW reset
   - mmc_spi: Allow spi controllers incapable of lower than 400kHz
   - sdhci: Rework code to eliminate SDHCI_QUIRK_UNSTABLE_RO_DETECT
   - sdhci-brcmstb: Add support for the BCM2712 variant
   - sdhci-esdhc-imx: Disable card-detect as system wakeup on S32G platforms
   - sdhci-msm: Add support for the SDX75 variant
   - sdhci-of-dwcmshc: Enable CQE support for some Rockchip variants
   - sdhci-of-esdhc: Convert DT-bindings to yaml
   - sdhci-sprd: Convert DT-bindings to yaml

  MEMSTICK:
   - rtsx_pci_ms: Remove the unused Realtek PCI memstick driver"

* tag 'mmc-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (26 commits)
  MAINTAINERS: add 's32@nxp.com' as relevant mailing list for 'sdhci-esdhc-imx' driver
  mmc: sdhci-esdhc-imx: obtain the 'per' clock rate after its enablement
  mmc: sdhci-esdhc-imx: disable card detect wake for S32G based platforms
  dt-bindings: mmc: sdhci-sprd: convert to YAML
  mmc: davinci_mmc: report all possible bus widths
  mmc: dw_mmc-bluefield: Add support for eMMC HW reset
  mmc: dw_mmc: Add support for platform specific eMMC HW reset
  mmc: sdhci_am654: Constify struct regmap_config
  mmc: Convert from tasklet to BH workqueue
  mmc: sdhi: Convert from tasklet to BH workqueue
  mmc: mmc_spi: allow for spi controllers incapable of getting as low as 400k
  memstick: rtsx_pci_ms: Remove Realtek PCI memstick driver
  MAINTAINERS: drop entry for VIA SD/MMC controller
  mmc: tmio: Remove obsolete .set_pwr() callback()
  mfd: tmio: Remove obsolete .set_clk_div() callback
  mmc: sdhci-brcmstb: Add ARCH_BCM2835 option
  mmc: sdhci: Eliminate SDHCI_QUIRK_UNSTABLE_RO_DETECT
  dt-bindings: mmc: Convert fsl-esdhc.txt to yaml
  dt-bindings: mmc: mmc-spi-slot: Change voltage-ranges to uint32-matrix
  mmc: add missing MODULE_DESCRIPTION() macros
  ...
parents d46ede31 b85e0218
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -23,6 +23,12 @@ properties:
              - raspberrypi,4-model-b
          - const: brcm,bcm2711

      - description: BCM2712 based Boards
        items:
          - enum:
              - raspberrypi,5-model-b
          - const: brcm,bcm2712

      - description: BCM2835 based Boards
        items:
          - enum:
+3 −0
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ properties:
      set when controller's internal DMA engine cannot access the DRAM memory,
      like on the G12A dedicated SDIO controller.

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ properties:
          - const: brcm,sdhci-brcmstb
      - items:
          - enum:
              - brcm,bcm2712-sdhci
              - brcm,bcm74165b0-sdhci
              - brcm,bcm7445-sdhci
              - brcm,bcm7425-sdhci
+105 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mmc/fsl,esdhc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale Enhanced Secure Digital Host Controller (eSDHC)

description:
  The Enhanced Secure Digital Host Controller provides an interface
  for MMC, SD, and SDIO types of memory cards.

maintainers:
  - Frank Li <Frank.Li@nxp.com>

properties:
  compatible:
    items:
      - enum:
          - fsl,mpc8536-esdhc
          - fsl,mpc8378-esdhc
          - fsl,p2020-esdhc
          - fsl,p4080-esdhc
          - fsl,t1040-esdhc
          - fsl,t4240-esdhc
          - fsl,ls1012a-esdhc
          - fsl,ls1028a-esdhc
          - fsl,ls1088a-esdhc
          - fsl,ls1043a-esdhc
          - fsl,ls1046a-esdhc
          - fsl,ls2080a-esdhc
      - const: fsl,esdhc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-frequency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: specifies eSDHC base clock frequency.

  sdhci,wp-inverted:
    $ref: /schemas/types.yaml#/definitions/flag
    deprecated: true
    description:
      specifies that eSDHC controller reports
      inverted write-protect state; New devices should use the generic
      "wp-inverted" property.

  sdhci,1-bit-only:
    $ref: /schemas/types.yaml#/definitions/flag
    deprecated: true
    description:
      specifies that a controller can only handle
      1-bit data transfers. New devices should use the generic
      "bus-width = <1>" property.

  sdhci,auto-cmd12:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      specifies that a controller can only handle auto CMD12.

  voltage-ranges:
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    items:
      items:
        - description: specifies minimum slot voltage (mV).
        - description: specifies maximum slot voltage (mV).
    minItems: 1
    maxItems: 8

  dma-coherent: true

  little-endian:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      If the host controller is little-endian mode, specify
      this property. The default endian mode is big-endian.

required:
  - compatible
  - reg
  - interrupts

allOf:
  - $ref: sdhci-common.yaml#

unevaluatedProperties: false

examples:
  - |
    mmc@2e000 {
        compatible = "fsl,mpc8378-esdhc", "fsl,esdhc";
        reg = <0x2e000 0x1000>;
        interrupts = <42 0x8>;
        interrupt-parent = <&ipic>;
        /* Filled in by U-Boot */
        clock-frequency = <100000000>;
        voltage-ranges = <3300 3300>;
    };
+0 −52
Original line number Diff line number Diff line
* Freescale Enhanced Secure Digital Host Controller (eSDHC)

The Enhanced Secure Digital Host Controller provides an interface
for MMC, SD, and SDIO types of memory cards.

This file documents differences between the core properties described
by mmc.txt and the properties used by the sdhci-esdhc driver.

Required properties:
  - compatible : should be "fsl,esdhc", or "fsl,<chip>-esdhc".
    Possible compatibles for PowerPC:
	"fsl,mpc8536-esdhc"
	"fsl,mpc8378-esdhc"
	"fsl,p2020-esdhc"
	"fsl,p4080-esdhc"
	"fsl,t1040-esdhc"
	"fsl,t4240-esdhc"
    Possible compatibles for ARM:
	"fsl,ls1012a-esdhc"
	"fsl,ls1028a-esdhc"
	"fsl,ls1088a-esdhc"
	"fsl,ls1043a-esdhc"
	"fsl,ls1046a-esdhc"
	"fsl,ls2080a-esdhc"
  - clock-frequency : specifies eSDHC base clock frequency.

Optional properties:
  - sdhci,wp-inverted : specifies that eSDHC controller reports
    inverted write-protect state; New devices should use the generic
    "wp-inverted" property.
  - sdhci,1-bit-only : specifies that a controller can only handle
    1-bit data transfers. New devices should use the generic
    "bus-width = <1>" property.
  - sdhci,auto-cmd12: specifies that a controller can only handle auto
    CMD12.
  - voltage-ranges : two cells are required, first cell specifies minimum
    slot voltage (mV), second cell specifies maximum slot voltage (mV).
    Several ranges could be specified.
  - little-endian : If the host controller is little-endian mode, specify
    this property. The default endian mode is big-endian.

Example:

sdhci@2e000 {
	compatible = "fsl,mpc8378-esdhc", "fsl,esdhc";
	reg = <0x2e000 0x1000>;
	interrupts = <42 0x8>;
	interrupt-parent = <&ipic>;
	/* Filled in by U-Boot */
	clock-frequency = <0>;
	voltage-ranges = <3300 3300>;
};
Loading