107 lines
2.7 KiB
YAML
107 lines
2.7 KiB
YAML
|
# 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>;
|
||
|
};
|
||
|
};
|