blob: c71424aeaccd2a2eab717badd62b9d39d556a282 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/socionext,uniphier-sd.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: UniPhier SD/SDIO/eMMC controller
8
9maintainers:
10 - Masahiro Yamada <yamada.masahiro@socionext.com>
11
12properties:
13 compatible:
14 description: version 2.91, 3.1, 3.1.1, respectively
15 enum:
16 - socionext,uniphier-sd-v2.91
17 - socionext,uniphier-sd-v3.1
18 - socionext,uniphier-sd-v3.1.1
19
20 reg:
21 maxItems: 1
22
23 interrupts:
24 maxItems: 1
25
26 clocks:
27 maxItems: 1
28
29 dmas:
30 maxItems: 1
31
32 dma-names:
33 const: rx-tx
34
35 reset-names:
36 description: |
37 There are three reset signals at maximum
38 host: mandatory for all variants
39 bridge: exist only for version 2.91
40 hw: optional. exist if eMMC hw reset line is available
41 oneOf:
42 - const: host
43 - items:
44 - const: host
45 - const: bridge
46 - items:
47 - const: host
48 - const: hw
49 - items:
50 - const: host
51 - const: bridge
52 - const: hw
53
54 resets:
55 minItems: 1
56 maxItems: 3
57
58 socionext,syscon-uhs-mode:
59 $ref: /schemas/types.yaml#/definitions/phandle-array
60 items:
61 - items:
62 - description: phandle to syscon that configures UHS mode
63 - description: ID of SD instance
64 description:
65 A phandle to syscon with one argument that configures UHS mode.
66 The argument is the ID of SD instance.
67
68allOf:
69 - $ref: mmc-controller.yaml
70
71 - if:
72 properties:
73 compatible:
74 contains:
75 const: socionext,uniphier-sd-v2.91
76 then:
77 properties:
78 reset-names:
79 contains:
80 const: bridge
81 else:
82 properties:
83 reset-names:
84 not:
85 contains:
86 const: bridge
87
88required:
89 - compatible
90 - reg
91 - interrupts
92 - clocks
93 - reset-names
94 - resets
95
96unevaluatedProperties: false
97
98examples:
99 - |
100 sd: mmc@5a400000 {
101 compatible = "socionext,uniphier-sd-v2.91";
102 reg = <0x5a400000 0x200>;
103 interrupts = <0 76 4>;
104 pinctrl-names = "default", "uhs";
105 pinctrl-0 = <&pinctrl_sd>;
106 pinctrl-1 = <&pinctrl_sd_uhs>;
107 clocks = <&mio_clk 0>;
108 reset-names = "host", "bridge";
109 resets = <&mio_rst 0>, <&mio_rst 3>;
110 dma-names = "rx-tx";
111 dmas = <&dmac 4>;
112 bus-width = <4>;
113 cap-sd-highspeed;
114 sd-uhs-sdr12;
115 sd-uhs-sdr25;
116 sd-uhs-sdr50;
117 };