xref: /linux/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml (revision 25768de50b1f2dbb6ea44bd5148a87fe2c9c3688)
106efe648SMasahiro Yamada# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
206efe648SMasahiro Yamada%YAML 1.2
306efe648SMasahiro Yamada---
406efe648SMasahiro Yamada$id: http://devicetree.org/schemas/mmc/cdns,sdhci.yaml#
506efe648SMasahiro Yamada$schema: http://devicetree.org/meta-schemas/core.yaml#
606efe648SMasahiro Yamada
706efe648SMasahiro Yamadatitle: Cadence SD/SDIO/eMMC Host Controller (SD4HC)
806efe648SMasahiro Yamada
906efe648SMasahiro Yamadamaintainers:
1006efe648SMasahiro Yamada  - Masahiro Yamada <yamada.masahiro@socionext.com>
1106efe648SMasahiro Yamada
1206efe648SMasahiro Yamadaproperties:
1306efe648SMasahiro Yamada  compatible:
1406efe648SMasahiro Yamada    items:
1506efe648SMasahiro Yamada      - enum:
1682e4726bSBrad Larson          - amd,pensando-elba-sd4hc
1784723eecSKrzysztof Kozlowski          - microchip,mpfs-sd4hc
18826d898eSPierre-Henry Moussay          - microchip,pic64gx-sd4hc
1906efe648SMasahiro Yamada          - socionext,uniphier-sd4hc
2006efe648SMasahiro Yamada      - const: cdns,sd4hc
2106efe648SMasahiro Yamada
2206efe648SMasahiro Yamada  reg:
2382e4726bSBrad Larson    minItems: 1
2482e4726bSBrad Larson    maxItems: 2
2506efe648SMasahiro Yamada
2606efe648SMasahiro Yamada  interrupts:
2706efe648SMasahiro Yamada    maxItems: 1
2806efe648SMasahiro Yamada
2906efe648SMasahiro Yamada  clocks:
3006efe648SMasahiro Yamada    maxItems: 1
3106efe648SMasahiro Yamada
32cb7f0901SKunihiko Hayashi  resets:
33cb7f0901SKunihiko Hayashi    maxItems: 1
34cb7f0901SKunihiko Hayashi
3506efe648SMasahiro Yamada  # PHY DLL input delays:
3606efe648SMasahiro Yamada  # They are used to delay the data valid window, and align the window to
3706efe648SMasahiro Yamada  # sampling clock. The delay starts from 5ns (for delay parameter equal to 0)
3806efe648SMasahiro Yamada  # and it is increased by 2.5ns in each step.
3906efe648SMasahiro Yamada
4006efe648SMasahiro Yamada  cdns,phy-input-delay-sd-highspeed:
4106efe648SMasahiro Yamada    description: Value of the delay in the input path for SD high-speed timing
421e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
433d21a460SRob Herring    minimum: 0
443d21a460SRob Herring    maximum: 0x1f
4506efe648SMasahiro Yamada
4606efe648SMasahiro Yamada  cdns,phy-input-delay-legacy:
4706efe648SMasahiro Yamada    description: Value of the delay in the input path for legacy timing
481e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
493d21a460SRob Herring    minimum: 0
503d21a460SRob Herring    maximum: 0x1f
5106efe648SMasahiro Yamada
5206efe648SMasahiro Yamada  cdns,phy-input-delay-sd-uhs-sdr12:
5306efe648SMasahiro Yamada    description: Value of the delay in the input path for SD UHS SDR12 timing
541e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
553d21a460SRob Herring    minimum: 0
563d21a460SRob Herring    maximum: 0x1f
5706efe648SMasahiro Yamada
5806efe648SMasahiro Yamada  cdns,phy-input-delay-sd-uhs-sdr25:
5906efe648SMasahiro Yamada    description: Value of the delay in the input path for SD UHS SDR25 timing
601e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
613d21a460SRob Herring    minimum: 0
623d21a460SRob Herring    maximum: 0x1f
6306efe648SMasahiro Yamada
6406efe648SMasahiro Yamada  cdns,phy-input-delay-sd-uhs-sdr50:
6506efe648SMasahiro Yamada    description: Value of the delay in the input path for SD UHS SDR50 timing
661e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
673d21a460SRob Herring    minimum: 0
683d21a460SRob Herring    maximum: 0x1f
6906efe648SMasahiro Yamada
7006efe648SMasahiro Yamada  cdns,phy-input-delay-sd-uhs-ddr50:
7106efe648SMasahiro Yamada    description: Value of the delay in the input path for SD UHS DDR50 timing
721e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
733d21a460SRob Herring    minimum: 0
743d21a460SRob Herring    maximum: 0x1f
7506efe648SMasahiro Yamada
7606efe648SMasahiro Yamada  cdns,phy-input-delay-mmc-highspeed:
7706efe648SMasahiro Yamada    description: Value of the delay in the input path for MMC high-speed timing
781e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
793d21a460SRob Herring    minimum: 0
803d21a460SRob Herring    maximum: 0x1f
8106efe648SMasahiro Yamada
8206efe648SMasahiro Yamada  cdns,phy-input-delay-mmc-ddr:
8306efe648SMasahiro Yamada    description: Value of the delay in the input path for eMMC high-speed DDR timing
8406efe648SMasahiro Yamada
8506efe648SMasahiro Yamada  # PHY DLL clock delays:
8606efe648SMasahiro Yamada  # Each delay property represents the fraction of the clock period.
8706efe648SMasahiro Yamada  # The approximate delay value will be
8806efe648SMasahiro Yamada  # (<delay property value>/128)*sdmclk_clock_period.
891e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
903d21a460SRob Herring    minimum: 0
913d21a460SRob Herring    maximum: 0x1f
9206efe648SMasahiro Yamada
9306efe648SMasahiro Yamada  cdns,phy-dll-delay-sdclk:
9406efe648SMasahiro Yamada    description: |
9506efe648SMasahiro Yamada      Value of the delay introduced on the sdclk output for all modes except
9606efe648SMasahiro Yamada      HS200, HS400 and HS400_ES.
971e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
983d21a460SRob Herring    minimum: 0
993d21a460SRob Herring    maximum: 0x7f
10006efe648SMasahiro Yamada
10106efe648SMasahiro Yamada  cdns,phy-dll-delay-sdclk-hsmmc:
10206efe648SMasahiro Yamada    description: |
10306efe648SMasahiro Yamada      Value of the delay introduced on the sdclk output for HS200, HS400 and
10406efe648SMasahiro Yamada      HS400_ES speed modes.
1051e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
1063d21a460SRob Herring    minimum: 0
1073d21a460SRob Herring    maximum: 0x7f
10806efe648SMasahiro Yamada
10906efe648SMasahiro Yamada  cdns,phy-dll-delay-strobe:
11006efe648SMasahiro Yamada    description: |
11106efe648SMasahiro Yamada      Value of the delay introduced on the dat_strobe input used in
11206efe648SMasahiro Yamada      HS400 / HS400_ES speed modes.
1131e52a7e6SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
1143d21a460SRob Herring    minimum: 0
1153d21a460SRob Herring    maximum: 0x7f
11606efe648SMasahiro Yamada
11706efe648SMasahiro Yamadarequired:
11806efe648SMasahiro Yamada  - compatible
11906efe648SMasahiro Yamada  - reg
12006efe648SMasahiro Yamada  - interrupts
12106efe648SMasahiro Yamada  - clocks
12206efe648SMasahiro Yamada
12382e4726bSBrad LarsonallOf:
124*c0d5538cSPierre-Henry Moussay  - $ref: sdhci-common.yaml
12582e4726bSBrad Larson  - if:
12682e4726bSBrad Larson      properties:
12782e4726bSBrad Larson        compatible:
12882e4726bSBrad Larson          contains:
12982e4726bSBrad Larson            const: amd,pensando-elba-sd4hc
13082e4726bSBrad Larson    then:
13182e4726bSBrad Larson      properties:
13282e4726bSBrad Larson        reg:
13382e4726bSBrad Larson          items:
13482e4726bSBrad Larson            - description: Host controller registers
13582e4726bSBrad Larson            - description: Elba byte-lane enable register for writes
13682e4726bSBrad Larson      required:
13782e4726bSBrad Larson        - resets
13882e4726bSBrad Larson    else:
13982e4726bSBrad Larson      properties:
14082e4726bSBrad Larson        reg:
14182e4726bSBrad Larson          maxItems: 1
14282e4726bSBrad Larson
1436fdc6e23SRob HerringunevaluatedProperties: false
1446fdc6e23SRob Herring
14506efe648SMasahiro Yamadaexamples:
14606efe648SMasahiro Yamada  - |
14706efe648SMasahiro Yamada    emmc: mmc@5a000000 {
14806efe648SMasahiro Yamada        compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
14906efe648SMasahiro Yamada        reg = <0x5a000000 0x400>;
15006efe648SMasahiro Yamada        interrupts = <0 78 4>;
15106efe648SMasahiro Yamada        clocks = <&clk 4>;
15206efe648SMasahiro Yamada        bus-width = <8>;
15306efe648SMasahiro Yamada        mmc-ddr-1_8v;
15406efe648SMasahiro Yamada        mmc-hs200-1_8v;
15506efe648SMasahiro Yamada        mmc-hs400-1_8v;
15606efe648SMasahiro Yamada        cdns,phy-dll-delay-sdclk = <0>;
15706efe648SMasahiro Yamada    };
158