[PATCH 3/7] mmc: dw_mmc: add device tree support
From: Olof Johansson <hidden>
Date: 2012-05-02 18:07:48
Also in:
linux-devicetree, linux-mmc, linux-samsung-soc, lkml
Hi, On Tue, May 1, 2012 at 10:07 PM, Thomas Abraham [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Add device tree based discovery support. Signed-off-by: Thomas Abraham <redacted> --- ?.../devicetree/bindings/mmc/synposis-dw-mshc.txt ? | ? 85 +++++++++ ?drivers/mmc/host/dw_mmc-pltfm.c ? ? ? ? ? ? ? ? ? ?| ? 24 +++ ?drivers/mmc/host/dw_mmc.c ? ? ? ? ? ? ? ? ? ? ? ? ?| ?181 +++++++++++++++++++- ?drivers/mmc/host/dw_mmc.h ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 10 + ?include/linux/mmc/dw_mmc.h ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 + ?5 files changed, 296 insertions(+), 6 deletions(-) ?create mode 100644 Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txtdiff --git a/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt new file mode 100644 index 0000000..c1ed70e --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt@@ -0,0 +1,85 @@ +* Synopsis Designware Mobile Storage Host Controller + +The Synopsis designware mobile storage host controller is used to interface +a SoC with storage medium such as eMMC or SD/MMC cards. + +Required Properties: + +* compatible: should be one of the following + ? ? ? - synopsis,dw-mshc: for controllers compliant with synopsis dw-mshc. + +* reg: physical base address of the dw-mshc controller and size of its memory + ?region. + +* interrupts: interrupt specifier for the controller. The format and value of + ?the interrupt specifier depends on the interrupt parent for the controller. + +# Slots: The slot specific information are contained within child-nodes with + ?each child-node representing a supported slot. There should be atleast one + ?child node representing a card slot. The name of the slot child node should + ?be 'slot{n}' where n is the unique number of the slot connnected to the + ?controller. The following are optional properties which can be included in + ?the slot child node.
Since we're talking slots / cards on a bus, I think the addressing
model would be useful here. So in the main controller node:
#address-cells = <1>;
#size-cells = <0>;
And then each slot would need a reg property and possibly unit address:
slot {
reg = <0>;
...
};
(unit addresses on the slots are only needed if they can't be
disambiguated by name, so not needed if you only have one slot).
-Olof