Hi, On Tue, May 1, 2012 at 10:07 PM, Thomas Abraham <thomas.abraham@xxxxxxxxxx> wrote: > Add device tree based discovery support. > > Signed-off-by: Thomas Abraham <thomas.abraham@xxxxxxxxxx> > --- > .../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.txt > > diff --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 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html