# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mmc/arasan,sdhci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Arasan SDHCI Controller

maintainers:
  - Adrian Hunter <adrian.hunter@intel.com>

allOf:
  - $ref: mmc-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: arasan,sdhci-5.1
    then:
      required:
        - phys
        - phy-names
  - if:
      properties:
        compatible:
          contains:
            enum:
              - xlnx,zynqmp-8.9a
              - xlnx,versal-8.9a
    then:
      properties:
        clock-output-names:
          oneOf:
            - items:
                - const: clk_out_sd0
                - const: clk_in_sd0
            - items:
                - const: clk_out_sd1
                - const: clk_in_sd1

properties:
  compatible:
    oneOf:
      - const: arasan,sdhci-8.9a                # generic Arasan SDHCI 8.9a PHY
      - const: arasan,sdhci-4.9a                # generic Arasan SDHCI 4.9a PHY
      - const: arasan,sdhci-5.1                 # generic Arasan SDHCI 5.1 PHY
      - items:
          - const: rockchip,rk3399-sdhci-5.1    # rk3399 eMMC PHY
          - const: arasan,sdhci-5.1
        description:
          For this device it is strongly suggested to include
          arasan,soc-ctl-syscon.
      - items:
          - const: xlnx,zynqmp-8.9a             # ZynqMP SDHCI 8.9a PHY
          - const: arasan,sdhci-8.9a
        description:
          For this device it is strongly suggested to include
          clock-output-names and '#clock-cells'.
      - items:
          - const: xlnx,versal-8.9a             # Versal SDHCI 8.9a PHY
          - const: arasan,sdhci-8.9a
        description:
          For this device it is strongly suggested to include
          clock-output-names and '#clock-cells'.
      - items:
          - const: intel,lgm-sdhci-5.1-emmc     # Intel LGM eMMC PHY
          - const: arasan,sdhci-5.1
        description:
          For this device it is strongly suggested to include
          arasan,soc-ctl-syscon.
      - items:
          - const: intel,lgm-sdhci-5.1-sdxc     # Intel LGM SDXC PHY
          - const: arasan,sdhci-5.1
        description:
          For this device it is strongly suggested to include
          arasan,soc-ctl-syscon.
      - items:
          - const: intel,keembay-sdhci-5.1-emmc # Intel Keem Bay eMMC PHY
          - const: arasan,sdhci-5.1
        description:
          For this device it is strongly suggested to include
          arasan,soc-ctl-syscon.
      - const: intel,keembay-sdhci-5.1-sd       # Intel Keem Bay SD controller
        description:
          For this device it is strongly suggested to include
          arasan,soc-ctl-syscon.
      - const: intel,keembay-sdhci-5.1-sdio     # Intel Keem Bay SDIO controller
        description:
          For this device it is strongly suggested to include
          arasan,soc-ctl-syscon.
      - items:
          - const: intel,thunderbay-sdhci-5.1   # Intel Thunder Bay eMMC PHY
          - const: arasan,sdhci-5.1
        description:
          For this device it is strongly suggested to include
          clock-output-names and '#clock-cells'.

  reg:
    maxItems: 1

  clocks:
    minItems: 2
    maxItems: 3

  clock-names:
    minItems: 2
    items:
      - const: clk_xin
      - const: clk_ahb
      - const: gate

  interrupts:
    maxItems: 1

  phys:
    maxItems: 1

  phy-names:
    const: phy_arasan

  resets:
    maxItems: 1

  arasan,soc-ctl-syscon:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      A phandle to a syscon device (see ../mfd/syscon.txt) used to access
      core corecfg registers. Offsets of registers in this syscon are
      determined based on the main compatible string for the device.

  clock-output-names:
    minItems: 1
    maxItems: 2
    description:
      Name of the card clock which will be exposed by this device.

  '#clock-cells':
    enum: [0, 1]
    description:
      With this property in place we will export one or two clocks
      representing the Card Clock. These clocks are expected to be
      consumed by our PHY.

  xlnx,fails-without-test-cd:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      When present, the controller doesn't work when the CD line is not
      connected properly, and the line is not connected properly.
      Test mode can be used to force the controller to function.

  xlnx,int-clock-stable-broken:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      When present, the controller always reports that the internal clock
      is stable even when it is not.

  xlnx,mio-bank:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1, 2]
    default: 0
    description:
      The MIO bank number in which the command and data lines are configured.

dependencies:
  '#clock-cells': [ clock-output-names ]

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names

unevaluatedProperties: false

examples:
  - |
    mmc@e0100000 {
          compatible = "arasan,sdhci-8.9a";
          reg = <0xe0100000 0x1000>;
          clock-names = "clk_xin", "clk_ahb";
          clocks = <&clkc 21>, <&clkc 32>;
          interrupt-parent = <&gic>;
          interrupts = <0 24 4>;
    };

  - |
    mmc@e2800000 {
          compatible = "arasan,sdhci-5.1";
          reg = <0xe2800000 0x1000>;
          clock-names = "clk_xin", "clk_ahb";
          clocks = <&cru 8>, <&cru 18>;
          interrupt-parent = <&gic>;
          interrupts = <0 24 4>;
          phys = <&emmc_phy>;
          phy-names = "phy_arasan";
    };

  - |
    #include <dt-bindings/clock/rk3399-cru.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    mmc@fe330000 {
          compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
          reg = <0xfe330000 0x10000>;
          interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
          clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>;
          clock-names = "clk_xin", "clk_ahb";
          arasan,soc-ctl-syscon = <&grf>;
          assigned-clocks = <&cru SCLK_EMMC>;
          assigned-clock-rates = <200000000>;
          clock-output-names = "emmc_cardclock";
          phys = <&emmc_phy>;
          phy-names = "phy_arasan";
          #clock-cells = <0>;
    };

  - |
    mmc@ff160000 {
          compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
          interrupt-parent = <&gic>;
          interrupts = <0 48 4>;
          reg = <0xff160000 0x1000>;
          clocks = <&clk200>, <&clk200>;
          clock-names = "clk_xin", "clk_ahb";
          clock-output-names = "clk_out_sd0", "clk_in_sd0";
          #clock-cells = <1>;
          clk-phase-sd-hs = <63>, <72>;
    };

  - |
    mmc@f1040000 {
          compatible = "xlnx,versal-8.9a", "arasan,sdhci-8.9a";
          interrupt-parent = <&gic>;
          interrupts = <0 126 4>;
          reg = <0xf1040000 0x10000>;
          clocks = <&clk200>, <&clk200>;
          clock-names = "clk_xin", "clk_ahb";
          clock-output-names = "clk_out_sd0", "clk_in_sd0";
          #clock-cells = <1>;
          clk-phase-sd-hs = <132>, <60>;
    };

  - |
    #define LGM_CLK_EMMC5
    #define LGM_CLK_NGI
    #define LGM_GCLK_EMMC
    mmc@ec700000 {
          compatible = "intel,lgm-sdhci-5.1-emmc", "arasan,sdhci-5.1";
          reg = <0xec700000 0x300>;
          interrupt-parent = <&ioapic1>;
          interrupts = <44 1>;
          clocks = <&cgu0 LGM_CLK_EMMC5>, <&cgu0 LGM_CLK_NGI>,
                   <&cgu0 LGM_GCLK_EMMC>;
          clock-names = "clk_xin", "clk_ahb", "gate";
          clock-output-names = "emmc_cardclock";
          #clock-cells = <0>;
          phys = <&emmc_phy>;
          phy-names = "phy_arasan";
          arasan,soc-ctl-syscon = <&sysconf>;
    };

  - |
    #define LGM_CLK_SDIO
    #define LGM_GCLK_SDXC
    mmc@ec600000 {
          compatible = "intel,lgm-sdhci-5.1-sdxc", "arasan,sdhci-5.1";
          reg = <0xec600000 0x300>;
          interrupt-parent = <&ioapic1>;
          interrupts = <43 1>;
          clocks = <&cgu0 LGM_CLK_SDIO>, <&cgu0 LGM_CLK_NGI>,
                   <&cgu0 LGM_GCLK_SDXC>;
          clock-names = "clk_xin", "clk_ahb", "gate";
          clock-output-names = "sdxc_cardclock";
          #clock-cells = <0>;
          phys = <&sdxc_phy>;
          phy-names = "phy_arasan";
          arasan,soc-ctl-syscon = <&sysconf>;
    };

  - |
    #define KEEM_BAY_PSS_AUX_EMMC
    #define KEEM_BAY_PSS_EMMC
    mmc@33000000 {
          compatible = "intel,keembay-sdhci-5.1-emmc", "arasan,sdhci-5.1";
          interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
          reg = <0x33000000 0x300>;
          clock-names = "clk_xin", "clk_ahb";
          clocks = <&scmi_clk KEEM_BAY_PSS_AUX_EMMC>,
                   <&scmi_clk KEEM_BAY_PSS_EMMC>;
          phys = <&emmc_phy>;
          phy-names = "phy_arasan";
          assigned-clocks = <&scmi_clk KEEM_BAY_PSS_AUX_EMMC>;
          assigned-clock-rates = <200000000>;
          clock-output-names = "emmc_cardclock";
          #clock-cells = <0>;
          arasan,soc-ctl-syscon = <&mmc_phy_syscon>;
    };

  - |
    #define KEEM_BAY_PSS_AUX_SD0
    #define KEEM_BAY_PSS_SD0
    mmc@31000000 {
          compatible = "intel,keembay-sdhci-5.1-sd";
          interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
          reg = <0x31000000 0x300>;
          clock-names = "clk_xin", "clk_ahb";
          clocks = <&scmi_clk KEEM_BAY_PSS_AUX_SD0>,
                   <&scmi_clk KEEM_BAY_PSS_SD0>;
          arasan,soc-ctl-syscon = <&sd0_phy_syscon>;
    };

  - |
    #define EMMC_XIN_CLK
    #define EMMC_AXI_CLK
    #define TBH_PSS_EMMC_RST_N
    mmc@80420000 {
          compatible = "intel,thunderbay-sdhci-5.1", "arasan,sdhci-5.1";
          interrupts = <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>;
          reg = <0x80420000 0x400>;
          clocks = <&scmi_clk EMMC_XIN_CLK>,
                   <&scmi_clk EMMC_AXI_CLK>;
          clock-names = "clk_xin", "clk_ahb";
          phys = <&emmc_phy>;
          phy-names = "phy_arasan";
          assigned-clocks = <&scmi_clk EMMC_XIN_CLK>;
          clock-output-names = "emmc_cardclock";
          resets = <&rst_pss1 TBH_PSS_EMMC_RST_N>;
          #clock-cells = <0x0>;
    };
