Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mmc/cdns,sdhci.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Cadence SD/SDIO/eMMC Host Controller (SD4HC)
0008 
0009 maintainers:
0010   - Masahiro Yamada <yamada.masahiro@socionext.com>
0011   - Piotr Sroka <piotrs@cadence.com>
0012 
0013 allOf:
0014   - $ref: mmc-controller.yaml
0015 
0016 properties:
0017   compatible:
0018     items:
0019       - enum:
0020           - microchip,mpfs-sd4hc
0021           - socionext,uniphier-sd4hc
0022       - const: cdns,sd4hc
0023 
0024   reg:
0025     maxItems: 1
0026 
0027   interrupts:
0028     maxItems: 1
0029 
0030   clocks:
0031     maxItems: 1
0032 
0033   # PHY DLL input delays:
0034   # They are used to delay the data valid window, and align the window to
0035   # sampling clock. The delay starts from 5ns (for delay parameter equal to 0)
0036   # and it is increased by 2.5ns in each step.
0037 
0038   cdns,phy-input-delay-sd-highspeed:
0039     description: Value of the delay in the input path for SD high-speed timing
0040     $ref: "/schemas/types.yaml#/definitions/uint32"
0041     minimum: 0
0042     maximum: 0x1f
0043 
0044   cdns,phy-input-delay-legacy:
0045     description: Value of the delay in the input path for legacy timing
0046     $ref: "/schemas/types.yaml#/definitions/uint32"
0047     minimum: 0
0048     maximum: 0x1f
0049 
0050   cdns,phy-input-delay-sd-uhs-sdr12:
0051     description: Value of the delay in the input path for SD UHS SDR12 timing
0052     $ref: "/schemas/types.yaml#/definitions/uint32"
0053     minimum: 0
0054     maximum: 0x1f
0055 
0056   cdns,phy-input-delay-sd-uhs-sdr25:
0057     description: Value of the delay in the input path for SD UHS SDR25 timing
0058     $ref: "/schemas/types.yaml#/definitions/uint32"
0059     minimum: 0
0060     maximum: 0x1f
0061 
0062   cdns,phy-input-delay-sd-uhs-sdr50:
0063     description: Value of the delay in the input path for SD UHS SDR50 timing
0064     $ref: "/schemas/types.yaml#/definitions/uint32"
0065     minimum: 0
0066     maximum: 0x1f
0067 
0068   cdns,phy-input-delay-sd-uhs-ddr50:
0069     description: Value of the delay in the input path for SD UHS DDR50 timing
0070     $ref: "/schemas/types.yaml#/definitions/uint32"
0071     minimum: 0
0072     maximum: 0x1f
0073 
0074   cdns,phy-input-delay-mmc-highspeed:
0075     description: Value of the delay in the input path for MMC high-speed timing
0076     $ref: "/schemas/types.yaml#/definitions/uint32"
0077     minimum: 0
0078     maximum: 0x1f
0079 
0080   cdns,phy-input-delay-mmc-ddr:
0081     description: Value of the delay in the input path for eMMC high-speed DDR timing
0082 
0083   # PHY DLL clock delays:
0084   # Each delay property represents the fraction of the clock period.
0085   # The approximate delay value will be
0086   # (<delay property value>/128)*sdmclk_clock_period.
0087     $ref: "/schemas/types.yaml#/definitions/uint32"
0088     minimum: 0
0089     maximum: 0x1f
0090 
0091   cdns,phy-dll-delay-sdclk:
0092     description: |
0093       Value of the delay introduced on the sdclk output for all modes except
0094       HS200, HS400 and HS400_ES.
0095     $ref: "/schemas/types.yaml#/definitions/uint32"
0096     minimum: 0
0097     maximum: 0x7f
0098 
0099   cdns,phy-dll-delay-sdclk-hsmmc:
0100     description: |
0101       Value of the delay introduced on the sdclk output for HS200, HS400 and
0102       HS400_ES speed modes.
0103     $ref: "/schemas/types.yaml#/definitions/uint32"
0104     minimum: 0
0105     maximum: 0x7f
0106 
0107   cdns,phy-dll-delay-strobe:
0108     description: |
0109       Value of the delay introduced on the dat_strobe input used in
0110       HS400 / HS400_ES speed modes.
0111     $ref: "/schemas/types.yaml#/definitions/uint32"
0112     minimum: 0
0113     maximum: 0x7f
0114 
0115 required:
0116   - compatible
0117   - reg
0118   - interrupts
0119   - clocks
0120 
0121 unevaluatedProperties: false
0122 
0123 examples:
0124   - |
0125     emmc: mmc@5a000000 {
0126         compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
0127         reg = <0x5a000000 0x400>;
0128         interrupts = <0 78 4>;
0129         clocks = <&clk 4>;
0130         bus-width = <8>;
0131         mmc-ddr-1_8v;
0132         mmc-hs200-1_8v;
0133         mmc-hs400-1_8v;
0134         cdns,phy-dll-delay-sdclk = <0>;
0135     };