sdhci-cadence.txt 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. * Cadence SD/SDIO/eMMC Host Controller
  2. Required properties:
  3. - compatible: should be one of the following:
  4. "cdns,sd4hc" - default of the IP
  5. "socionext,uniphier-sd4hc" - for Socionext UniPhier SoCs
  6. - reg: offset and length of the register set for the device.
  7. - interrupts: a single interrupt specifier.
  8. - clocks: phandle to the input clock.
  9. Optional properties:
  10. For eMMC configuration, supported speed modes are not indicated by the SDHCI
  11. Capabilities Register. Instead, the following properties should be specified
  12. if supported. See mmc.txt for details.
  13. - mmc-ddr-1_8v
  14. - mmc-ddr-1_2v
  15. - mmc-hs200-1_8v
  16. - mmc-hs200-1_2v
  17. - mmc-hs400-1_8v
  18. - mmc-hs400-1_2v
  19. Some PHY delays can be configured by following properties.
  20. PHY DLL input delays:
  21. They are used to delay the data valid window, and align the window
  22. to sampling clock. The delay starts from 5ns (for delay parameter equal to 0)
  23. and it is increased by 2.5ns in each step.
  24. - cdns,phy-input-delay-sd-highspeed:
  25. Value of the delay in the input path for SD high-speed timing
  26. Valid range = [0:0x1F].
  27. - cdns,phy-input-delay-legacy:
  28. Value of the delay in the input path for legacy timing
  29. Valid range = [0:0x1F].
  30. - cdns,phy-input-delay-sd-uhs-sdr12:
  31. Value of the delay in the input path for SD UHS SDR12 timing
  32. Valid range = [0:0x1F].
  33. - cdns,phy-input-delay-sd-uhs-sdr25:
  34. Value of the delay in the input path for SD UHS SDR25 timing
  35. Valid range = [0:0x1F].
  36. - cdns,phy-input-delay-sd-uhs-sdr50:
  37. Value of the delay in the input path for SD UHS SDR50 timing
  38. Valid range = [0:0x1F].
  39. - cdns,phy-input-delay-sd-uhs-ddr50:
  40. Value of the delay in the input path for SD UHS DDR50 timing
  41. Valid range = [0:0x1F].
  42. - cdns,phy-input-delay-mmc-highspeed:
  43. Value of the delay in the input path for MMC high-speed timing
  44. Valid range = [0:0x1F].
  45. - cdns,phy-input-delay-mmc-ddr:
  46. Value of the delay in the input path for eMMC high-speed DDR timing
  47. Valid range = [0:0x1F].
  48. PHY DLL clock delays:
  49. Each delay property represents the fraction of the clock period.
  50. The approximate delay value will be
  51. (<delay property value>/128)*sdmclk_clock_period.
  52. - cdns,phy-dll-delay-sdclk:
  53. Value of the delay introduced on the sdclk output
  54. for all modes except HS200, HS400 and HS400_ES.
  55. Valid range = [0:0x7F].
  56. - cdns,phy-dll-delay-sdclk-hsmmc:
  57. Value of the delay introduced on the sdclk output
  58. for HS200, HS400 and HS400_ES speed modes.
  59. Valid range = [0:0x7F].
  60. - cdns,phy-dll-delay-strobe:
  61. Value of the delay introduced on the dat_strobe input
  62. used in HS400 / HS400_ES speed modes.
  63. Valid range = [0:0x7F].
  64. Example:
  65. emmc: sdhci@5a000000 {
  66. compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
  67. reg = <0x5a000000 0x400>;
  68. interrupts = <0 78 4>;
  69. clocks = <&clk 4>;
  70. bus-width = <8>;
  71. mmc-ddr-1_8v;
  72. mmc-hs200-1_8v;
  73. mmc-hs400-1_8v;
  74. cdns,phy-dll-delay-sdclk = <0>;
  75. };