projects/linux·commit 4ddd4f06

Merge tag 'mmc-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

4ddd4f06 · Linus Torvalds <[email protected]> · 2026-04-15 14:15:25 -07:00

Pull MMC updates from Ulf Hansson:
 "MMC core:
   - Add NXP vendor and IW61x device IDs for WiFi chips over SDIO
   - Add quirk for incorrect manufacturing date
   - Add support for manufacturing date beyond 2025
   - Optimize support for secure erase/trim for some Kingston eMMCs
   - Remove support for the legacy "enable-sdio-wakeup" DT property
   - Use single block writes in the retry path

  MMC host:
   - dw_mmc:
      - A great amount of cleanups/simplifications to improve the code
      - Add clk_phase_map support
      - Remove mshc DT alias support
   - dw_mmc-rockchip:
      - Fix runtime PM support for internal phase
      - Add support for the RV1103B variant
   - loongson2:
      - Add support for the Loongson-2K0300 SD/SDIO/eMMC controller
   - mtk-sd:
      - Add support for the MT8189 variant
   - renesas_sdhi_core:
      - Add support for selecting an optional mux
   - rtsx_pci_sdmmc:
      - Simplify voltage switch handling
   - sdhci:
      - Stop advertising the driver in dmesg
   - sdhci-esdhc-imx:
      - Add 1-bit bus width support
      - Add support for the NXP S32N79 variant
   - sdhci-msm:
      - Add support for the IPQ5210 and IPQ9650 variants
      - Add support for wrapped keys
      - Enable ICE for CQE-capable controllers with non-CQE cards
   - sdhci-of-arasan:
      - Add support for the Axiado AX3000 variant
   - sdhci-of-aspeed:
      - Add support for the AST2700 variant
   - sdhci-of-bst:
      - Add driver for the Black Sesame Technologies C1200 controller
   - sdhci-of-dwcmshc:
      - Add support for the Canaan K230 variant
      - Add support for the HPE GSC variant
      - Prevent clock glitches to avoid malfunction
   - sdhci-of-k1:
      - Add support for the K3 variant

  mux core/consumers:
   - core:
      - Add helper functions for getting optional and selected mux-state
   - i2c-omap:
      - Convert to devm_mux_state_get_optional_selected()
   - phy-renesas:
      - Convert to devm_mux_state_get_optional_selected()
   - phy-can-transceiver:
      - Convert to devm_mux_state_get_optional()"

* tag 'mmc-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (131 commits)
  mmc: sdhci-msm: Fix the wrapped key handling
  mmc: sdhci-of-dwcmshc: Disable clock before DLL configuration
  mmc: core: Simplify with scoped for each OF child loop
  mmc: core: Optimize size of struct mmc_queue_req
  mmc: vub300: clean up module init
  mmc: vub300: rename probe error labels
  mmc: dw_mmc: Remove dw_mci_start_request wrapper and rename core function
  mmc: dw_mmc: Inline dw_mci_queue_request() into dw_mci_request()
  mmc: block: Use MQRQ_XFER_SINGLE_BLOCK for both read and write recovery
  mmc: mmc_test: Replace hard-coded values with macros and consolidate test parameters
  mmc: block: Convert to use DEFINE_SIMPLE_DEV_PM_OPS()
  mmc: core: Replace the hard-coded shift value 9 with SECTOR_SHIFT
  mmc: sdhci-dwcmshc: Refactor Rockchip platform data for controller revisions
  mmc: core: Switch to use pm_ptr() for mmc_host_class_dev_pm_ops
  mmc: core: Remove legacy 'enable-sdio-wakeup' DT property support
  mmc: mmc_test: use kzalloc_flex
  mmc: mtk-sd: disable new_tx/rx and modify related settings for mt8189
  dt-bindings: mmc: hisilicon,hi3660-dw-mshc: Convert to DT schema
  dt-bindings: mmc: sdhci-msm: add IPQ9650 compatible
  mmc: block: use single block write in retry
  ...
Commit
4ddd4f0651a710f33dfbb9dadd94f2bb0aa31aa8
Parents
b9962335 · 52957cda

Merge commit. Changes below are compared with the first parent: b9962335.

Changes

76 files changed · +2564 −1415

FileStatusAddDelContent
Documentation/devicetree/bindings/mmc/amlogic,meson-gx-mmc.yamlmodified+4−0View file
Documentation/devicetree/bindings/mmc/arasan,sdhci.yamlmodified+5−0View file
Documentation/devicetree/bindings/mmc/arm,pl18x.yamlmodified+1−1View file
Documentation/devicetree/bindings/mmc/aspeed,sdhci.yamlmodified+33−8View file
Documentation/devicetree/bindings/mmc/brcm,iproc-sdhci.yamlmodified+5−0View file
Documentation/devicetree/bindings/mmc/bst,c1200-sdhci.yamladded+70−0View file
Documentation/devicetree/bindings/mmc/cdns,sdhci.yamlmodified+0−2View file
Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yamlmodified+1−0View file
Documentation/devicetree/bindings/mmc/hisilicon,hi3660-dw-mshc.yamladded+117−0View file
Documentation/devicetree/bindings/mmc/k3-dw-mshc.txtdeleted+0−73View before deletion
Documentation/devicetree/bindings/mmc/loongson,ls2k0500-mmc.yamlmodified+1−0View file
Documentation/devicetree/bindings/mmc/mtk-sd.yamlmodified+3−0View file
Documentation/devicetree/bindings/mmc/renesas,sdhi.yamlmodified+6−0View file
Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yamlmodified+4−0View file
Documentation/devicetree/bindings/mmc/sdhci-msm.yamlmodified+2−0View file
Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yamlmodified+63−0View file
Documentation/devicetree/bindings/mmc/spacemit,sdhci.yamlmodified+13−1View file
MAINTAINERSmodified+2−0View file
arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtsmodified+2−2View file
arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dtsmodified+2−2View file
drivers/i2c/busses/i2c-omap.cmodified+5−19View file
drivers/mmc/core/block.cmodified+13−73View file
drivers/mmc/core/card.hmodified+11−0View file
drivers/mmc/core/core.cmodified+2−1View file
drivers/mmc/core/host.cmodified+17−12View file
drivers/mmc/core/host.hmodified+1−5View file
drivers/mmc/core/mmc.cmodified+12−0View file
drivers/mmc/core/mmc_test.cmodified+46−65View file
drivers/mmc/core/queue.cmodified+7−2View file
drivers/mmc/core/queue.hmodified+5−2View file
drivers/mmc/core/quirks.hmodified+14−7View file
drivers/mmc/core/sdio_io.cmodified+2−4View file
drivers/mmc/host/Kconfigmodified+15−1View file
drivers/mmc/host/Makefilemodified+1−0View file
drivers/mmc/host/atmel-mci.cmodified+3−9View file
drivers/mmc/host/cavium-octeon.cmodified+2−3View file
drivers/mmc/host/cavium.cmodified+1−3View file
drivers/mmc/host/dw_mmc-bluefield.cmodified+1−1View file
drivers/mmc/host/dw_mmc-exynos.cmodified+4−5View file
drivers/mmc/host/dw_mmc-hi3798cv200.cmodified+2−4View file
drivers/mmc/host/dw_mmc-hi3798mv200.cmodified+12−16View file
drivers/mmc/host/dw_mmc-k3.cmodified+17−34View file
drivers/mmc/host/dw_mmc-pci.cmodified+15−22View file
drivers/mmc/host/dw_mmc-pltfm.cmodified+12−22View file
drivers/mmc/host/dw_mmc-pltfm.hmodified+1−1View file
drivers/mmc/host/dw_mmc-rockchip.cmodified+22−14View file
drivers/mmc/host/dw_mmc-starfive.cmodified+2−3View file
drivers/mmc/host/dw_mmc.cmodified+314−505View file
drivers/mmc/host/dw_mmc.hmodified+33−115View file
drivers/mmc/host/jz4740_mmc.cmodified+1−1View file
drivers/mmc/host/loongson2-mmc.cmodified+43−17View file
drivers/mmc/host/mtk-sd.cmodified+29−3View file
drivers/mmc/host/renesas_sdhi_core.cmodified+6−0View file
drivers/mmc/host/renesas_sdhi_sys_dmac.cmodified+4−8View file
drivers/mmc/host/rtsx_pci_sdmmc.cmodified+6−82View file
drivers/mmc/host/sdhci-esdhc-imx.cmodified+28−5View file
drivers/mmc/host/sdhci-msm.cmodified+118−6View file
drivers/mmc/host/sdhci-of-arasan.cmodified+27−61View file
drivers/mmc/host/sdhci-of-aspeed.cmodified+8−3View file
drivers/mmc/host/sdhci-of-bst.cadded+523−0View file
drivers/mmc/host/sdhci-of-dwcmshc.cmodified+479−38View file
drivers/mmc/host/sdhci-of-k1.cmodified+37−2View file
drivers/mmc/host/sdhci-pci-core.cmodified+0−1View file
drivers/mmc/host/sdhci-pic32.cmodified+1−4View file
drivers/mmc/host/sdhci-pltfm.cmodified+0−20View file
drivers/mmc/host/sdhci-uhs2.cmodified+1−12View file
drivers/mmc/host/sdhci.cmodified+7−16View file
drivers/mmc/host/tifm_sd.cmodified+1−3View file
drivers/mmc/host/vub300.cmodified+26−25View file
drivers/mux/Kconfigmodified+15−2View file
drivers/mux/core.cmodified+167−27View file
drivers/phy/phy-can-transceiver.cmodified+0−10View file
drivers/phy/renesas/phy-rcar-gen3-usb2.cmodified+2−28View file
include/linux/mmc/card.hmodified+2−0View file
include/linux/mmc/sdio_ids.hmodified+3−0View file
include/linux/mux/consumer.hmodified+104−4View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/mmc/amlogic,meson-gx-mmc.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/amlogic,meson-gx-mmc.yaml b/Documentation/devicetree/bindings/mmc/amlogic,meson-gx-mmc.yaml
index 5764657..976f36d 100644
--- a/Documentation/devicetree/bindings/mmc/amlogic,meson-gx-mmc.yaml
+++ b/Documentation/devicetree/bindings/mmc/amlogic,meson-gx-mmc.yaml
@@ -19,6 +19,10 @@ allOf:
properties:
compatible:
oneOf:
+ - items:
+ - enum:
+ - amlogic,t7-mmc
+ - const: amlogic,meson-axg-mmc
- const: amlogic,meson-axg-mmc
- items:
- const: amlogic,meson-gx-mmc

Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
index 8e79de9..f343fb7 100644
--- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
@@ -106,6 +106,9 @@ properties:
description:
For this device it is strongly suggested to include
arasan,soc-ctl-syscon.
+ - items:
+ - const: axiado,ax3000-sdhci-5.1-emmc # Axiado AX3000 eMMC controller
+ - const: arasan,sdhci-5.1
reg:
maxItems: 1
@@ -121,6 +124,8 @@ properties:
- const: clk_ahb
- const: gate
+ dma-coherent: true
+
interrupts:
minItems: 1
maxItems: 2

Documentation/devicetree/bindings/mmc/arm,pl18x.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml b/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml
index f90fd73..8d62be4 100644
--- a/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml
+++ b/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml
@@ -11,7 +11,7 @@ maintainers:
- Ulf Hansson <[email protected]>
description:
- The ARM PrimeCells MMCI PL180 and PL181 provides an interface for
+ The ARM PrimeCell MMCI PL180 and PL181 provides an interface for
reading and writing to MultiMedia and SD cards alike. Over the years
vendors have use the VHDL code from ARM to create derivative MMC/SD/SDIO
host controllers with very similar characteristics.

Documentation/devicetree/bindings/mmc/aspeed,sdhci.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/aspeed,sdhci.yaml b/Documentation/devicetree/bindings/mmc/aspeed,sdhci.yaml
index d24950c..e4a9c28 100644
--- a/Documentation/devicetree/bindings/mmc/aspeed,sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/aspeed,sdhci.yaml
@@ -22,10 +22,15 @@ description: |+
properties:
compatible:
- enum:
- - aspeed,ast2400-sd-controller
- - aspeed,ast2500-sd-controller
- - aspeed,ast2600-sd-controller
+ oneOf:
+ - enum:
+ - aspeed,ast2400-sd-controller
+ - aspeed,ast2500-sd-controller
+ - aspeed,ast2600-sd-controller
+ - items:
+ - const: aspeed,ast2700-sd-controller
+ - const: aspeed,ast2600-sd-controller
+
reg:
maxItems: 1
description: Common configuration registers
@@ -38,6 +43,9 @@ properties:
maxItems: 1
description: The SD/SDIO controller clock gate
+ resets:
+ maxItems: 1
+
patternProperties:
"^sdhci@[0-9a-f]+$":
type: object
@@ -46,10 +54,15 @@ patternProperties:
properties:
compatible:
- enum:
- - aspeed,ast2400-sdhci
- - aspeed,ast2500-sdhci
- - aspeed,ast2600-sdhci
+ oneOf:
+ - enum:
+ - aspeed,ast2400-sdhci
+ - aspeed,ast2500-sdhci
+ - aspeed,ast2600-sdhci
+ - items:
+ - const: aspeed,ast2700-sdhci
+ - const: aspeed,ast2600-sdhci
+
reg:
maxItems: 1
description: The SDHCI registers
@@ -78,6 +91,18 @@ required:
- ranges
- clocks
+if:
+ properties:
+ compatible:
+ contains:
+ const: aspeed,ast2700-sd-controller
+then:
+ required:
+ - resets
+else:
+ properties:
+ resets: false
+
examples:
- |
#include <dt-bindings/clock/aspeed-clock.h>

Documentation/devicetree/bindings/mmc/brcm,iproc-sdhci.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/brcm,iproc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/brcm,iproc-sdhci.yaml
index 2f63f2c..65bb2f6 100644
--- a/Documentation/devicetree/bindings/mmc/brcm,iproc-sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/brcm,iproc-sdhci.yaml
@@ -26,9 +26,14 @@ properties:
reg:
minItems: 1
+ dma-coherent: true
+
interrupts:
maxItems: 1
+ iommus:
+ maxItems: 1
+
clocks:
maxItems: 1
description:

Documentation/devicetree/bindings/mmc/bst,c1200-sdhci.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/bst,c1200-sdhci.yaml b/Documentation/devicetree/bindings/mmc/bst,c1200-sdhci.yaml
new file mode 100644
index 0000000..8358bb7
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/bst,c1200-sdhci.yaml
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/bst,c1200-sdhci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Black Sesame Technologies DWCMSHC SDHCI Controller
+
+maintainers:
+ - Ge Gordon <[email protected]>
+
+allOf:
+ - $ref: sdhci-common.yaml#
+
+properties:
+ compatible:
+ const: bst,c1200-sdhci
+
+ reg:
+ items:
+ - description: Core SDHCI registers
+ - description: CRM registers
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ items:
+ - const: core
+
+ memory-region:
+ maxItems: 1
+
+ dma-coherent: true
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ bus {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ mmc@22200000 {
+ compatible = "bst,c1200-sdhci";
+ reg = <0x0 0x22200000 0x0 0x1000>,
+ <0x0 0x23006000 0x0 0x1000>;
+ interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk_mmc>;
+ clock-names = "core";
+ memory-region = <&mmc0_reserved>;
+ max-frequency = <200000000>;
+ bus-width = <8>;
+ non-removable;
+ dma-coherent;
+ };
+ };

Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
index ac75d69..6c7317d 100644
--- a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml
@@ -134,8 +134,6 @@ allOf:
items:
- description: Host controller registers
- description: Elba byte-lane enable register for writes
- required:
- - resets
else:
properties:
reg:

Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
index b98a84f..014b049 100644
--- a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
+++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
@@ -35,6 +35,7 @@ properties:
- fsl,imx8mm-usdhc
- fsl,imxrt1050-usdhc
- nxp,s32g2-usdhc
+ - nxp,s32n79-usdhc
- items:
- const: fsl,imx50-esdhc
- const: fsl,imx53-esdhc

Documentation/devicetree/bindings/mmc/hisilicon,hi3660-dw-mshc.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/hisilicon,hi3660-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/hisilicon,hi3660-dw-mshc.yaml
new file mode 100644
index 0000000..296bd77
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/hisilicon,hi3660-dw-mshc.yaml
@@ -0,0 +1,117 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/hisilicon,hi3660-dw-mshc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Hisilicon specific extensions to the Synopsys Designware Mobile Storage Host Controller
+
+maintainers:
+ - Zhangfei Gao <[email protected]>
+
+description:
+ The Synopsys designware mobile storage host controller is used to interface
+ a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
+ differences between the core Synopsys dw mshc controller properties described
+ by synopsys-dw-mshc.txt and the properties used by the Hisilicon specific
+ extensions to the Synopsys Designware Mobile Storage Host Controller.
+
+allOf:
+ - $ref: /schemas/mmc/synopsys-dw-mshc-common.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - hisilicon,hi3660-dw-mshc
+ - hisilicon,hi4511-dw-mshc
+ - hisilicon,hi6220-dw-mshc
+ - items:
+ - const: hisilicon,hi3670-dw-mshc
+ - const: hisilicon,hi3660-dw-mshc
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: card interface unit clock
+ - description: bus interface unit clock
+
+ clock-names:
+ items:
+ - const: ciu
+ - const: biu
+
+ hisilicon,peripheral-syscon:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: phandle of syscon used to control peripheral.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/hi3620-clock.h>
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ mmc@fcd03000 {
+ compatible = "hisilicon,hi4511-dw-mshc";
+ reg = <0xfcd03000 0x1000>;
+ interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&mmc_clock HI3620_SD_CIUCLK>, <&clock HI3620_DDRC_PER_CLK>;
+ clock-names = "ciu", "biu";
+ vmmc-supply = <&ldo12>;
+ fifo-depth = <0x100>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sd_pmx_pins &sd_cfg_func1 &sd_cfg_func2>;
+ bus-width = <4>;
+ disable-wp;
+ cd-gpios = <&gpio10 3 GPIO_ACTIVE_HIGH>;
+ cap-mmc-highspeed;
+ cap-sd-highspeed;
+ };
+
+ - |
+ #include <dt-bindings/clock/hi6220-clock.h>
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ mmc@f723e000 {
+ compatible = "hisilicon,hi6220-dw-mshc";
+ reg = <0x0 0xf723e000 0x0 0x1000>;
+ interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clock_sys HI6220_MMC1_CIUCLK>,
+ <&clock_sys HI6220_MMC1_CLK>;
+ clock-names = "ciu", "biu";
+ bus-width = <4>;
+ disable-wp;
+ cap-sd-highspeed;
+ sd-uhs-sdr12;
+ sd-uhs-sdr25;
+ card-detect-delay = <200>;
+ hisilicon,peripheral-syscon = <&ao_ctrl>;
+ cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default", "idle";
+ pinctrl-0 = <&sd_pmx_func &sd_clk_cfg_func &sd_cfg_func>;
+ pinctrl-1 = <&sd_pmx_idle &sd_clk_cfg_idle &sd_cfg_idle>;
+ vqmmc-supply = <&ldo7>;
+ vmmc-supply = <&ldo10>;
+ };
+ };

Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt

View before deletion
diff --git a/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
deleted file mode 100644
index 36c4bea..0000000
--- a/Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-* Hisilicon specific extensions to the Synopsys Designware Mobile
- Storage Host Controller
-
-Read synopsys-dw-mshc.txt for more details
-
-The Synopsys designware mobile storage host controller is used to interface
-a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
-differences between the core Synopsys dw mshc controller properties described
-by synopsys-dw-mshc.txt and the properties used by the Hisilicon specific
-extensions to the Synopsys Designware Mobile Storage Host Controller.
-
-Required Properties:
-
-* compatible: should be one of the following.
- - "hisilicon,hi3660-dw-mshc": for controllers with hi3660 specific extensions.
- - "hisilicon,hi3670-dw-mshc", "hisilicon,hi3660-dw-mshc": for controllers
- with hi3670 specific extensions.
- - "hisilicon,hi4511-dw-mshc": for controllers with hi4511 specific extensions.
- - "hisilicon,hi6220-dw-mshc": for controllers with hi6220 specific extensions.
-
-Optional Properties:
-- hisilicon,peripheral-syscon: phandle of syscon used to control peripheral.
-
-Example:
-
- /* for Hi3620 */
-
- /* SoC portion */
- dwmmc_0: dwmmc0@fcd03000 {
- compatible = "hisilicon,hi4511-dw-mshc";
- reg = <0xfcd03000 0x1000>;
- interrupts = <0 16 4>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&mmc_clock HI3620_SD_CIUCLK>, <&clock HI3620_DDRC_PER_CLK>;
- clock-names = "ciu", "biu";
- };
-
- /* Board portion */
- dwmmc0@fcd03000 {
- vmmc-supply = <&ldo12>;
- fifo-depth = <0x100>;
- pinctrl-names = "default";
- pinctrl-0 = <&sd_pmx_pins &sd_cfg_func1 &sd_cfg_func2>;
- bus-width = <4>;
- disable-wp;
- cd-gpios = <&gpio10 3 0>;
- cap-mmc-highspeed;
- cap-sd-highspeed;
- };
-
- /* for Hi6220 */
-
- dwmmc_1: dwmmc1@f723e000 {
- compatible = "hisilicon,hi6220-dw-mshc";
- bus-width = <0x4>;
- disable-wp;
- cap-sd-highspeed;
- sd-uhs-sdr12;
- sd-uhs-sdr25;
- card-detect-delay = <200>;
- hisilicon,peripheral-syscon = <&ao_ctrl>;
- reg = <0x0 0xf723e000 0x0 0x1000>;
- interrupts = <0x0 0x49 0x4>;
- clocks = <&clock_sys HI6220_MMC1_CIUCLK>, <&clock_sys HI6220_MMC1_CLK>;
- clock-names = "ciu", "biu";
- cd-gpios = <&gpio1 0 1>;
- pinctrl-names = "default", "idle";
- pinctrl-0 = <&sd_pmx_func &sd_clk_cfg_func &sd_cfg_func>;
- pinctrl-1 = <&sd_pmx_idle &sd_clk_cfg_idle &sd_cfg_idle>;
- vqmmc-supply = <&ldo7>;
- vmmc-supply = <&ldo10>;
- };

Documentation/devicetree/bindings/mmc/loongson,ls2k0500-mmc.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/loongson,ls2k0500-mmc.yaml b/Documentation/devicetree/bindings/mmc/loongson,ls2k0500-mmc.yaml
index c142421..b3e8d3f 100644
--- a/Documentation/devicetree/bindings/mmc/loongson,ls2k0500-mmc.yaml
+++ b/Documentation/devicetree/bindings/mmc/loongson,ls2k0500-mmc.yaml
@@ -22,6 +22,7 @@ allOf:
properties:
compatible:
enum:
+ - loongson,ls2k0300-mmc
- loongson,ls2k0500-mmc
- loongson,ls2k1000-mmc
- loongson,ls2k2000-mmc

Documentation/devicetree/bindings/mmc/mtk-sd.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
index 6dd26ad..eb3755b 100644
--- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
+++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml
@@ -25,6 +25,7 @@ properties:
- mediatek,mt8135-mmc
- mediatek,mt8173-mmc
- mediatek,mt8183-mmc
+ - mediatek,mt8189-mmc
- mediatek,mt8196-mmc
- mediatek,mt8516-mmc
- items:
@@ -192,6 +193,7 @@ allOf:
- mediatek,mt8183-mmc
- mediatek,mt8186-mmc
- mediatek,mt8188-mmc
+ - mediatek,mt8189-mmc
- mediatek,mt8195-mmc
- mediatek,mt8196-mmc
- mediatek,mt8516-mmc
@@ -240,6 +242,7 @@ allOf:
- mediatek,mt7986-mmc
- mediatek,mt7988-mmc
- mediatek,mt8183-mmc
+ - mediatek,mt8189-mmc
- mediatek,mt8196-mmc
then:
properties:

Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml
index c754ea7..64fac0d 100644
--- a/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml
+++ b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml
@@ -106,6 +106,11 @@ properties:
iommus:
maxItems: 1
+ mux-states:
+ description:
+ mux controller node to route the SD/SDIO/eMMC signals from SoC to cards.
+ maxItems: 1
+
power-domains:
maxItems: 1
@@ -275,6 +280,7 @@ examples:
max-frequency = <195000000>;
power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
resets = <&cpg 314>;
+ mux-states = <&mux 0>;
};
sdhi1: mmc@ee120000 {

Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yaml
index acb9fb9..4965bb5 100644
--- a/Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yaml
+++ b/Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.yaml
@@ -47,6 +47,10 @@ properties:
- rockchip,rv1126-dw-mshc
- const: rockchip,rk3288-dw-mshc
# for Rockchip RK3576 with phase tuning inside the controller
+ - items:
+ - enum:
+ - rockchip,rv1103b-dw-mshc
+ - const: rockchip,rk3576-dw-mshc
- const: rockchip,rk3576-dw-mshc
reg:

Documentation/devicetree/bindings/mmc/sdhci-msm.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-msm.yaml b/Documentation/devicetree/bindings/mmc/sdhci-msm.yaml
index 938be82..695a95e 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-msm.yaml
+++ b/Documentation/devicetree/bindings/mmc/sdhci-msm.yaml
@@ -38,10 +38,12 @@ properties:
- items:
- enum:
- qcom,ipq5018-sdhci
+ - qcom,ipq5210-sdhci
- qcom,ipq5332-sdhci
- qcom,ipq5424-sdhci
- qcom,ipq6018-sdhci
- qcom,ipq9574-sdhci
+ - qcom,ipq9650-sdhci
- qcom,kaanapali-sdhci
- qcom,milos-sdhci
- qcom,qcm2290-sdhci

Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml

View file
diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
index 7e7c55d..cd823a3 100644
--- a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
@@ -23,6 +23,9 @@ properties:
- const: sophgo,sg2044-dwcmshc
- const: sophgo,sg2042-dwcmshc
- enum:
+ - canaan,k230-emmc
+ - canaan,k230-sdio
+ - hpe,gsc-dwcmshc
- rockchip,rk3568-dwcmshc
- rockchip,rk3588-dwcmshc
- snps,dwcmshc-sdhci
@@ -50,11 +53,18 @@ properties:
maxItems: 1
resets:
+ minItems: 4
maxItems: 5
reset-names:
+ minItems: 4
maxItems: 5
+ canaan,usb-phy:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: Phandle to the Canaan K230 USB PHY node required for
+ k230-emmc/sdio.
+
rockchip,txclk-tapnum:
description: Specify the number of delay for tx sampling.
$ref: /schemas/types.yaml#/definitions/uint8
@@ -77,6 +87,17 @@ properties:
description: Specifies the drive impedance in Ohm.
enum: [33, 40, 50, 66, 100]
+ hpe,gxp-sysreg:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: phandle to HPE GXP SoC system register block (syscon)
+ - description: offset of the MSHCCS register within the syscon block
+ description:
+ Phandle to the HPE GXP SoC system register block (syscon) and
+ offset of the MSHCCS register used to configure clock
+ synchronisation for HS200 tuning.
+
required:
- compatible
- reg
@@ -91,6 +112,47 @@ allOf:
properties:
compatible:
contains:
+ enum:
+ - canaan,k230-emmc
+ - canaan,k230-sdio

This diff is incomplete. Download the complete patch.

Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml

View file

This diff is incomplete. Download the complete patch.

MAINTAINERS

View file

This diff is incomplete. Download the complete patch.

arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts

View file

This diff is incomplete. Download the complete patch.

arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts

View file

This diff is incomplete. Download the complete patch.

drivers/i2c/busses/i2c-omap.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/block.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/card.h

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/host.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/host.h

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/mmc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/mmc_test.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/queue.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/queue.h

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/quirks.h

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/core/sdio_io.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/atmel-mci.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/cavium-octeon.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/cavium.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-bluefield.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-exynos.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-hi3798cv200.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-hi3798mv200.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-k3.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-pci.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-pltfm.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-pltfm.h

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-rockchip.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc-starfive.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/dw_mmc.h

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/jz4740_mmc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/loongson2-mmc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/mtk-sd.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/renesas_sdhi_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/renesas_sdhi_sys_dmac.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/rtsx_pci_sdmmc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-esdhc-imx.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-msm.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-of-arasan.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-of-aspeed.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-of-bst.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-of-dwcmshc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-of-k1.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-pci-core.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-pic32.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-pltfm.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-uhs2.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/tifm_sd.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/vub300.c

View file

This diff is incomplete. Download the complete patch.

drivers/mux/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/mux/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/phy/phy-can-transceiver.c

View file

This diff is incomplete. Download the complete patch.

drivers/phy/renesas/phy-rcar-gen3-usb2.c

View file

This diff is incomplete. Download the complete patch.

include/linux/mmc/card.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mmc/sdio_ids.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mux/consumer.h

View file

This diff is incomplete. Download the complete patch.