samsung-sdhci.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. * Samsung's SDHCI Controller device tree bindings
  2. Samsung's SDHCI controller is used as a connectivity interface with external
  3. MMC, SD and eMMC storage mediums. This file documents differences between the
  4. core mmc properties described by mmc.txt and the properties used by the
  5. Samsung implmentation of the SDHCI controller.
  6. Note: The mmc core bindings documentation states that if none of the core
  7. card-detect bindings are used, then the standard sdhci card detect mechanism
  8. is used. The Samsung's SDHCI controller bindings extends this as listed below.
  9. [A] The property "samsung,cd-pinmux-gpio" can be used as stated in the
  10. "Optional Board Specific Properties" section below.
  11. Required SoC Specific Properties:
  12. - compatible: should be one of the following
  13. - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci
  14. controller.
  15. - "samsung,exynos4210-sdhci": For controllers compatible with Exynos4 sdhci
  16. controller.
  17. Required Board Specific Properties:
  18. - Samsung GPIO variant (will be completely replaced by pinctrl):
  19. - gpios: Should specify the gpios used for clock, command and data lines. The
  20. gpio specifier format depends on the gpio controller.
  21. - Pinctrl variant (preferred if available):
  22. - pinctrl-0: Should specify pin control groups used for this controller.
  23. - pinctrl-names: Should contain only one value - "default".
  24. Optional Board Specific Properties:
  25. - samsung,cd-pinmux-gpio: Specifies the card detect line that is routed
  26. through a pinmux to the card-detect pin of the card slot. This property
  27. should be used only if none of the mmc core card-detect properties are
  28. used. Only for Samsung GPIO variant.
  29. Example:
  30. sdhci@12530000 {
  31. compatible = "samsung,exynos4210-sdhci";
  32. reg = <0x12530000 0x100>;
  33. interrupts = <0 75 0>;
  34. bus-width = <4>;
  35. cd-gpios = <&gpk2 2 2 3 3>;
  36. /* Samsung GPIO variant */
  37. gpios = <&gpk2 0 2 0 3>, /* clock line */
  38. <&gpk2 1 2 0 3>, /* command line */
  39. <&gpk2 3 2 3 3>, /* data line 0 */
  40. <&gpk2 4 2 3 3>, /* data line 1 */
  41. <&gpk2 5 2 3 3>, /* data line 2 */
  42. <&gpk2 6 2 3 3>; /* data line 3 */
  43. /* Pinctrl variant */
  44. pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>;
  45. pinctrl-names = "default";
  46. };
  47. Note: This example shows both SoC specific and board specific properties
  48. in a single device node. The properties can be actually be seperated
  49. into SoC specific node and board specific node.