# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
%YAML 1.2
---
$id: "http://devicetree.org/schemas/mmc/sdhci-am654.yaml#"
$schema : "http://devicetree.org/meta-schemas/core.yaml#"

title: TI AM654 MMC Controller

maintainers:
  - Ulf Hansson <ulf.hansson@linaro.org>

allOf:
  - $ref: mmc-controller.yaml#

properties:
  compatible:
    enum:
      - ti,am654-sdhci-5.1
      - ti,j721e-sdhci-8bit
      - ti,j721e-sdhci-4bit
      - ti,j7200-sdhci-8bit
      - ti,j721e-sdhci-4bit

  reg:
    maxItems: 2

  interrupts:
    maxItems: 1

  power-domains:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2
    description: Handles to input clocks

  clock-names:
    minItems: 1
    maxItems: 2
    items:
      - const: clk_ahb
      - const: clk_xin

  # PHY output tap delays:
  # Used to delay the data valid window and align it to the sampling clock.
  # Binding needs to be provided for each supported speed mode otherwise the
  # corresponding mode will be disabled.

  ti,otap-del-sel-legacy:
    description: Output tap delay for SD/MMC legacy timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-mmc-hs:
    description: Output tap delay for MMC high speed timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-sd-hs:
    description: Output tap delay for SD high speed timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-sdr12:
    description: Output tap delay for SD UHS SDR12 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-sdr25:
    description: Output tap delay for SD UHS SDR25 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-sdr50:
    description: Output tap delay for SD UHS SDR50 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-sdr104:
    description: Output tap delay for SD UHS SDR104 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-ddr50:
    description: Output tap delay for SD UHS DDR50 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-ddr52:
    description: Output tap delay for eMMC DDR52 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-hs200:
    description: Output tap delay for eMMC HS200 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,otap-del-sel-hs400:
    description: Output tap delay for eMMC HS400 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  # PHY input tap delays:
  # Used to delay the data valid window and align it to the sampling clock for
  # modes that don't support tuning

  ti,itap-del-sel-legacy:
    description: Input tap delay for SD/MMC legacy timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0x1f

  ti,itap-del-sel-mmc-hs:
    description: Input tap delay for MMC high speed timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0x1f

  ti,itap-del-sel-sd-hs:
    description: Input tap delay for SD high speed timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0x1f

  ti,itap-del-sel-sdr12:
    description: Input tap delay for SD UHS SDR12 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0x1f

  ti,itap-del-sel-sdr25:
    description: Input tap delay for SD UHS SDR25 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0x1f

  ti,itap-del-sel-ddr52:
    description: Input tap delay for MMC DDR52 timing
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0x1f

  ti,trm-icp:
    description: DLL trim select
    $ref: "/schemas/types.yaml#/definitions/uint32"
    minimum: 0
    maximum: 0xf

  ti,driver-strength-ohm:
    description: DLL drive strength in ohms
    $ref: "/schemas/types.yaml#/definitions/uint32"
    oneOf:
      - enum:
        - 33
        - 40
        - 50
        - 66
        - 100

  ti,strobe-sel:
    description: strobe select delay for HS400 speed mode.
    $ref: "/schemas/types.yaml#/definitions/uint32"

  ti,clkbuf-sel:
    description: Clock Delay Buffer Select
    $ref: "/schemas/types.yaml#/definitions/uint32"

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - ti,otap-del-sel-legacy

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    bus {
        #address-cells = <2>;
        #size-cells = <2>;

        mmc0: mmc@4f80000 {
            compatible = "ti,am654-sdhci-5.1";
            reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
            power-domains = <&k3_pds 47>;
            clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
            clock-names = "clk_ahb", "clk_xin";
            interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
            sdhci-caps-mask = <0x80000007 0x0>;
            mmc-ddr-1_8v;
            ti,otap-del-sel-legacy = <0x0>;
            ti,otap-del-sel-mmc-hs = <0x0>;
            ti,otap-del-sel-ddr52 = <0x5>;
            ti,otap-del-sel-hs200 = <0x5>;
            ti,otap-del-sel-hs400 = <0x0>;
            ti,itap-del-sel-legacy = <0x10>;
            ti,itap-del-sel-mmc-hs = <0xa>;
            ti,itap-del-sel-ddr52 = <0x3>;
            ti,trm-icp = <0x8>;
        };
    };
