| # 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 | |
| - microchip,pic64gx-sd4hc | |
| - mobileye,eyeq-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: sdhci-common.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 | |
| 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>; | |
| }; |