1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mmc/cdns,sdhci.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Cadence SD/SDIO/eMMC Host Controller (SD4HC) 8 9maintainers: 10 - Masahiro Yamada <yamada.masahiro@socionext.com> 11 12allOf: 13 - $ref: mmc-controller.yaml 14 15properties: 16 compatible: 17 items: 18 - enum: 19 - microchip,mpfs-sd4hc 20 - socionext,uniphier-sd4hc 21 - const: cdns,sd4hc 22 23 reg: 24 maxItems: 1 25 26 interrupts: 27 maxItems: 1 28 29 clocks: 30 maxItems: 1 31 32 # PHY DLL input delays: 33 # They are used to delay the data valid window, and align the window to 34 # sampling clock. The delay starts from 5ns (for delay parameter equal to 0) 35 # and it is increased by 2.5ns in each step. 36 37 cdns,phy-input-delay-sd-highspeed: 38 description: Value of the delay in the input path for SD high-speed timing 39 $ref: "/schemas/types.yaml#/definitions/uint32" 40 minimum: 0 41 maximum: 0x1f 42 43 cdns,phy-input-delay-legacy: 44 description: Value of the delay in the input path for legacy timing 45 $ref: "/schemas/types.yaml#/definitions/uint32" 46 minimum: 0 47 maximum: 0x1f 48 49 cdns,phy-input-delay-sd-uhs-sdr12: 50 description: Value of the delay in the input path for SD UHS SDR12 timing 51 $ref: "/schemas/types.yaml#/definitions/uint32" 52 minimum: 0 53 maximum: 0x1f 54 55 cdns,phy-input-delay-sd-uhs-sdr25: 56 description: Value of the delay in the input path for SD UHS SDR25 timing 57 $ref: "/schemas/types.yaml#/definitions/uint32" 58 minimum: 0 59 maximum: 0x1f 60 61 cdns,phy-input-delay-sd-uhs-sdr50: 62 description: Value of the delay in the input path for SD UHS SDR50 timing 63 $ref: "/schemas/types.yaml#/definitions/uint32" 64 minimum: 0 65 maximum: 0x1f 66 67 cdns,phy-input-delay-sd-uhs-ddr50: 68 description: Value of the delay in the input path for SD UHS DDR50 timing 69 $ref: "/schemas/types.yaml#/definitions/uint32" 70 minimum: 0 71 maximum: 0x1f 72 73 cdns,phy-input-delay-mmc-highspeed: 74 description: Value of the delay in the input path for MMC high-speed timing 75 $ref: "/schemas/types.yaml#/definitions/uint32" 76 minimum: 0 77 maximum: 0x1f 78 79 cdns,phy-input-delay-mmc-ddr: 80 description: Value of the delay in the input path for eMMC high-speed DDR timing 81 82 # PHY DLL clock delays: 83 # Each delay property represents the fraction of the clock period. 84 # The approximate delay value will be 85 # (<delay property value>/128)*sdmclk_clock_period. 86 $ref: "/schemas/types.yaml#/definitions/uint32" 87 minimum: 0 88 maximum: 0x1f 89 90 cdns,phy-dll-delay-sdclk: 91 description: | 92 Value of the delay introduced on the sdclk output for all modes except 93 HS200, HS400 and HS400_ES. 94 $ref: "/schemas/types.yaml#/definitions/uint32" 95 minimum: 0 96 maximum: 0x7f 97 98 cdns,phy-dll-delay-sdclk-hsmmc: 99 description: | 100 Value of the delay introduced on the sdclk output for HS200, HS400 and 101 HS400_ES speed modes. 102 $ref: "/schemas/types.yaml#/definitions/uint32" 103 minimum: 0 104 maximum: 0x7f 105 106 cdns,phy-dll-delay-strobe: 107 description: | 108 Value of the delay introduced on the dat_strobe input used in 109 HS400 / HS400_ES speed modes. 110 $ref: "/schemas/types.yaml#/definitions/uint32" 111 minimum: 0 112 maximum: 0x7f 113 114required: 115 - compatible 116 - reg 117 - interrupts 118 - clocks 119 120unevaluatedProperties: false 121 122examples: 123 - | 124 emmc: mmc@5a000000 { 125 compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc"; 126 reg = <0x5a000000 0x400>; 127 interrupts = <0 78 4>; 128 clocks = <&clk 4>; 129 bus-width = <8>; 130 mmc-ddr-1_8v; 131 mmc-hs200-1_8v; 132 mmc-hs400-1_8v; 133 cdns,phy-dll-delay-sdclk = <0>; 134 }; 135