1# 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 oneOf: 26 - enum: 27 - aspeed,ast2400-sd-controller 28 - aspeed,ast2500-sd-controller 29 - aspeed,ast2600-sd-controller 30 - items: 31 - const: aspeed,ast2700-sd-controller 32 - const: aspeed,ast2600-sd-controller 33 34 reg: 35 maxItems: 1 36 description: Common configuration registers 37 "#address-cells": 38 const: 1 39 "#size-cells": 40 const: 1 41 ranges: true 42 clocks: 43 maxItems: 1 44 description: The SD/SDIO controller clock gate 45 46 resets: 47 maxItems: 1 48 49patternProperties: 50 "^sdhci@[0-9a-f]+$": 51 type: object 52 $ref: sdhci-common.yaml 53 unevaluatedProperties: false 54 55 properties: 56 compatible: 57 oneOf: 58 - enum: 59 - aspeed,ast2400-sdhci 60 - aspeed,ast2500-sdhci 61 - aspeed,ast2600-sdhci 62 - items: 63 - const: aspeed,ast2700-sdhci 64 - const: aspeed,ast2600-sdhci 65 66 reg: 67 maxItems: 1 68 description: The SDHCI registers 69 clocks: 70 maxItems: 1 71 description: The SD bus clock 72 interrupts: 73 maxItems: 1 74 description: The SD interrupt shared between both slots 75 sdhci,auto-cmd12: 76 type: boolean 77 description: Specifies that controller should use auto CMD12 78 required: 79 - compatible 80 - reg 81 - clocks 82 - interrupts 83 84additionalProperties: false 85 86required: 87 - compatible 88 - reg 89 - "#address-cells" 90 - "#size-cells" 91 - ranges 92 - clocks 93 94if: 95 properties: 96 compatible: 97 contains: 98 const: aspeed,ast2700-sd-controller 99then: 100 required: 101 - resets 102else: 103 properties: 104 resets: false 105 106examples: 107 - | 108 #include <dt-bindings/clock/aspeed-clock.h> 109 sdc@1e740000 { 110 compatible = "aspeed,ast2500-sd-controller"; 111 reg = <0x1e740000 0x100>; 112 #address-cells = <1>; 113 #size-cells = <1>; 114 ranges = <0 0x1e740000 0x20000>; 115 clocks = <&syscon ASPEED_CLK_GATE_SDCLK>; 116 117 sdhci0: sdhci@100 { 118 compatible = "aspeed,ast2500-sdhci"; 119 reg = <0x100 0x100>; 120 interrupts = <26>; 121 sdhci,auto-cmd12; 122 clocks = <&syscon ASPEED_CLK_SDIO>; 123 }; 124 125 sdhci1: sdhci@200 { 126 compatible = "aspeed,ast2500-sdhci"; 127 reg = <0x200 0x100>; 128 interrupts = <26>; 129 sdhci,auto-cmd12; 130 clocks = <&syscon ASPEED_CLK_SDIO>; 131 }; 132 }; 133