Commit 35a8b02e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC updates from Ulf Hansson:
 "MMC core:
   - Scan the eMMC boot areas for partition table
   - Clarify purpose of mmc_can* functions by renaming them to mmc_card_can*
   - Clarify helpers for host capabilities by renaming them to mmc_host_can*
   - Add support for graceful host removal for SD and eMMC
   - Further avoid re-storing power to the eMMC before a shutdown
   - Add quirk to disable DDR50 tuning and use it for some Swissbit SD-cards

  MMC host:
   - mtk-sd: Add support for Dimensity 1200 MT6893
   - mtk-sd: Fix condition to enable single burst type
   - mtk-sd: Optimize several code-paths by aggregating register-writes
   - renesas_sdhi: Add support for the Renesas RZ/V2N variant
   - sdhci-msm: Add support for the SM7150 variant
   - sdhci-esdhc-imx: Re-factor the system PM logic
   - sdhci-esdhc-imx: Lots of improvements around the tuning support
   - sdhci-of-arasan: Add support for the Renesas RZ/N1D variant
   - sdhci-of-dwcmhsc: Add Sophgo SG2044 support
   - sdhci-of-esdhc: Add support for the LS1021a variant
   - sdhci-of-k1: Add new driver to support for SpacemiT K1 controller
   - sdhci-pic32: Convert microchip,sdhci-pic32 DT doc to json schema
   - wmt-sdmmc: Convert DT doc to json schema"

* tag 'mmc-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (59 commits)
  dt-bindings: mmc: sdhci-of-dwcmhsc: Allow use of a power-domain
  mmc: sdhci-esdhc-imx: fix few build warnings
  mmc: bcm2835: Use str_read_write() helper
  mmc: host: sdhci-esdhc-imx: refactor the system PM logic
  mmc: sdhci: export APIs for sdhci irq wakeup
  mmc: sdhci-of-k1: add support for SpacemiT K1 SoC
  dt-bindings: mmc: spacemit,sdhci: add support for K1 SoC
  mmc: core: Scan the eMMC boot areas for partition table
  dt-binding: mmc: microchip,sdhci-pic32: convert text based binding to json schema
  mmc: rename mmc_boot_partition_access() to mmc_host_can_access_boot()
  mmc: rename mmc_host_uhs() to mmc_host_can_uhs()
  mmc: rename mmc_host_done_complete() to mmc_host_can_done_complete()
  mmc: rename mmc_host_cmd23() to mmc_host_can_cmd23()
  mmc: sdhci-esdhc-imx: fix defined but not used warnings
  dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
  dt-bindings: mmc: sdhci-msm: Add the SM7150 compatible
  dt-bindings: mmc: fsl,esdhc: add compatible string fsl,ls1021a-esdhc
  mmc: cavium-thunderx: Use non-hybrid PCI devres API
  dt-bindings: mmc: mtk-sd: Add support for Dimensity 1200 MT6893
  dt-bindings: mmc: sdhci-of-dwcmhsc: Add Sophgo SG2044 support
  ...
parents 418da6ee d2c6acff
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -38,6 +38,15 @@ allOf:
            - items:
                - const: clk_out_sd1
                - const: clk_in_sd1
  - if:
      properties:
        compatible:
          contains:
            const: renesas,rzn1-sdhci
    then:
      properties:
        interrupts:
          minItems: 2

properties:
  compatible:
@@ -45,6 +54,10 @@ properties:
      - const: arasan,sdhci-8.9a                # generic Arasan SDHCI 8.9a PHY
      - const: arasan,sdhci-4.9a                # generic Arasan SDHCI 4.9a PHY
      - const: arasan,sdhci-5.1                 # generic Arasan SDHCI 5.1 PHY
      - items:
          - const: renesas,r9a06g032-sdhci      # Renesas RZ/N1D SoC
          - const: renesas,rzn1-sdhci           # Renesas RZ/N1 family
          - const: arasan,sdhci-8.9a
      - items:
          - const: rockchip,rk3399-sdhci-5.1    # rk3399 eMMC PHY
          - const: arasan,sdhci-5.1
@@ -109,7 +122,14 @@ properties:
      - const: gate

  interrupts:
    maxItems: 1
    minItems: 1
    maxItems: 2

  interrupt-names:
    minItems: 1
    items:
      - const: int
      - const: wakeup

  phys:
    maxItems: 1
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ properties:
          - fsl,t1040-esdhc
          - fsl,t4240-esdhc
          - fsl,ls1012a-esdhc
          - fsl,ls1021a-esdhc
          - fsl,ls1028a-esdhc
          - fsl,ls1088a-esdhc
          - fsl,ls1043a-esdhc
+6 −21
Original line number Diff line number Diff line
@@ -52,9 +52,14 @@ properties:
      - const: core
      - const: axi

  dma-coherent: true

  interrupts:
    maxItems: 1

  iommus:
    maxItems: 1

  marvell,pad-type:
    $ref: /schemas/types.yaml#/definitions/string
    enum:
@@ -142,7 +147,7 @@ properties:
      This property provides the re-tuning counter.

allOf:
  - $ref: mmc-controller.yaml#
  - $ref: sdhci-common.yaml#
  - if:
      properties:
        compatible:
@@ -164,26 +169,6 @@ allOf:

        marvell,pad-type: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - marvell,armada-cp110-sdhci
              - marvell,armada-ap807-sdhci
              - marvell,armada-ap806-sdhci

    then:
      properties:
        clocks:
          minItems: 2

        clock-names:
          items:
            - const: core
            - const: axi


required:
  - compatible
  - reg
+0 −29
Original line number Diff line number Diff line
* Microchip PIC32 SDHCI Controller

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

Required properties:
- compatible: Should be "microchip,pic32mzda-sdhci"
- interrupts: Should contain interrupt
- clock-names: Should be "base_clk", "sys_clk".
               See: Documentation/devicetree/bindings/resource-names.txt
- clocks: Phandle to the clock.
          See: Documentation/devicetree/bindings/clock/clock-bindings.txt
- pinctrl-names: A pinctrl state names "default" must be defined.
- pinctrl-0: Phandle referencing pin configuration of the SDHCI controller.
             See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Example:

	sdhci@1f8ec000 {
		compatible = "microchip,pic32mzda-sdhci";
		reg = <0x1f8ec000 0x100>;
		interrupts = <191 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&rootclk REF4CLK>, <&rootclk PB5CLK>;
		clock-names = "base_clk", "sys_clk";
		bus-width = <4>;
		cap-sd-highspeed;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_sdhc1>;
	};
+66 −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/microchip,sdhci-pic32.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip PIC32 SDHI Controller

description:
  The Microchip PIC32 family of microcontrollers (MCUs) includes models with
  Secure Digital Host Controller Interface (SDHCI) controllers, allowing them
  to interface with Secure Digital (SD) cards. This interface is used for reading,
  writing, and managing data on SD cards, enabling storage and data transfer
  capabilities in embedded systems.

allOf:
  - $ref: mmc-controller.yaml

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

properties:
  compatible:
    const: microchip,pic32mzda-sdhci

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: base_clk
      - const: sys_clk

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - pinctrl-names
  - pinctrl-0

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/clock/microchip,pic32-clock.h>
    mmc@1f8ec000 {
        compatible = "microchip,pic32mzda-sdhci";
        reg = <0x1f8ec000 0x100>;
        interrupts = <191 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&rootclk REF4CLK>, <&rootclk PB5CLK>;
        clock-names = "base_clk", "sys_clk";
        bus-width = <4>;
        cap-sd-highspeed;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_sdhc1>;
    };
...
Loading