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