Commit 0163c886 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MMC updates from Ulf Hansson:
 "MMC host:
   - atmel-mci: Convert DT bindings to json schema
   - dw_mmc: Add support for the Exynos7870 variant
   - dw_mmc-rockchip: Add support for the RK3562/3528 variants
   - omap: Fix potential memory leak in the probe error path
   - renesas_sdhi: Add support for RZ/G3E variants
   - sdhci: Disable SD card clock before changing parameters
   - sdhci-esdhc-imx: Add support for the i.MX94 variant
   - sdhci-of-dwcmshc: Add support for the RK3562/RK3528 variants
   - sdhci-omap: Disable aggressive PM for eMMC/SD-cards
   - sdhci-pci-core: Wait for VDD to settle on card power off
   - sdhci-pxav3: Fix busy-signalling by using MMC_CAP_NEED_RSP_BUSY
   - sunxi-mmc: Add support for the A523 variant

  MEMSTICK:
   - rtsx_usb_ms: Fix potential use-after-free during remove"

* tag 'mmc-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (27 commits)
  mmc: core: Remove redundant null check
  mmc: host: Wait for Vdd to settle on card power off
  mmc: omap: Fix memory leak in mmc_omap_new_slot
  memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove
  mmc: renesas_sdhi: fix error code in renesas_sdhi_probe()
  mmc: sdhci-pxav3: set NEED_RSP_BUSY capability
  mmc: sdhci-omap: Disable MMC_CAP_AGGRESSIVE_PM for eMMC/SD
  tty: mmc: sdio: use bool for cts and remove parentheses
  dt-bindings: mmc: sunxi: add compatible strings for Allwinner A523
  dt-bindings: mmc: sunxi: Simplify compatible string listing
  dt-bindings: mmc: sdhci-of-dwcmhsc: Add compatible string for RK3528
  dt-bindings: mmc: rockchip-dw-mshc: Add compatible string for RK3528
  mmc: renesas_sdhi: Add support for RZ/G3E SoC
  dt-bindings: mmc: renesas,sdhi: Document RZ/G3E support
  dt-bindings: mmc: rockchip-dw-mshc: Add support for rk3562
  dt-bindings: mmc: Add support for rk3562 eMMC
  mmc: core: Trim trailing whitespace from card product names
  dt-bindings: mmc: atmel,hsmci: Convert to json schema
  dt-bindings: mmc: mmc-slot: Make compatible property optional
  dt-bindings: mmc: fsl-imx-esdhc: Add i.MX94 support
  ...
parents 5143840c c48e13e8
Loading
Loading
Loading
Loading
+17 −21
Original line number Diff line number Diff line
@@ -30,38 +30,34 @@ properties:
      - const: allwinner,sun50i-a100-emmc
      - const: allwinner,sun50i-a100-mmc
      - items:
          - const: allwinner,sun8i-a83t-mmc
          - enum:
              - allwinner,sun8i-a83t-mmc
              - allwinner,suniv-f1c100s-mmc
          - const: allwinner,sun7i-a20-mmc
      - items:
          - const: allwinner,sun8i-r40-emmc
          - enum:
              - allwinner,sun8i-r40-emmc
              - allwinner,sun50i-h5-emmc
              - allwinner,sun50i-h6-emmc
          - const: allwinner,sun50i-a64-emmc
      - items:
          - const: allwinner,sun8i-r40-mmc
          - enum:
              - allwinner,sun8i-r40-mmc
              - allwinner,sun50i-h5-mmc
              - allwinner,sun50i-h6-mmc
          - const: allwinner,sun50i-a64-mmc
      - items:
          - const: allwinner,sun50i-h5-emmc
          - const: allwinner,sun50i-a64-emmc
      - items:
          - const: allwinner,sun50i-h5-mmc
          - const: allwinner,sun50i-a64-mmc
      - items:
          - const: allwinner,sun50i-h6-emmc
          - const: allwinner,sun50i-a64-emmc
      - items:
          - const: allwinner,sun50i-h6-mmc
          - const: allwinner,sun50i-a64-mmc
      - items:
          - const: allwinner,sun20i-d1-emmc
          - const: allwinner,sun50i-a100-emmc
      - items:
          - const: allwinner,sun50i-h616-emmc
          - enum:
              - allwinner,sun20i-d1-emmc
              - allwinner,sun50i-h616-emmc
              - allwinner,sun55i-a523-emmc
          - const: allwinner,sun50i-a100-emmc
      - items:
          - const: allwinner,sun50i-h616-mmc
          - const: allwinner,sun50i-a100-mmc
      - items:
          - const: allwinner,suniv-f1c100s-mmc
          - const: allwinner,sun7i-a20-mmc
          - const: allwinner,sun55i-a523-mmc
          - const: allwinner,sun20i-d1-mmc

  reg:
    maxItems: 1
+3 −0
Original line number Diff line number Diff line
@@ -60,6 +60,9 @@ patternProperties:
      bus-width:
        enum: [1, 4]

    required:
      - compatible

    unevaluatedProperties: false

required:
+106 −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/atmel,hsmci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Atmel High-Speed MultiMedia Card Interface (HSMCI)

description:
  The Atmel HSMCI controller provides an interface for MMC, SD, and SDIO memory
  cards.

maintainers:
  - Nicolas Ferre <nicolas.ferre@microchip.com>
  - Aubin Constans <aubin.constans@microchip.com>

allOf:
  - $ref: mmc-controller.yaml

properties:
  compatible:
    const: atmel,hsmci

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  dmas:
    maxItems: 1

  dma-names:
    const: rxtx

  clocks:
    maxItems: 1

  clock-names:
    const: mci_clk

  "#address-cells":
    const: 1
    description: Used for slot IDs.

  "#size-cells":
    const: 0

patternProperties:
  "slot@[0-2]$":
    $ref: mmc-slot.yaml
    description: A slot node representing an MMC, SD, or SDIO slot.

    properties:
      reg:
        enum: [0, 1]

    required:
      - reg
      - bus-width

    unevaluatedProperties: false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - "#address-cells"
  - "#size-cells"

anyOf:
  - required:
      - slot@0
  - required:
      - slot@1

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/clock/at91.h>
    mmc@f0008000 {
      compatible = "atmel,hsmci";
      reg = <0xf0008000 0x600>;
      interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
      clocks = <&mci0_clk>;
      clock-names = "mci_clk";
      #address-cells = <1>;
      #size-cells = <0>;

      slot@0 {
        reg = <0>;
        bus-width = <4>;
        cd-gpios = <&pioD 15 0>;
        cd-inverted;
      };

      slot@1 {
        reg = <1>;
        bus-width = <4>;
      };
    };
...
+0 −73
Original line number Diff line number Diff line
* Atmel High Speed MultiMedia Card Interface

This controller on atmel products 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 atmel-mci driver.

1) MCI node

Required properties:
- compatible: should be "atmel,hsmci"
- #address-cells: should be one. The cell is the slot id.
- #size-cells: should be zero.
- at least one slot node
- clock-names: tuple listing input clock names.
	Required elements: "mci_clk"
- clocks: phandles to input clocks.

The node contains child nodes for each slot that the platform uses

Example MCI node:

mmc0: mmc@f0008000 {
	compatible = "atmel,hsmci";
	reg = <0xf0008000 0x600>;
	interrupts = <12 4>;
	#address-cells = <1>;
	#size-cells = <0>;
	clock-names = "mci_clk";
	clocks = <&mci0_clk>;

	[ child node definitions...]
};

2) slot nodes

Required properties:
- reg: should contain the slot id.
- bus-width: number of data lines connected to the controller

Optional properties:
- cd-gpios: specify GPIOs for card detection
- cd-inverted: invert the value of external card detect gpio line
- wp-gpios: specify GPIOs for write protection

Example slot node:

slot@0 {
	reg = <0>;
	bus-width = <4>;
	cd-gpios = <&pioD 15 0>
	cd-inverted;
};

Example full MCI node:
mmc0: mmc@f0008000 {
	compatible = "atmel,hsmci";
	reg = <0xf0008000 0x600>;
	interrupts = <12 4>;
	#address-cells = <1>;
	#size-cells = <0>;
	slot@0 {
		reg = <0>;
		bus-width = <4>;
		cd-gpios = <&pioD 15 0>
		cd-inverted;
	};
	slot@1 {
		reg = <1>;
		bus-width = <4>;
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ properties:
              - fsl,imx8mp-usdhc
              - fsl,imx8ulp-usdhc
              - fsl,imx93-usdhc
              - fsl,imx94-usdhc
              - fsl,imx95-usdhc
          - const: fsl,imx8mm-usdhc
      - items:
Loading