Commit 71946a25 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC and MEMSTICK updates from Ulf Hansson:
 "MMC core:
   - A few minor improvements and cleanups

  MMC host:
   - Remove some redundant calls to local_irq_{save,restore}()
   - Replace kmap_atomic() with kmap_local_page()
   - Take return values from mmc_add_host() into account
   - dw_mmc-pltfm: Add support to configure clk-phase for socfpga
   - hsq: Minimize latency by using a fifo to dispatch requests
   - litex_mmc: Fixup corner case for polling mode
   - mtk-sd: Add inline crypto engine clock control
   - mtk-sd: Add support for the mediatek MT7986 variant
   - renesas_sdhi: Improve reset from HS400 mode
   - renesas_sdhi: Take DMA end interrupts into account
   - sdhci: Avoid unnecessary update of clock
   - sdhci: Fix an SD tuning issue
   - sdhci-brcmst: Add Kamal Dasu as maintainer for the Broadcom driver
   - sdhci-esdhc-imx: Improve tuning logic
   - sdhci-esdhc-imx: Improve support for the imxrt1050 variant
   - sdhci_f_sdh30: Add support for non-removable media
   - sdhci_f_sdh30: Add support for the Socionext F_SDH30_E51 variant
   - sdhci_f_sdh30: Add reset control support
   - sdhci-msm: Add support for the Qcom SM8550/SM8350/SM6375 variants
   - sdhci-msm: Add support for the Qcom MSM8976 variant
   - sdhci-of-arasan: Add support for dynamic configuration
   - sdhci-of-esdhc: Limit the clock frequency to confirm to spec
   - sdhci-pci: Enable asynchronous probe
   - sdhci-sprd: Improve card detection
   - sdhci-tegra: Improve reset support
   - sdhci-tegra: Add support to program MC stream ID
   - sunplus-mmc: Add new mmc driver for the Sunplus SP7021 controller
   - vub300: Fix warning splat for SDIO irq

  MEMSTICK core:
   - memstick: A few minor improvements and cleanups

  CLK/IOMMU:
   - clk: socfpga: Drop redundant support for clk-phase for the SD/MMC clk
   - iommu: Add tegra specific helper to get stream_id"

* tag 'mmc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (108 commits)
  mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K
  mmc: sdhci-of-esdhc: Modify mismatched function name
  memstick/mspro_block: Convert to use sysfs_emit()/sysfs_emit_at() APIs
  mmc: sdhci-tegra: Issue CMD and DAT resets together
  mmc: sdhci-tegra: Add support to program MC stream ID
  mmc: sdhci-tegra: Separate Tegra194 and Tegra234 SoC data
  mmc: sdhci-tegra: Sort includes alphabetically
  iommu/tegra: Add tegra_dev_iommu_get_stream_id() helper
  iommu: Add note about struct iommu_fwspec usage
  mmc: sdhci-brcmstb: Resolve "unused" warnings with CONFIG_OF=n
  dt-bindings: mmc: sdhci-msm: allow dma-coherent
  dt-bindings: mmc: sdhci-msm: drop properties mentioned in common MMC
  dt-bindings: mmc: sdhci-msm: cleanup style
  dt-bindings: mmc: sdhci-am654: cleanup style
  dt-bindings: mmc: sdhci: document sdhci-caps and sdhci-caps-mask
  mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING
  MAINTAINERS: Update maintainer for SDHCI Broadcom BRCMSTB driver
  mmc: sdhci-of-esdhc: limit the SDHC clock frequency
  mmc: sdhci: Remove unneeded semicolon
  mmc: core: Normalize the error handling branch in sd_read_ext_regs()
  ...
parents 90b12f42 ff874dbc
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -95,7 +95,9 @@ properties:
      PIO (polled I/O) interrupt and occurs when the FIFO needs to be
      emptied as part of a bulk read from the card. Some variants have these
      two interrupts wired into the same line (logic OR) and in that case
      only one interrupt may be provided.
      only one interrupt may be provided. The interrupt-names property is
      not used due to inconsistency of existing DTs regarding its content.
    deprecated: false
    minItems: 1
    maxItems: 2

+2 −1
Original line number Diff line number Diff line
@@ -50,11 +50,11 @@ properties:
          - const: fsl,imx8mm-usdhc
      - items:
          - enum:
              - fsl,imx8dxl-usdhc
              - fsl,imx8qm-usdhc
          - const: fsl,imx8qxp-usdhc
      - items:
          - enum:
              - fsl,imx8dxl-usdhc
              - fsl,imx8mm-usdhc
              - fsl,imx8mn-usdhc
              - fsl,imx8mp-usdhc
@@ -71,6 +71,7 @@ properties:
        deprecated: true
      - items:
          - enum:
              - fsl,imx8dxl-usdhc
              - fsl,imx8qm-usdhc
          - const: fsl,imx8qxp-usdhc
          - const: fsl,imx7d-usdhc
+57 −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/fujitsu,sdhci-fujitsu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Fujitsu/Socionext SDHCI controller (F_SDH30)

maintainers:
  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

allOf:
  - $ref: mmc-controller.yaml#

properties:
  compatible:
    enum:
      - fujitsu,mb86s70-sdhci-3.0
      - socionext,f-sdh30-e51-mmc

  reg:
    maxItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: iface
      - const: core

  resets:
    maxItems: 1

  fujitsu,cmd-dat-delay-select:
    type: boolean
    description: |
      Indicating that this host requires the CMD_DAT_DELAY control to be enabled

unevaluatedProperties: false

required:
  - compatible
  - reg
  - clocks
  - clock-names

examples:
  - |
    sdhci1: mmc@36600000 {
        compatible = "fujitsu,mb86s70-sdhci-3.0";
        reg = <0x36600000 0x1000>;
        bus-width = <4>;
        vqmmc-supply = <&vccq_sdhci1>;
        clocks = <&clock 2 2 0>, <&clock 2 3 0>;
        clock-names = "iface", "core";
    };
+0 −1
Original line number Diff line number Diff line
@@ -293,7 +293,6 @@ properties:
    description:
      SDIO only. Preserves card power during a suspend/resume cycle.

  # Deprecated: enable-sdio-wakeup
  wakeup-source:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
+141 −30
Original line number Diff line number Diff line
@@ -10,9 +10,6 @@ maintainers:
  - Chaotian Jing <chaotian.jing@mediatek.com>
  - Wenbin Mei <wenbin.mei@mediatek.com>

allOf:
  - $ref: mmc-controller.yaml#

properties:
  compatible:
    oneOf:
@@ -23,6 +20,7 @@ properties:
          - mediatek,mt6795-mmc
          - mediatek,mt7620-mmc
          - mediatek,mt7622-mmc
          - mediatek,mt7986-mmc
          - mediatek,mt8135-mmc
          - mediatek,mt8173-mmc
          - mediatek,mt8183-mmc
@@ -48,27 +46,11 @@ properties:
    description:
      Should contain phandle for the clock feeding the MMC controller.
    minItems: 2
    items:
      - description: source clock (required).
      - description: HCLK which used for host (required).
      - description: independent source clock gate (required for MT2712).
      - description: bus clock used for internal register access (required for MT2712 MSDC0/3).
      - description: msdc subsys clock gate (required for MT8192).
      - description: peripheral bus clock gate (required for MT8192).
      - description: AXI bus clock gate (required for MT8192).
      - description: AHB bus clock gate (required for MT8192).
    maxItems: 7

  clock-names:
    minItems: 2
    items:
      - const: source
      - const: hclk
      - const: source_cg
      - const: bus_clk
      - const: sys_cg
      - const: pclk_cg
      - const: axi_cg
      - const: ahb_cg
    maxItems: 7

  interrupts:
    description:
@@ -190,7 +172,63 @@ required:
  - vmmc-supply
  - vqmmc-supply

if:
allOf:
  - $ref: mmc-controller.yaml#
  - if:
      properties:
        compatible:
          enum:
            - mediatek,mt2701-mmc
            - mediatek,mt6779-mmc
            - mediatek,mt6795-mmc
            - mediatek,mt7620-mmc
            - mediatek,mt7622-mmc
            - mediatek,mt7623-mmc
            - mediatek,mt8135-mmc
            - mediatek,mt8173-mmc
            - mediatek,mt8183-mmc
            - mediatek,mt8186-mmc
            - mediatek,mt8188-mmc
            - mediatek,mt8195-mmc
            - mediatek,mt8516-mmc
    then:
      properties:
        clocks:
          minItems: 2
          items:
            - description: source clock
            - description: HCLK which used for host
            - description: independent source clock gate
        clock-names:
          minItems: 2
          items:
            - const: source
            - const: hclk
            - const: source_cg

  - if:
      properties:
        compatible:
          contains:
            const: mediatek,mt2712-mmc
    then:
      properties:
        clocks:
          minItems: 3
          items:
            - description: source clock
            - description: HCLK which used for host
            - description: independent source clock gate
            - description: bus clock used for internal register access (required for MSDC0/3).
        clock-names:
          minItems: 3
          items:
            - const: source
            - const: hclk
            - const: source_cg
            - const: bus_clk

  - if:
      properties:
        compatible:
          contains:
@@ -200,6 +238,79 @@ then:
        reg:
          minItems: 2

  - if:
      properties:
        compatible:
          contains:
            enum:
              - mediatek,mt7986-mmc
    then:
      properties:
        clocks:
          minItems: 3
          items:
            - description: source clock
            - description: HCLK which used for host
            - description: independent source clock gate
            - description: bus clock used for internal register access (required for MSDC0/3).
            - description: msdc subsys clock gate
        clock-names:
          minItems: 3
          items:
            - const: source
            - const: hclk
            - const: source_cg
            - const: bus_clk
            - const: sys_cg

  - if:
      properties:
        compatible:
          enum:
            - mediatek,mt8186-mmc
            - mediatek,mt8188-mmc
            - mediatek,mt8195-mmc
    then:
      properties:
        clocks:
          items:
            - description: source clock
            - description: HCLK which used for host
            - description: independent source clock gate
            - description: crypto clock used for data encrypt/decrypt (optional)
        clock-names:
          items:
            - const: source
            - const: hclk
            - const: source_cg
            - const: crypto

  - if:
      properties:
        compatible:
          contains:
            const: mediatek,mt8192-mmc
    then:
      properties:
        clocks:
          items:
            - description: source clock
            - description: HCLK which used for host
            - description: independent source clock gate
            - description: msdc subsys clock gate
            - description: peripheral bus clock gate
            - description: AXI bus clock gate
            - description: AHB bus clock gate
        clock-names:
          items:
            - const: source
            - const: hclk
            - const: source_cg
            - const: sys_cg
            - const: pclk_cg
            - const: axi_cg
            - const: ahb_cg

unevaluatedProperties: false

examples:
Loading