1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mmc/st,sdhci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: STMicroelectronics SDHCI-ST MMC/SD Controller
maintainers:
- Peter Griffin <peter.griffin@linaro.org>
description:
The STMicroelectronics SDHCI-ST MMC/SD host controller is compliant with
the SD Host Controller Interface (SDHCI) specification and is used to
interface with MMC, SD and SDIO cards. The ST SDHCI controller extends the
standard SDHCI capabilities with platform-specific configurations such as
additional register regions, clock inputs, and delay control mechanisms
required for signal timing adjustments to support high-speed modes across
different ST SoCs.
allOf:
- $ref: mmc-controller.yaml#
- if:
properties:
reg:
minItems: 2
required:
- reg
then:
required:
- reg-names
properties:
compatible:
oneOf:
- const: st,sdhci
- items:
- const: st,sdhci-stih407
- const: st,sdhci
reg:
minItems: 1
items:
- description: MMC controller base registers
- description: FlashSS Top registers for TX/RX DLL delay configuration
reg-names:
minItems: 1
items:
- const: mmc
- const: top-mmc-delay
clocks:
minItems: 1
items:
- description: Clock for the MMC controller
- description: Interconnect (ICN) clock
clock-names:
minItems: 1
items:
- const: mmc
- const: icn
interrupts:
maxItems: 1
interrupt-names:
const: mmcirq
resets:
maxItems: 1
max-frequency:
enum: [200000000, 100000000, 50000000]
default: 50000000
required:
- reg
- compatible
- clocks
- clock-names
- interrupts
- interrupt-names
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/stih407-clks.h>
mmc@9060000 {
compatible = "st,sdhci-stih407", "st,sdhci";
reg = <0x09060000 0x7ff>, <0x9061008 0x20>;
reg-names = "mmc", "top-mmc-delay";
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "mmcirq";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mmc0>;
clock-names = "mmc", "icn";
clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
<&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
bus-width = <8>;
};
...
|