blob: 9fce8cd7b0b62bdbd391f3bd6d1dad655a6f7ccc [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-or-later
2# Copyright 2019 IBM Corp.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/mmc/aspeed,sdhci.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: ASPEED SD/SDIO/MMC Controller
9
10maintainers:
11 - Andrew Jeffery <andrew@aj.id.au>
12 - Ryan Chen <ryanchen.aspeed@gmail.com>
13
14description: |+
15 The ASPEED SD/SDIO/eMMC controller exposes two slots implementing the SDIO
16 Host Specification v2.00, with 1 or 4 bit data buses, or an 8 bit data bus if
17 only a single slot is enabled.
18
19 The two slots are supported by a common configuration area. As the SDHCIs for
20 the slots are dependent on the common configuration area, they are described
21 as child nodes.
22
23properties:
24 compatible:
25 enum:
26 - aspeed,ast2400-sd-controller
27 - aspeed,ast2500-sd-controller
28 - aspeed,ast2600-sd-controller
29 reg:
30 maxItems: 1
31 description: Common configuration registers
32 "#address-cells":
33 const: 1
34 "#size-cells":
35 const: 1
36 ranges: true
37 clocks:
38 maxItems: 1
39 description: The SD/SDIO controller clock gate
40
41patternProperties:
42 "^sdhci@[0-9a-f]+$":
43 type: object
44 $ref: mmc-controller.yaml
45 unevaluatedProperties: false
46
47 properties:
48 compatible:
49 enum:
50 - aspeed,ast2400-sdhci
51 - aspeed,ast2500-sdhci
52 - aspeed,ast2600-sdhci
53 reg:
54 maxItems: 1
55 description: The SDHCI registers
56 clocks:
57 maxItems: 1
58 description: The SD bus clock
59 interrupts:
60 maxItems: 1
61 description: The SD interrupt shared between both slots
62 sdhci,auto-cmd12:
63 type: boolean
64 description: Specifies that controller should use auto CMD12
65 required:
66 - compatible
67 - reg
68 - clocks
69 - interrupts
70
71additionalProperties: false
72
73required:
74 - compatible
75 - reg
76 - "#address-cells"
77 - "#size-cells"
78 - ranges
79 - clocks
80
81examples:
82 - |
83 #include <dt-bindings/clock/aspeed-clock.h>
84 sdc@1e740000 {
85 compatible = "aspeed,ast2500-sd-controller";
86 reg = <0x1e740000 0x100>;
87 #address-cells = <1>;
88 #size-cells = <1>;
89 ranges = <0 0x1e740000 0x20000>;
90 clocks = <&syscon ASPEED_CLK_GATE_SDCLK>;
91
92 sdhci0: sdhci@100 {
93 compatible = "aspeed,ast2500-sdhci";
94 reg = <0x100 0x100>;
95 interrupts = <26>;
96 sdhci,auto-cmd12;
97 clocks = <&syscon ASPEED_CLK_SDIO>;
98 };
99
100 sdhci1: sdhci@200 {
101 compatible = "aspeed,ast2500-sdhci";
102 reg = <0x200 0x100>;
103 interrupts = <26>;
104 sdhci,auto-cmd12;
105 clocks = <&syscon ASPEED_CLK_SDIO>;
106 };
107 };