Skip to content

Commit 328141e

Browse files
committed
Merge tag 'mmc-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC updates from Ulf Hansson: "MMC core: - Add support for the asynchronous SDIO wakeup interrupts - Skip redundant evaluation of eMMC HS400 caps when no-MMC-cap - Add support to store error stats from host drivers - Extend debugfs to show error stats from host drivers - Add single I/O read support in the recovery path for 4k sector cards MMC host: - dw_mmc-exynos: Convert corresponding DT bindings to the dtschema - dw_mmc-rockchip: Add support for the Rockchip RV1126 variant - mmc_spi: Convert corresponding DT bindings to the dtschema - mtk-sd: Extend support for interrupts/pinctrls for SDIO low-power mode - mtk-sd: Add support for SDIO wake irqs - mtk-sd: Add support for the Mediatek MT8188 variant - renesas_sdhi: Drop redundant manual tap correction for newer SoCs - renesas_sdhi: Add support for the R-Car S4-8 and generic Gen4 variants - sdhci/cqhci: Add support to capture stats from host errors - sdhci-brcmstb: Add ability to increase max clock rate for SDIO on 72116b0 - sdhci-msm: Add support for the MSM8998 and SM8450 variant - sdhci-of-at91: Fixup UHS-I mode by rewriting of MC1R - sdhci-of-dwcmshc: Add support for the Rockchip rk3588 variant - sdhci-of-dwcmshc: Enable reset support for the Rockchip variants - sdhci-pci-gli: Improve I/O read/write performance for GL9763E - sdhci-s3c: Convert corresponding DT bindings to the dtschema - tmio: Avoid glitches when resetting MEMSTICK core: - A couple of minor fixes and cleanups" * tag 'mmc-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (61 commits) mmc: mediatek: add support for SDIO eint wakup IRQ mmc: core: Add support for SDIO wakeup interrupt dt-bindings: mmc: mtk-sd: extend interrupts and pinctrls properties dt-bindings: mmc: rockchip-dw-mshc: Document Rockchip RV1126 mmc: renesas_sdhi: newer SoCs don't need manual tap correction mmc: cavium-thunderx: Add of_node_put() when breaking out of loop mmc: cavium-octeon: Add of_node_put() when breaking out of loop mmc: core: quirks: Add of_node_put() when breaking out of loop mmc: sdhci-brcmstb: use clk_get_rate(base_clk) in PM resume dt-bindings: mmc: sdhci-msm: Document the SM8450 compatible mmc: sdhci-msm: drop redundant of_device_id entries dt-bindings: mmc: sdhci-msm: add MSM8998 mmc: block: Add single read for 4k sector cards mmc: mxcmmc: Use mmc_card_sdio macro mmc: core: Use mmc_card_* macro and add a new for the sd_combo type dt-bindings: mmc: sdhci-msm: constrain reg-names per variants dt-bindings: mmc: sdhci-msm: fix reg-names entries dt-bindings: mmc: Add compatible for MediaTek MT8188 dt-bindings: mmc: sdhci-msm: document resets mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R ...
2 parents eff0cb3 + 527f36f commit 328141e

Some content is hidden

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

49 files changed

+1152
-362
lines changed

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

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ maintainers:
1010
- Al Cooper <[email protected]>
1111
- Florian Fainelli <[email protected]>
1212

13-
allOf:
14-
- $ref: mmc-controller.yaml#
15-
1613
properties:
1714
compatible:
1815
oneOf:
@@ -42,23 +39,46 @@ properties:
4239
maxItems: 1
4340

4441
clocks:
45-
maxItems: 1
46-
description:
47-
handle to core clock for the sdhci controller.
42+
minItems: 1
43+
items:
44+
- description: handle to core clock for the sdhci controller
45+
- description: handle to improved 150Mhz clock for sdhci controller (Optional clock)
4846

4947
clock-names:
48+
minItems: 1
5049
items:
5150
- const: sw_sdio
51+
- const: sdio_freq # Optional clock
52+
53+
clock-frequency:
54+
description:
55+
Maximum operating frequency of sdio_freq sdhci controller clock
56+
$ref: /schemas/types.yaml#/definitions/uint32
57+
minimum: 100000000
58+
maximum: 150000000
5259

5360
sdhci,auto-cmd12:
5461
type: boolean
5562
description: Specifies that controller should use auto CMD12
5663

64+
allOf:
65+
- $ref: mmc-controller.yaml#
66+
- if:
67+
properties:
68+
clock-names:
69+
contains:
70+
const: sdio_freq
71+
72+
then:
73+
required:
74+
- clock-frequency
75+
5776
required:
5877
- compatible
5978
- reg
6079
- interrupts
6180
- clocks
81+
- clock-names
6282

6383
unevaluatedProperties: false
6484

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

Lines changed: 0 additions & 94 deletions
This file was deleted.

Documentation/devicetree/bindings/mmc/mmc-spi-slot.txt

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mmc/mmc-spi-slot.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MMC/SD/SDIO slot directly connected to a SPI bus
8+
9+
maintainers:
10+
- Ulf Hansson <[email protected]>
11+
12+
allOf:
13+
- $ref: "mmc-controller.yaml"
14+
- $ref: /schemas/spi/spi-peripheral-props.yaml
15+
16+
description: |
17+
The extra properties used by an mmc connected via SPI.
18+
19+
properties:
20+
compatible:
21+
const: mmc-spi-slot
22+
23+
reg:
24+
maxItems: 1
25+
26+
spi-max-frequency: true
27+
28+
interrupts:
29+
maxItems: 1
30+
31+
voltage-ranges:
32+
$ref: /schemas/types.yaml#/definitions/uint32-array
33+
description: |
34+
Two cells are required, first cell specifies minimum slot voltage (mV),
35+
second cell specifies maximum slot voltage (mV).
36+
items:
37+
- description: |
38+
value for minimum slot voltage in mV
39+
default: 3200
40+
- description: |
41+
value for maximum slot voltage in mV
42+
default: 3400
43+
44+
gpios:
45+
description: |
46+
For historical reasons, this does not follow the generic mmc-controller
47+
binding.
48+
minItems: 1
49+
items:
50+
- description: Card-Detect GPIO
51+
- description: Write-Protect GPIO
52+
53+
required:
54+
- compatible
55+
- reg
56+
- spi-max-frequency
57+
58+
unevaluatedProperties: false
59+
60+
examples:
61+
- |
62+
#include <dt-bindings/gpio/gpio.h>
63+
spi {
64+
#address-cells = <1>;
65+
#size-cells = <0>;
66+
mmc@0 {
67+
compatible = "mmc-spi-slot";
68+
reg = <0>;
69+
gpios = <&gpio 14 GPIO_ACTIVE_LOW>, <&gpio 15 GPIO_ACTIVE_HIGH>;
70+
voltage-ranges = <3300 3300>;
71+
spi-max-frequency = <50000000>;
72+
interrupts = <42>;
73+
interrupt-parent = <&PIC>;
74+
};
75+
};
76+
77+
...

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

Lines changed: 54 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,11 @@ properties:
3030
- const: mediatek,mt7623-mmc
3131
- const: mediatek,mt2701-mmc
3232
- items:
33-
- const: mediatek,mt8186-mmc
34-
- const: mediatek,mt8183-mmc
35-
- items:
36-
- const: mediatek,mt8192-mmc
37-
- const: mediatek,mt8183-mmc
38-
- items:
39-
- const: mediatek,mt8195-mmc
33+
- enum:
34+
- mediatek,mt8186-mmc
35+
- mediatek,mt8188-mmc
36+
- mediatek,mt8192-mmc
37+
- mediatek,mt8195-mmc
4038
- const: mediatek,mt8183-mmc
4139

4240
reg:
@@ -72,12 +70,27 @@ properties:
7270
- const: ahb_cg
7371

7472
interrupts:
75-
maxItems: 1
73+
description:
74+
Should at least contain MSDC GIC interrupt. To support SDIO in-band wakeup, an extended
75+
interrupt is required and be configured as wakeup source irq.
76+
minItems: 1
77+
maxItems: 2
78+
79+
interrupt-names:
80+
items:
81+
- const: msdc
82+
- const: sdio_wakeup
7683

7784
pinctrl-names:
85+
description:
86+
Should at least contain default and state_uhs. To support SDIO in-band wakeup, dat1 pin
87+
will be switched between GPIO mode and SDIO DAT1 mode, state_eint is mandatory in this
88+
scenario.
89+
minItems: 2
7890
items:
7991
- const: default
8092
- const: state_uhs
93+
- const: state_eint
8194

8295
pinctrl-0:
8396
description:
@@ -89,6 +102,11 @@ properties:
89102
should contain uhs mode pin ctrl.
90103
maxItems: 1
91104

105+
pinctrl-2:
106+
description:
107+
should switch dat1 pin to GPIO mode.
108+
maxItems: 1
109+
92110
assigned-clocks:
93111
description:
94112
PLL of the source clock.
@@ -208,4 +226,32 @@ examples:
208226
mediatek,hs400-cmd-resp-sel-rising;
209227
};
210228
229+
mmc3: mmc@11260000 {
230+
compatible = "mediatek,mt8173-mmc";
231+
reg = <0x11260000 0x1000>;
232+
clock-names = "source", "hclk";
233+
clocks = <&pericfg CLK_PERI_MSDC30_3>,
234+
<&topckgen CLK_TOP_MSDC50_2_H_SEL>;
235+
interrupt-names = "msdc", "sdio_wakeup";
236+
interrupts-extended = <&gic GIC_SPI 74 IRQ_TYPE_LEVEL_LOW 0>,
237+
<&pio 23 IRQ_TYPE_LEVEL_LOW>;
238+
pinctrl-names = "default", "state_uhs", "state_eint";
239+
pinctrl-0 = <&mmc2_pins_default>;
240+
pinctrl-1 = <&mmc2_pins_uhs>;
241+
pinctrl-2 = <&mmc2_pins_eint>;
242+
bus-width = <4>;
243+
max-frequency = <200000000>;
244+
cap-sd-highspeed;
245+
sd-uhs-sdr104;
246+
keep-power-in-suspend;
247+
wakeup-source;
248+
cap-sdio-irq;
249+
no-mmc;
250+
no-sd;
251+
non-removable;
252+
vmmc-supply = <&sdio_fixed_3v3>;
253+
vqmmc-supply = <&mt6397_vgp3_reg>;
254+
mmc-pwrseq = <&wifi_pwrseq>;
255+
};
256+
211257
...

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,15 @@ properties:
5656
- renesas,sdhi-r8a77980 # R-Car V3H
5757
- renesas,sdhi-r8a77990 # R-Car E3
5858
- renesas,sdhi-r8a77995 # R-Car D3
59-
- renesas,sdhi-r8a779a0 # R-Car V3U
6059
- renesas,sdhi-r9a07g043 # RZ/G2UL
6160
- renesas,sdhi-r9a07g044 # RZ/G2{L,LC}
6261
- renesas,sdhi-r9a07g054 # RZ/V2L
6362
- const: renesas,rcar-gen3-sdhi # R-Car Gen3 or RZ/G2
63+
- items:
64+
- enum:
65+
- renesas,sdhi-r8a779a0 # R-Car V3U
66+
- renesas,sdhi-r8a779f0 # R-Car S4-8
67+
- const: renesas,rcar-gen4-sdhi # R-Car Gen4
6468

6569
reg:
6670
maxItems: 1
@@ -141,6 +145,7 @@ allOf:
141145
enum:
142146
- renesas,rcar-gen2-sdhi
143147
- renesas,rcar-gen3-sdhi
148+
- renesas,rcar-gen4-sdhi
144149
then:
145150
properties:
146151
clocks:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ properties:
3939
- rockchip,rk3399-dw-mshc
4040
- rockchip,rk3568-dw-mshc
4141
- rockchip,rv1108-dw-mshc
42+
- rockchip,rv1126-dw-mshc
4243
- const: rockchip,rk3288-dw-mshc
4344

4445
reg:

0 commit comments

Comments
 (0)