Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | * Atmel High Speed MultiMedia Card Interface |
| 2 | |
| 3 | This controller on atmel products provides an interface for MMC, SD and SDIO |
| 4 | types of memory cards. |
| 5 | |
| 6 | This file documents differences between the core properties described |
| 7 | by mmc.txt and the properties used by the atmel-mci driver. |
| 8 | |
| 9 | 1) MCI node |
| 10 | |
| 11 | Required properties: |
| 12 | - compatible: should be "atmel,hsmci" |
| 13 | - #address-cells: should be one. The cell is the slot id. |
| 14 | - #size-cells: should be zero. |
| 15 | - at least one slot node |
| 16 | - clock-names: tuple listing input clock names. |
| 17 | Required elements: "mci_clk" |
| 18 | - clocks: phandles to input clocks. |
| 19 | |
| 20 | The node contains child nodes for each slot that the platform uses |
| 21 | |
| 22 | Example MCI node: |
| 23 | |
| 24 | mmc0: mmc@f0008000 { |
| 25 | compatible = "atmel,hsmci"; |
| 26 | reg = <0xf0008000 0x600>; |
| 27 | interrupts = <12 4>; |
| 28 | #address-cells = <1>; |
| 29 | #size-cells = <0>; |
| 30 | clock-names = "mci_clk"; |
| 31 | clocks = <&mci0_clk>; |
| 32 | |
| 33 | [ child node definitions...] |
| 34 | }; |
| 35 | |
| 36 | 2) slot nodes |
| 37 | |
| 38 | Required properties: |
| 39 | - reg: should contain the slot id. |
| 40 | - bus-width: number of data lines connected to the controller |
| 41 | |
| 42 | Optional properties: |
| 43 | - cd-gpios: specify GPIOs for card detection |
| 44 | - cd-inverted: invert the value of external card detect gpio line |
| 45 | - wp-gpios: specify GPIOs for write protection |
| 46 | |
| 47 | Example slot node: |
| 48 | |
| 49 | slot@0 { |
| 50 | reg = <0>; |
| 51 | bus-width = <4>; |
| 52 | cd-gpios = <&pioD 15 0> |
| 53 | cd-inverted; |
| 54 | }; |
| 55 | |
| 56 | Example full MCI node: |
| 57 | mmc0: mmc@f0008000 { |
| 58 | compatible = "atmel,hsmci"; |
| 59 | reg = <0xf0008000 0x600>; |
| 60 | interrupts = <12 4>; |
| 61 | #address-cells = <1>; |
| 62 | #size-cells = <0>; |
| 63 | slot@0 { |
| 64 | reg = <0>; |
| 65 | bus-width = <4>; |
| 66 | cd-gpios = <&pioD 15 0> |
| 67 | cd-inverted; |
| 68 | }; |
| 69 | slot@1 { |
| 70 | reg = <1>; |
| 71 | bus-width = <4>; |
| 72 | }; |
| 73 | }; |