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