| * Samsung's SDHCI Controller device tree bindings |
| |
| Samsung's SDHCI controller is used as a connectivity interface with external |
| MMC, SD and eMMC storage mediums. This file documents differences between the |
| core mmc properties described by mmc.txt and the properties used by the |
| Samsung implmentation of the SDHCI controller. |
| |
| Note: The mmc core bindings documentation states that if none of the core |
| card-detect bindings are used, then the standard sdhci card detect mechanism |
| is used. The Samsung's SDHCI controller bindings extends this as listed below. |
| |
| [A] The property "samsung,cd-pinmux-gpio" can be used as stated in the |
| "Optional Board Specific Properties" section below. |
| |
| Required SoC Specific Properties: |
| - compatible: should be one of the following |
| - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci |
| controller. |
| - "samsung,exynos4210-sdhci": For controllers compatible with Exynos4 sdhci |
| controller. |
| |
| Required Board Specific Properties: |
| - Samsung GPIO variant (will be completely replaced by pinctrl): |
| - gpios: Should specify the gpios used for clock, command and data lines. The |
| gpio specifier format depends on the gpio controller. |
| - Pinctrl variant (preferred if available): |
| - pinctrl-0: Should specify pin control groups used for this controller. |
| - pinctrl-names: Should contain only one value - "default". |
| |
| Optional Board Specific Properties: |
| - samsung,cd-pinmux-gpio: Specifies the card detect line that is routed |
| through a pinmux to the card-detect pin of the card slot. This property |
| should be used only if none of the mmc core card-detect properties are |
| used. Only for Samsung GPIO variant. |
| |
| Example: |
| sdhci@12530000 { |
| compatible = "samsung,exynos4210-sdhci"; |
| reg = <0x12530000 0x100>; |
| interrupts = <0 75 0>; |
| bus-width = <4>; |
| cd-gpios = <&gpk2 2 2 3 3>; |
| |
| /* Samsung GPIO variant */ |
| gpios = <&gpk2 0 2 0 3>, /* clock line */ |
| <&gpk2 1 2 0 3>, /* command line */ |
| <&gpk2 3 2 3 3>, /* data line 0 */ |
| <&gpk2 4 2 3 3>, /* data line 1 */ |
| <&gpk2 5 2 3 3>, /* data line 2 */ |
| <&gpk2 6 2 3 3>; /* data line 3 */ |
| |
| /* Pinctrl variant */ |
| pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4>; |
| pinctrl-names = "default"; |
| }; |
| |
| Note: This example shows both SoC specific and board specific properties |
| in a single device node. The properties can be actually be separated |
| into SoC specific node and board specific node. |