# 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
    $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>;
            };
    };
