| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/mmc/cdns,sdhci.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Cadence SD/SDIO/eMMC Host Controller (SD4HC) |
| |
| maintainers: |
| - Masahiro Yamada <yamada.masahiro@socionext.com> |
| |
| properties: |
| compatible: |
| items: |
| - enum: |
| - amd,pensando-elba-sd4hc |
| - microchip,mpfs-sd4hc |
| - socionext,uniphier-sd4hc |
| - const: cdns,sd4hc |
| |
| reg: |
| minItems: 1 |
| maxItems: 2 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| |
| resets: |
| maxItems: 1 |
| |
| # PHY DLL input delays: |
| # They are used to delay the data valid window, and align the window to |
| # sampling clock. The delay starts from 5ns (for delay parameter equal to 0) |
| # and it is increased by 2.5ns in each step. |
| |
| cdns,phy-input-delay-sd-highspeed: |
| description: Value of the delay in the input path for SD high-speed timing |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x1f |
| |
| cdns,phy-input-delay-legacy: |
| description: Value of the delay in the input path for legacy timing |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x1f |
| |
| cdns,phy-input-delay-sd-uhs-sdr12: |
| description: Value of the delay in the input path for SD UHS SDR12 timing |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x1f |
| |
| cdns,phy-input-delay-sd-uhs-sdr25: |
| description: Value of the delay in the input path for SD UHS SDR25 timing |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x1f |
| |
| cdns,phy-input-delay-sd-uhs-sdr50: |
| description: Value of the delay in the input path for SD UHS SDR50 timing |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x1f |
| |
| cdns,phy-input-delay-sd-uhs-ddr50: |
| description: Value of the delay in the input path for SD UHS DDR50 timing |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x1f |
| |
| cdns,phy-input-delay-mmc-highspeed: |
| description: Value of the delay in the input path for MMC high-speed timing |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x1f |
| |
| cdns,phy-input-delay-mmc-ddr: |
| description: Value of the delay in the input path for eMMC high-speed DDR timing |
| |
| # PHY DLL clock delays: |
| # Each delay property represents the fraction of the clock period. |
| # The approximate delay value will be |
| # (<delay property value>/128)*sdmclk_clock_period. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x1f |
| |
| cdns,phy-dll-delay-sdclk: |
| description: | |
| Value of the delay introduced on the sdclk output for all modes except |
| HS200, HS400 and HS400_ES. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x7f |
| |
| cdns,phy-dll-delay-sdclk-hsmmc: |
| description: | |
| Value of the delay introduced on the sdclk output for HS200, HS400 and |
| HS400_ES speed modes. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x7f |
| |
| cdns,phy-dll-delay-strobe: |
| description: | |
| Value of the delay introduced on the dat_strobe input used in |
| HS400 / HS400_ES speed modes. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 0x7f |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - clocks |
| |
| allOf: |
| - $ref: mmc-controller.yaml |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: amd,pensando-elba-sd4hc |
| then: |
| properties: |
| reg: |
| items: |
| - description: Host controller registers |
| - description: Elba byte-lane enable register for writes |
| required: |
| - resets |
| else: |
| properties: |
| reg: |
| maxItems: 1 |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| emmc: mmc@5a000000 { |
| compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc"; |
| reg = <0x5a000000 0x400>; |
| interrupts = <0 78 4>; |
| clocks = <&clk 4>; |
| bus-width = <8>; |
| mmc-ddr-1_8v; |
| mmc-hs200-1_8v; |
| mmc-hs400-1_8v; |
| cdns,phy-dll-delay-sdclk = <0>; |
| }; |