Skip to content

Commit c5d6c13

Browse files
committed
Merge tag 'mmc-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC updates from Ulf Hansson: "MMC core: - Enable erase/discard/trim support for all (e)MMC/SD hosts - Export information through sysfs about enhanced RPMB support (eMMC v5.1+) - Align the initialization commands for SDIO cards - Fix SDIO initialization to prevent memory leaks and NULL pointer errors - Do not export undefined MMC_NAME/MODALIAS for SDIO cards - Export device/vendor field from common CIS for SDIO cards - Move SDIO IDs from functional drivers to the common SDIO header - Introduce the ->request_atomic() host ops MMC host: - Improve support for HW busy signaling for several hosts - Converting some DT bindings to the json-schema - meson-mx-sdhc: Add driver and DT doc for the Amlogic Meson SDHC controller - meson-mx-sdio: Run a soft reset to recover from timeout/CRC error - mmci: Convert to use mmc_regulator_set_vqmmc() - mmci_stm32_sdmmc: Fix a couple of DMA bugs - mmci_stm32_sdmmc: Fix power on issue - renesas,mmcif,sdhci: Document r8a7742 DT bindings - renesas_sdhi: Add support for M3-W ES1.2 and 1.3 revisions - renesas_sdhi: Improvements to the TAP selection - renesas_sdhi/tmio: Further fixup runtime PM management at ->remove() - sdhci: Introduce ops to dump vendor specific registers - sdhci-cadence: Fix PHY write sequence - sdhci-esdhc-imx: Improve tunings - sdhci-esdhc-imx: Enable GPIO card detect as system wakeup - sdhci-esdhc-imx: Add HS400 support for i.MX6SLL - sdhci-esdhc-mcf: Add driver for the Coldfire/M5441X esdhc controller - m68k: mcf5441x: Add platform data to enable esdhc mmc controller - sdhci-msm: Improve HS400 tuning - sdhci-msm: Dump vendor specific registers at error - sdhci-msm: Add support for DLL/DDR properties provided from DT - sdhci-msm: Add support for the sm8250 variant - sdhci-msm: Add support for DVFS by converting to dev_pm_opp_set_rate() - sdhci-of-arasan: Add support for Intel Keem Bay variant - sdhci-of-arasan: Add support for Xilinx Versal SD variant - sdhci-of-dwcmshc: Add support for system suspend/resume - sdhci-of-dwcmshc: Fix UHS signaling support - sdhci-of-esdhc: Fix tuning for eMMC HS400 mode - sdhci-pci-gli: Add Genesys Logic GL9763E support - sdhci-sprd: Add support for the ->request_atomic() ops - sdhci-tegra: Avoid reading autocal timeout values when not applicable MEMSTICK: - Minor trivial update" * tag 'mmc-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (127 commits) dt-bindings: mmc: Convert sdhci-pxa to json-schema mmc: sdhci-msm: Clear tuning done flag while hs400 tuning mmc: core: Export device/vendor ids from Common CIS for SDIO cards mmc: core: Do not export MMC_NAME= and MODALIAS=mmc:block for SDIO cards mmc: sdhci-of-at91: fix CALCR register being rewritten mmc: sdhci-esdhc-imx: disable the CMD CRC check for standard tuning mmc: sdhci-esdhc-imx: fix the mask for tuning start point mmc: host: sdhci-esdhc-imx: add wakeup feature for GPIO CD pin mmc: mmci_sdmmc: fix DMA API warning max segment size mmc: mmci_sdmmc: fix DMA API warning overlapping mappings mmc: sdhci-of-arasan: Add support for Intel Keem Bay dt-bindings: mmc: arasan: Add compatible strings for Intel Keem Bay mmc: sdhci-cadence: fix PHY write mmc: sdio: Sort all SDIO IDs in common include file mmc: sdio: Fix Cypress SDIO IDs macros in common include file mmc: sdio: Move SDIO IDs from b43-sdio driver to common include file mmc: sdio: Move SDIO IDs from ath10k driver to common include file mmc: sdio: Move SDIO IDs from ath6kl driver to common include file mmc: sdio: Move SDIO IDs from smssdio driver to common include file mmc: sdio: Move SDIO IDs from btmtksdio driver to common include file ...
2 parents 9470904 + ae5c058 commit c5d6c13

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+3881
-796
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mmc/amlogic,meson-mx-sdhc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Amlogic Meson SDHC controller Device Tree Bindings
8+
9+
allOf:
10+
- $ref: "mmc-controller.yaml"
11+
12+
maintainers:
13+
- Martin Blumenstingl <[email protected]>
14+
15+
description: |
16+
The SDHC MMC host controller on Amlogic SoCs provides an eMMC and MMC
17+
card interface with 1/4/8-bit bus width.
18+
It supports eMMC spec 4.4x/4.5x including HS200 (up to 100MHz clock).
19+
20+
properties:
21+
compatible:
22+
items:
23+
- enum:
24+
- amlogic,meson8-sdhc
25+
- amlogic,meson8b-sdhc
26+
- amlogic,meson8m2-sdhc
27+
- const: amlogic,meson-mx-sdhc
28+
29+
reg:
30+
minItems: 1
31+
32+
interrupts:
33+
minItems: 1
34+
35+
clocks:
36+
minItems: 5
37+
38+
clock-names:
39+
items:
40+
- const: clkin0
41+
- const: clkin1
42+
- const: clkin2
43+
- const: clkin3
44+
- const: pclk
45+
46+
required:
47+
- compatible
48+
- reg
49+
- interrupts
50+
- clocks
51+
- clock-names
52+
53+
examples:
54+
- |
55+
#include <dt-bindings/interrupt-controller/irq.h>
56+
#include <dt-bindings/interrupt-controller/arm-gic.h>
57+
58+
sdhc: mmc@8e00 {
59+
compatible = "amlogic,meson8-sdhc", "amlogic,meson-mx-sdhc";
60+
reg = <0x8e00 0x42>;
61+
interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>;
62+
clocks = <&xtal>,
63+
<&fclk_div4>,
64+
<&fclk_div3>,
65+
<&fclk_div5>,
66+
<&sdhc_pclk>;
67+
clock-names = "clkin0", "clkin1", "clkin2", "clkin3", "pclk";
68+
};

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

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,21 @@ Required Properties:
1818
- "xlnx,zynqmp-8.9a": ZynqMP SDHCI 8.9a PHY
1919
For this device it is strongly suggested to include clock-output-names and
2020
#clock-cells.
21+
- "xlnx,versal-8.9a": Versal SDHCI 8.9a PHY
22+
For this device it is strongly suggested to include clock-output-names and
23+
#clock-cells.
2124
- "ti,am654-sdhci-5.1", "arasan,sdhci-5.1": TI AM654 MMC PHY
2225
Note: This binding has been deprecated and moved to [5].
2326
- "intel,lgm-sdhci-5.1-emmc", "arasan,sdhci-5.1": Intel LGM eMMC PHY
2427
For this device it is strongly suggested to include arasan,soc-ctl-syscon.
2528
- "intel,lgm-sdhci-5.1-sdxc", "arasan,sdhci-5.1": Intel LGM SDXC PHY
2629
For this device it is strongly suggested to include arasan,soc-ctl-syscon.
30+
- "intel,keembay-sdhci-5.1-emmc", "arasan,sdhci-5.1": Intel Keem Bay eMMC
31+
For this device it is strongly suggested to include arasan,soc-ctl-syscon.
32+
- "intel,keembay-sdhci-5.1-sd": Intel Keem Bay SD controller
33+
For this device it is strongly suggested to include arasan,soc-ctl-syscon.
34+
- "intel,keembay-sdhci-5.1-sdio": Intel Keem Bay SDIO controller
35+
For this device it is strongly suggested to include arasan,soc-ctl-syscon.
2736

2837
[5] Documentation/devicetree/bindings/mmc/sdhci-am654.txt
2938

@@ -104,6 +113,18 @@ Example:
104113
clk-phase-sd-hs = <63>, <72>;
105114
};
106115

116+
sdhci: mmc@f1040000 {
117+
compatible = "xlnx,versal-8.9a", "arasan,sdhci-8.9a";
118+
interrupt-parent = <&gic>;
119+
interrupts = <0 126 4>;
120+
reg = <0x0 0xf1040000 0x0 0x10000>;
121+
clocks = <&clk200>, <&clk200>;
122+
clock-names = "clk_xin", "clk_ahb";
123+
clock-output-names = "clk_out_sd0", "clk_in_sd0";
124+
#clock-cells = <1>;
125+
clk-phase-sd-hs = <132>, <60>;
126+
};
127+
107128
emmc: sdhci@ec700000 {
108129
compatible = "intel,lgm-sdhci-5.1-emmc", "arasan,sdhci-5.1";
109130
reg = <0xec700000 0x300>;
@@ -133,3 +154,39 @@ Example:
133154
phy-names = "phy_arasan";
134155
arasan,soc-ctl-syscon = <&sysconf>;
135156
};
157+
158+
mmc: mmc@33000000 {
159+
compatible = "intel,keembay-sdhci-5.1-emmc", "arasan,sdhci-5.1";
160+
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
161+
reg = <0x0 0x33000000 0x0 0x300>;
162+
clock-names = "clk_xin", "clk_ahb";
163+
clocks = <&scmi_clk KEEM_BAY_PSS_AUX_EMMC>,
164+
<&scmi_clk KEEM_BAY_PSS_EMMC>;
165+
phys = <&emmc_phy>;
166+
phy-names = "phy_arasan";
167+
assigned-clocks = <&scmi_clk KEEM_BAY_PSS_AUX_EMMC>;
168+
assigned-clock-rates = <200000000>;
169+
clock-output-names = "emmc_cardclock";
170+
#clock-cells = <0>;
171+
arasan,soc-ctl-syscon = <&mmc_phy_syscon>;
172+
};
173+
174+
sd0: mmc@31000000 {
175+
compatible = "intel,keembay-sdhci-5.1-sd";
176+
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
177+
reg = <0x0 0x31000000 0x0 0x300>;
178+
clock-names = "clk_xin", "clk_ahb";
179+
clocks = <&scmi_clk KEEM_BAY_PSS_AUX_SD0>,
180+
<&scmi_clk KEEM_BAY_PSS_SD0>;
181+
arasan,soc-ctl-syscon = <&sd0_phy_syscon>;
182+
};
183+
184+
sd1: mmc@32000000 {
185+
compatible = "intel,keembay-sdhci-5.1-sdio";
186+
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
187+
reg = <0x0 0x32000000 0x0 0x300>;
188+
clock-names = "clk_xin", "clk_ahb";
189+
clocks = <&scmi_clk KEEM_BAY_PSS_AUX_SD1>,
190+
<&scmi_clk KEEM_BAY_PSS_SD1>;
191+
arasan,soc-ctl-syscon = <&sd1_phy_syscon>;
192+
};

Documentation/devicetree/bindings/mmc/renesas,mmcif.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Required properties:
1111
- "renesas,mmcif-r7s72100" for the MMCIF found in r7s72100 SoCs
1212
- "renesas,mmcif-r8a73a4" for the MMCIF found in r8a73a4 SoCs
1313
- "renesas,mmcif-r8a7740" for the MMCIF found in r8a7740 SoCs
14+
- "renesas,mmcif-r8a7742" for the MMCIF found in r8a7742 SoCs
1415
- "renesas,mmcif-r8a7743" for the MMCIF found in r8a7743 SoCs
1516
- "renesas,mmcif-r8a7744" for the MMCIF found in r8a7744 SoCs
1617
- "renesas,mmcif-r8a7745" for the MMCIF found in r8a7745 SoCs
@@ -24,8 +25,8 @@ Required properties:
2425
- interrupts: Some SoCs have only 1 shared interrupt, while others have either
2526
2 or 3 individual interrupts (error, int, card detect). Below is the number
2627
of interrupts for each SoC:
27-
1: r8a73a4, r8a7743, r8a7744, r8a7745, r8a7778, r8a7790, r8a7791, r8a7793,
28-
r8a7794
28+
1: r8a73a4, r8a7742, r8a7743, r8a7744, r8a7745, r8a7778, r8a7790, r8a7791,
29+
r8a7793, r8a7794
2930
2: r8a7740, sh73a0
3031
3: r7s72100
3132

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Required properties:
77
"renesas,sdhi-r7s9210" - SDHI IP on R7S9210 SoC
88
"renesas,sdhi-r8a73a4" - SDHI IP on R8A73A4 SoC
99
"renesas,sdhi-r8a7740" - SDHI IP on R8A7740 SoC
10+
"renesas,sdhi-r8a7742" - SDHI IP on R8A7742 SoC
1011
"renesas,sdhi-r8a7743" - SDHI IP on R8A7743 SoC
1112
"renesas,sdhi-r8a7744" - SDHI IP on R8A7744 SoC
1213
"renesas,sdhi-r8a7745" - SDHI IP on R8A7745 SoC

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Required properties:
1717
"qcom,msm8916-sdhci", "qcom,sdhci-msm-v4"
1818
"qcom,msm8992-sdhci", "qcom,sdhci-msm-v4"
1919
"qcom,msm8996-sdhci", "qcom,sdhci-msm-v4"
20+
"qcom,sm8250-sdhci", "qcom,sdhci-msm-v5"
2021
"qcom,sdm845-sdhci", "qcom,sdhci-msm-v5"
2122
"qcom,qcs404-sdhci", "qcom,sdhci-msm-v5"
2223
"qcom,sc7180-sdhci", "qcom,sdhci-msm-v5";
@@ -46,6 +47,13 @@ Required properties:
4647
"cal" - reference clock for RCLK delay calibration (optional)
4748
"sleep" - sleep clock for RCLK delay calibration (optional)
4849

50+
- qcom,ddr-config: Certain chipsets and platforms require particular settings
51+
for the DDR_CONFIG register. Use this field to specify the register
52+
value as per the Hardware Programming Guide.
53+
54+
- qcom,dll-config: Chipset and Platform specific value. Use this field to
55+
specify the DLL_CONFIG register value as per Hardware Programming Guide.
56+
4957
Example:
5058

5159
sdhc_1: sdhci@f9824900 {
@@ -63,6 +71,9 @@ Example:
6371

6472
clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
6573
clock-names = "core", "iface";
74+
75+
qcom,dll-config = <0x000f642c>;
76+
qcom,ddr-config = <0x80040868>;
6677
};
6778

6879
sdhc_2: sdhci@f98a4900 {
@@ -80,4 +91,7 @@ Example:
8091

8192
clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
8293
clock-names = "core", "iface";
94+
95+
qcom,dll-config = <0x0007642c>;
96+
qcom,ddr-config = <0x80040868>;
8397
};

Documentation/devicetree/bindings/mmc/sdhci-pxa.txt

Lines changed: 0 additions & 50 deletions
This file was deleted.
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mmc/sdhci-pxa.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Marvell PXA SDHCI v2/v3 bindings
8+
9+
maintainers:
10+
- Ulf Hansson <[email protected]>
11+
12+
allOf:
13+
- $ref: mmc-controller.yaml#
14+
- if:
15+
properties:
16+
compatible:
17+
contains:
18+
const: marvell,armada-380-sdhci
19+
then:
20+
properties:
21+
regs:
22+
minItems: 3
23+
reg-names:
24+
minItems: 3
25+
required:
26+
- reg-names
27+
else:
28+
properties:
29+
regs:
30+
maxItems: 1
31+
reg-names:
32+
maxItems: 1
33+
34+
properties:
35+
compatible:
36+
enum:
37+
- mrvl,pxav2-mmc
38+
- mrvl,pxav3-mmc
39+
- marvell,armada-380-sdhci
40+
41+
reg:
42+
minItems: 1
43+
maxItems: 3
44+
45+
reg-names:
46+
items:
47+
- const: sdhci
48+
- const: mbus
49+
- const: conf-sdio3
50+
51+
interrupts:
52+
maxItems: 1
53+
54+
clocks:
55+
minItems: 1
56+
maxItems: 2
57+
58+
clock-names:
59+
minItems: 1
60+
maxItems: 2
61+
items:
62+
- const: io
63+
- const: core
64+
65+
mrvl,clk-delay-cycles:
66+
description: Specify a number of cycles to delay for tuning.
67+
$ref: /schemas/types.yaml#/definitions/uint32
68+
69+
required:
70+
- compatible
71+
- reg
72+
- interrupts
73+
- clocks
74+
- clock-names
75+
76+
examples:
77+
- |
78+
#include <dt-bindings/clock/berlin2.h>
79+
mmc@d4280800 {
80+
compatible = "mrvl,pxav3-mmc";
81+
reg = <0xd4280800 0x800>;
82+
bus-width = <8>;
83+
interrupts = <27>;
84+
clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>;
85+
clock-names = "io", "core";
86+
non-removable;
87+
mrvl,clk-delay-cycles = <31>;
88+
};
89+
- |
90+
mmc@d8000 {
91+
compatible = "marvell,armada-380-sdhci";
92+
reg-names = "sdhci", "mbus", "conf-sdio3";
93+
reg = <0xd8000 0x1000>,
94+
<0xdc000 0x100>,
95+
<0x18454 0x4>;
96+
interrupts = <0 25 0x4>;
97+
clocks = <&gateclk 17>;
98+
clock-names = "io";
99+
mrvl,clk-delay-cycles = <0x1F>;
100+
};
101+
102+
...

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6733,6 +6733,13 @@ S: Maintained
67336733
F: Documentation/devicetree/bindings/crypto/fsl-sec4.txt
67346734
F: drivers/crypto/caam/
67356735

6736+
FREESCALE COLDFIRE M5441X MMC DRIVER
6737+
M: Angelo Dureghello <[email protected]>
6738+
6739+
S: Maintained
6740+
F: drivers/mmc/host/sdhci-esdhc-mcf.c
6741+
F: include/linux/platform_data/mmc-esdhc-mcf.h
6742+
67366743
FREESCALE DIU FRAMEBUFFER DRIVER
67376744
M: Timur Tabi <[email protected]>
67386745

0 commit comments

Comments
 (0)