No subject


Thu Oct 11 07:38:59 CEST 2012


for the eMMC case we are probing for an SD card, and when that fails,
trying eMMC. If we can specify which it is (which we can in the case
of a soldered-down device) then we might save that wasted time.

Regards,
Simon

>
> Thanks & Regards
> Amarendra Reddy
>
> On 23 January 2013 05:39, Simon Glass <sjg at chromium.org> wrote:
>>
>> Hi Amar,
>>
>> On Mon, Jan 21, 2013 at 3:43 AM, Amar <amarendra.xt at samsung.com> wrote:
>> > This patch adds DWMMC device node data for exynos5.
>> > This patch also adds binding file for DWMMC device node.
>> >
>> > Signed-off-by: Vivek Gautam <gautam.vivek at samsung.com>
>> > Signed-off-by: Amar <amarendra.xt at samsung.com>
>>
>> Acked-by: Simon Glass <sjg at chromium.org>
>>
>> Can I suggest in a later patch you add a removable flag, so we can
>> mark devices which cannot be removed (and can be assumed to be
>> present). I believe that there is some overhead involved in detecting
>> an MMC (we have to try SD first, and fail).
>>
>> > ---
>> > Changes since V1:
>> >         1)Added binding file for DWMMC device node at the location
>> >         "doc/device-tree-bindings/exynos/dwmmc.txt".
>> >         2)Removed the propname 'index' from device node.
>> >         3)Prefixed the vendor name 'samsung' before propname in device
>> > node.
>> >
>> > Changes since V2:
>> >         1)Updation of commit message and resubmition of proper patch
>> > set.
>> >
>> > Changes since V3:
>> >         No change.
>> >
>> > Changes since V4:
>> >         1)Updated the doc/device-tree-bindings/exynos/dwmmc.txt with
>> > more
>> >         information regarding the property 'samsung,timing'.
>> >         2)Replaced the name 'dwmmc' with 'mmc'.
>> >
>> >  arch/arm/dts/exynos5250.dtsi              | 31 +++++++++++++++++++
>> >  board/samsung/dts/exynos5250-smdk5250.dts | 22 ++++++++++++++
>> >  doc/device-tree-bindings/exynos/dwmmc.txt | 49
>> > +++++++++++++++++++++++++++++++
>> >  3 files changed, 102 insertions(+)
>> >  create mode 100644 doc/device-tree-bindings/exynos/dwmmc.txt
>> >
>> > diff --git a/arch/arm/dts/exynos5250.dtsi b/arch/arm/dts/exynos5250.dtsi
>> > index ed8c8dd..6c08eb7 100644
>> > --- a/arch/arm/dts/exynos5250.dtsi
>> > +++ b/arch/arm/dts/exynos5250.dtsi
>> > @@ -151,4 +151,35 @@
>> >                 };
>> >         };
>> >
>> > +       mmc at 12200000 {
>> > +               #address-cells = <1>;
>> > +               #size-cells = <0>;
>> > +               compatible = "samsung,exynos5250-dwmmc";
>> > +               reg = <0x12200000 0x1000>;
>> > +               interrupts = <0 75 0>;
>> > +       };
>> > +
>> > +       mmc at 12210000 {
>> > +               #address-cells = <1>;
>> > +               #size-cells = <0>;
>> > +               compatible = "samsung,exynos5250-dwmmc";
>> > +               reg = <0x12210000 0x1000>;
>> > +               interrupts = <0 76 0>;
>> > +       };
>> > +
>> > +       mmc at 12220000 {
>> > +               #address-cells = <1>;
>> > +               #size-cells = <0>;
>> > +               compatible = "samsung,exynos5250-dwmmc";
>> > +               reg = <0x12220000 0x1000>;
>> > +               interrupts = <0 77 0>;
>> > +       };
>> > +
>> > +       mmc at 12230000 {
>> > +               #address-cells = <1>;
>> > +               #size-cells = <0>;
>> > +               compatible = "samsung,exynos5250-dwmmc";
>> > +               reg = <0x12230000 0x1000>;
>> > +               interrupts = <0 78 0>;
>> > +       };
>> >  };
>> > diff --git a/board/samsung/dts/exynos5250-smdk5250.dts
>> > b/board/samsung/dts/exynos5250-smdk5250.dts
>> > index cbfab6f..1d3e42b 100644
>> > --- a/board/samsung/dts/exynos5250-smdk5250.dts
>> > +++ b/board/samsung/dts/exynos5250-smdk5250.dts
>> > @@ -30,6 +30,10 @@
>> >                 spi2 = "/spi at 12d40000";
>> >                 spi3 = "/spi at 131a0000";
>> >                 spi4 = "/spi at 131b0000";
>> > +               mmc0 = "/mmc at 12200000";
>> > +               mmc1 = "/mmc at 12210000";
>> > +               mmc2 = "/mmc at 12220000";
>> > +               mmc3 = "/mmc at 12230000";
>> >         };
>> >
>> >         sromc at 12250000 {
>> > @@ -66,4 +70,22 @@
>> >                         compatible = "maxim,max77686_pmic";
>> >                 };
>> >         };
>> > +
>> > +       mmc at 12200000 {
>> > +               samsung,bus-width = <8>;
>> > +               samsung,timing = <1 3 3>;
>> > +       };
>> > +
>> > +       mmc at 12210000 {
>> > +               status = "disabled";
>> > +       };
>> > +
>> > +       mmc at 12220000 {
>> > +               samsung,bus-width = <4>;
>> > +               samsung,timing = <1 2 3>;
>> > +       };
>> > +
>> > +       mmc at 12230000 {
>> > +               status = "disabled";
>> > +       };
>> >  };
>> > diff --git a/doc/device-tree-bindings/exynos/dwmmc.txt
>> > b/doc/device-tree-bindings/exynos/dwmmc.txt
>> > new file mode 100644
>> > index 0000000..0054ace
>> > --- /dev/null
>> > +++ b/doc/device-tree-bindings/exynos/dwmmc.txt
>> > @@ -0,0 +1,49 @@
>> > +* Exynos 5250 DWC_mobile_storage
>> > +
>> > +The Exynos 5250 provides DWC_mobile_storage interface which supports
>> > +. Embedded Multimedia Cards (EMMC-version 4.5)
>> > +. Secure Digital memory (SD mem-version 2.0)
>> > +. Secure Digital I/O (SDIO-version 3.0)
>> > +. Consumer Electronics Advanced Transport Architecture (CE-ATA-version
>> > 1.1)
>> > +
>> > +The Exynos 5250 DWC_mobile_storage provides four channels.
>> > +SOC specific and Board specific properties are channel specific.
>> > +
>> > +Required SoC Specific Properties:
>> > +
>> > +- compatible: should be
>> > +       - samsung,exynos5250-dwmmc: for exynos5250 platforms
>> > +
>> > +- reg: physical base address of the controller and length of memory
>> > mapped
>> > +       region.
>> > +
>> > +- interrupts: The interrupt number to the cpu.
>> > +
>> > +Required Board Specific Properties:
>> > +
>> > +- #address-cells: should be 1.
>> > +- #size-cells: should be 0.
>> > +- samsung,bus-width: The width of the bus used to interface the devices
>> > +       supported by DWC_mobile_storage (SD-MMC/EMMC/SDIO).
>> > +       . Typically the bus width is 4 or 8.
>> > +- samsung,timing: The timing values to be written into the
>> > +       Drv/sample clock selection register of corresponding channel.
>> > +       . It is comprised of 3 values corresponding to the 3 fileds
>> > +         'SelClk_sample', 'SelClk_drv' and 'DIVRATIO' of CLKSEL
>> > register.
>> > +       . SelClk_sample: Select sample clock among 8 shifted clocks.
>> > +       . SelClk_drv: Select drv clock among 8 shifted clocks.
>> > +       . DIVRATIO: Clock Divide ratio select.
>> > +       . The above 3 values are used by the clock phase shifter.
>> > +
>> > +Example:
>> > +
>> > +mmc at 12200000 {
>> > +       samsung,bus-width = <8>;
>> > +       samsung,timing = <1 3 3>;
>> > +}
>> > +In the above example,
>> > +       . The bus width is 8
>> > +       . Timing is comprised of 3 values as explained below
>> > +               1 - SelClk_sample
>> > +               3 - SelClk_drv
>> > +               3 - DIVRATIO
>> > --
>> > 1.8.0
>> >
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>
>


More information about the U-Boot mailing list