| # SPDX-License-Identifier: GPL-2.0-or-later |
| # Copyright 2019 IBM Corp. |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/mmc/aspeed,sdhci.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: ASPEED SD/SDIO/MMC Controller |
| |
| maintainers: |
| - Andrew Jeffery <andrew@aj.id.au> |
| - Ryan Chen <ryanchen.aspeed@gmail.com> |
| |
| description: |+ |
| The ASPEED SD/SDIO/eMMC controller exposes two slots implementing the SDIO |
| Host Specification v2.00, with 1 or 4 bit data buses, or an 8 bit data bus if |
| only a single slot is enabled. |
| |
| The two slots are supported by a common configuration area. As the SDHCIs for |
| the slots are dependent on the common configuration area, they are described |
| as child nodes. |
| |
| properties: |
| compatible: |
| enum: |
| - aspeed,ast2400-sd-controller |
| - aspeed,ast2500-sd-controller |
| - aspeed,ast2600-sd-controller |
| reg: |
| maxItems: 1 |
| description: Common configuration registers |
| "#address-cells": |
| const: 1 |
| "#size-cells": |
| const: 1 |
| ranges: true |
| clocks: |
| maxItems: 1 |
| description: The SD/SDIO controller clock gate |
| |
| patternProperties: |
| "^sdhci@[0-9a-f]+$": |
| type: object |
| allOf: |
| - $ref: mmc-controller.yaml |
| properties: |
| compatible: |
| enum: |
| - aspeed,ast2400-sdhci |
| - aspeed,ast2500-sdhci |
| - aspeed,ast2600-sdhci |
| reg: |
| maxItems: 1 |
| description: The SDHCI registers |
| clocks: |
| maxItems: 1 |
| description: The SD bus clock |
| interrupts: |
| maxItems: 1 |
| description: The SD interrupt shared between both slots |
| sdhci,auto-cmd12: |
| type: boolean |
| description: Specifies that controller should use auto CMD12 |
| required: |
| - compatible |
| - reg |
| - clocks |
| - interrupts |
| |
| additionalProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - "#address-cells" |
| - "#size-cells" |
| - ranges |
| - clocks |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/aspeed-clock.h> |
| sdc@1e740000 { |
| compatible = "aspeed,ast2500-sd-controller"; |
| reg = <0x1e740000 0x100>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0 0x1e740000 0x20000>; |
| clocks = <&syscon ASPEED_CLK_GATE_SDCLK>; |
| |
| sdhci0: sdhci@100 { |
| compatible = "aspeed,ast2500-sdhci"; |
| reg = <0x100 0x100>; |
| interrupts = <26>; |
| sdhci,auto-cmd12; |
| clocks = <&syscon ASPEED_CLK_SDIO>; |
| }; |
| |
| sdhci1: sdhci@200 { |
| compatible = "aspeed,ast2500-sdhci"; |
| reg = <0x200 0x100>; |
| interrupts = <26>; |
| sdhci,auto-cmd12; |
| clocks = <&syscon ASPEED_CLK_SDIO>; |
| }; |
| }; |