Skip to content

Commit dd463c5

Browse files
committed
Merge tag 'mmc-v6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC updates from Ulf Hansson: "MMC core: - Allow more host caps to be modified through debugfs - Skip to set the default 200mA SD current limit MMC host: - Convert a few more DT bindings to the DT schema - dw_mmc: Add Shawn Lin as co-maintainer for the dw_mmc drivers - dw_mmc-rockchip: - Add memory clock auto-gating support - Add support for the RK3506 variant - meson-mx-sdio: - Ignore disabled "mmc-slot" child-nodes - Refactoring and general code improvements - renesas_sdhi: - Enable bigger data ports where available - Manage reset in probe and during system-wide suspend/resume - sdhci-brcmstb: - Add support for the BCM72116 and BCM74371 variants - Save/restore registers during system-wide suspend/resume - sdhci-msm: - Add support for the sm8750 and the Kaanapali variants - Avoid early clock doubling during HS400 transition - sdhci-of-dwcmshc: - Add command queue support for Rockchip SOCs - Add support for the Eswin EIC7700 variant" * tag 'mmc-v6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (40 commits) mmc: sdhci-of-dwcmshc: reduce CIT for better performance mmc: sdhci-of-dwcmshc: Disable internal clock auto gate for Rockchip SOCs mmc: sdhci-msm: Avoid early clock doubling during HS400 transition MAINTAINERS: Add Shawn Lin as co-maintainer for dw_mmc drivers mmc: sdhci-of-dwcmshc: Fix command queue support for RK3576 mmc: renesas_sdhi: Add suspend/resume hooks mmc: renesas_sdhi: Switch to SYSTEM_SLEEP_PM_OPS()/RUNTIME_PM_OPS() and pm_ptr() mmc: renesas_sdhi: Deassert the reset signal on probe dt-bindings: mmc: am654: Simplify dma-coherent property mmc: meson-mx-sdio: Ignore disabled "mmc-slot" child-nodes mmc: meson-mx-sdio: Fix indentation in meson_mx_mmc_irq_thread() mmc: meson-mx-sdio: Use dev_err_probe() where appropriate mmc: meson-mx-sdio: Use devm_mmc_alloc_host() helper mmc: meson-mx-sdio: Refactor internal clock initialization mmc: meson-mx-sdio: Use devm_clk_get_enabled() mmc: meson-mx-sdio: Switch to regmap for register access mmc: core: add WQ_PERCPU to alloc_workqueue users mmc: dw_mmc-rockchip: Add memory clock auto-gating support mmc: omap: add WQ_PERCPU to alloc_workqueue users mmc: mtk-sd: replace use of system_wq with system_percpu_wq ...
2 parents 52206f8 + 79cf71c commit dd463c5

36 files changed

Lines changed: 1219 additions & 334 deletions

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ properties:
2121
- items:
2222
- enum:
2323
- brcm,bcm2712-sdhci
24+
- brcm,bcm72116-sdhci
2425
- brcm,bcm74165b0-sdhci
2526
- brcm,bcm7445-sdhci
2627
- brcm,bcm7425-sdhci
28+
- brcm,bcm74371-sdhci
2729
- const: brcm,sdhci-brcmstb
2830

2931
reg:

Documentation/devicetree/bindings/mmc/davinci_mmc.txt

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

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ properties:
3838
- rockchip,rk3328-dw-mshc
3939
- rockchip,rk3368-dw-mshc
4040
- rockchip,rk3399-dw-mshc
41+
- rockchip,rk3506-dw-mshc
4142
- rockchip,rk3528-dw-mshc
4243
- rockchip,rk3562-dw-mshc
4344
- rockchip,rk3568-dw-mshc

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ properties:
5050
- const: clk_ahb
5151
- const: clk_xin
5252

53-
dma-coherent:
54-
type: boolean
53+
dma-coherent: true
5554

5655
# PHY output tap delays:
5756
# Used to delay the data valid window and align it to the sampling clock.

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

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

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ properties:
4242
- qcom,ipq5424-sdhci
4343
- qcom,ipq6018-sdhci
4444
- qcom,ipq9574-sdhci
45+
- qcom,kaanapali-sdhci
4546
- qcom,milos-sdhci
4647
- qcom,qcm2290-sdhci
4748
- qcom,qcs404-sdhci
@@ -70,6 +71,7 @@ properties:
7071
- qcom,sm8450-sdhci
7172
- qcom,sm8550-sdhci
7273
- qcom,sm8650-sdhci
74+
- qcom,sm8750-sdhci
7375
- qcom,x1e80100-sdhci
7476
- const: qcom,sdhci-msm-v5 # for sdcc version 5.0
7577

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

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ properties:
3030
- sophgo,sg2002-dwcmshc
3131
- sophgo,sg2042-dwcmshc
3232
- thead,th1520-dwcmshc
33+
- eswin,eic7700-dwcmshc
3334

3435
reg:
3536
maxItems: 1
@@ -52,17 +53,30 @@ properties:
5253
maxItems: 5
5354

5455
reset-names:
55-
items:
56-
- const: core
57-
- const: bus
58-
- const: axi
59-
- const: block
60-
- const: timer
56+
maxItems: 5
6157

6258
rockchip,txclk-tapnum:
6359
description: Specify the number of delay for tx sampling.
6460
$ref: /schemas/types.yaml#/definitions/uint8
6561

62+
eswin,hsp-sp-csr:
63+
$ref: /schemas/types.yaml#/definitions/phandle-array
64+
items:
65+
- items:
66+
- description: Phandle to HSP(High-Speed Peripheral) device
67+
- description: Offset of the stability status register for internal
68+
clock.
69+
- description: Offset of the stability register for host regulator
70+
voltage.
71+
description:
72+
HSP CSR is to control and get status of different high-speed peripherals
73+
(such as Ethernet, USB, SATA, etc.) via register, which can tune
74+
board-level's parameters of PHY, etc.
75+
76+
eswin,drive-impedance-ohms:
77+
description: Specifies the drive impedance in Ohm.
78+
enum: [33, 40, 50, 66, 100]
79+
6680
required:
6781
- compatible
6882
- reg
@@ -110,6 +124,37 @@ allOf:
110124
- const: block
111125
- const: timer
112126

127+
- if:
128+
properties:
129+
compatible:
130+
contains:
131+
const: eswin,eic7700-dwcmshc
132+
then:
133+
properties:
134+
resets:
135+
minItems: 4
136+
maxItems: 4
137+
reset-names:
138+
items:
139+
- const: axi
140+
- const: phy
141+
- const: prstn
142+
- const: txrx
143+
required:
144+
- eswin,hsp-sp-csr
145+
- eswin,drive-impedance-ohms
146+
else:
147+
properties:
148+
resets:
149+
maxItems: 5
150+
reset-names:
151+
items:
152+
- const: core
153+
- const: bus
154+
- const: axi
155+
- const: block
156+
- const: timer
157+
113158
- if:
114159
properties:
115160
compatible:
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mmc/socionext,milbeaut-m10v-sdhci-3.0.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: SOCIONEXT Milbeaut SDHCI controller
8+
9+
maintainers:
10+
- Taichi Sugaya <sugaya.taichi@socionext.com>
11+
- Takao Orito <orito.takao@socionext.com>
12+
13+
description:
14+
The SOCIONEXT Milbeaut SDHCI controller is a specialized SD Host
15+
Controller found in some of Socionext's Milbeaut image processing SoCs.
16+
It features a dedicated "bridge controller." This bridge controller
17+
implements special functions like reset control, clock management for
18+
various SDR modes (SDR12, SDR25, SDR50) and physical pin property settings.
19+
20+
allOf:
21+
- $ref: sdhci-common.yaml#
22+
23+
properties:
24+
compatible:
25+
const: socionext,milbeaut-m10v-sdhci-3.0
26+
27+
reg:
28+
maxItems: 1
29+
30+
interrupts:
31+
maxItems: 1
32+
33+
clocks:
34+
maxItems: 2
35+
36+
clock-names:
37+
items:
38+
- const: core
39+
- const: iface
40+
41+
fujitsu,cmd-dat-delay-select:
42+
description:
43+
Its presence indicates that the controller requires a specific command
44+
and data line delay selection mechanism for proper operation, particularly
45+
when dealing with high-speed SD/eMMC modes.
46+
type: boolean
47+
48+
voltage-ranges:
49+
$ref: /schemas/types.yaml#/definitions/uint32-matrix
50+
items:
51+
items:
52+
- description: minimum slot voltage (mV).
53+
- description: maximum slot voltage (mV).
54+
maxItems: 1
55+
56+
required:
57+
- compatible
58+
- reg
59+
- interrupts
60+
- clocks
61+
- clock-names
62+
63+
unevaluatedProperties: false
64+
65+
examples:
66+
- |
67+
#include <dt-bindings/interrupt-controller/arm-gic.h>
68+
mmc@1b010000 {
69+
compatible = "socionext,milbeaut-m10v-sdhci-3.0";
70+
reg = <0x1b010000 0x10000>;
71+
interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
72+
voltage-ranges = <3300 3300>;
73+
bus-width = <4>;
74+
clocks = <&clk 7>, <&ahb_clk>;
75+
clock-names = "core", "iface";
76+
cap-sdio-irq;
77+
fujitsu,cmd-dat-delay-select;
78+
};
79+
...
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mmc/ti,da830-mmc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TI Highspeed MMC host controller for DaVinci
8+
9+
description:
10+
The Highspeed MMC Host Controller on TI DaVinci family
11+
provides an interface for MMC, SD and SDIO types of memory cards.
12+
13+
allOf:
14+
- $ref: mmc-controller.yaml
15+
16+
maintainers:
17+
- Kishon Vijay Abraham I <kishon@kernel.org>
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- ti,da830-mmc
23+
- ti,dm355-mmc
24+
25+
reg:
26+
maxItems: 1
27+
28+
clocks:
29+
maxItems: 1
30+
31+
interrupts:
32+
maxItems: 2
33+
34+
dmas:
35+
maxItems: 2
36+
37+
dma-names:
38+
items:
39+
- const: rx
40+
- const: tx
41+
42+
required:
43+
- compatible
44+
- reg
45+
46+
unevaluatedProperties: false
47+
48+
examples:
49+
- |
50+
#include <dt-bindings/interrupt-controller/irq.h>
51+
mmc@1c40000 {
52+
compatible = "ti,da830-mmc";
53+
reg = <0x40000 0x1000>;
54+
interrupts = <16 IRQ_TYPE_LEVEL_HIGH>,
55+
<17 IRQ_TYPE_LEVEL_HIGH>;
56+
bus-width = <4>;
57+
max-frequency = <50000000>;
58+
dmas = <&edma 16>, <&edma 17>;
59+
dma-names = "rx", "tx";
60+
};
61+
...

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25119,6 +25119,7 @@ F: include/linux/soc/amd/isp4_misc.h
2511925119

2512025120
SYNOPSYS DESIGNWARE MMC/SD/SDIO DRIVER
2512125121
M: Jaehoon Chung <jh80.chung@samsung.com>
25122+
M: Shawn Lin <shawn.lin@rock-chips.com>
2512225123
L: linux-mmc@vger.kernel.org
2512325124
S: Maintained
2512425125
F: drivers/mmc/host/dw_mmc*

0 commit comments

Comments
 (0)