[U-Boot] DWMMC crontroller in Exynos4412

Przemyslaw Marczak
2015-08-27T06:47:34Z

Hi Humberto,

On 08/26/2015 07:24 PM, Humberto L?pez Le?n wrote:
> Hi Przemyslaw,
>
> On 08/26/2015 10:12 AM, Przemyslaw Marczak wrote:
>> Hi Humberto,
>>
>> On 08/26/2015 03:40 PM, Humberto L?pez Le?n wrote:
>>> Hi community,
>>>
>>> thank you all for answering my questions.
>>>
>>> On 08/26/2015 02:53 AM, Przemyslaw Marczak wrote:
>>>> Hi,
>>>>
>>>> On 08/26/2015 08:23 AM, Jaehoon Chung wrote:
>>>>> On 08/26/2015 11:26 AM, Simon Glass wrote:
>>>>>> +Samsung people
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 25 August 2015 at 13:10, Humberto L?pez Le?n <humberto@uclv.cu>
>>>>>> wrote:
>>>>>>> Hi Simon,
>>>>>>> I'm working on implementing a driver for SD/MMC cards in the
>>>>>>> framework
>>>>>>> GenodeOS. I think you could help me with your experience in this
>>>>>>> type of
>>>>>>> implementation in the u-boot.
>>>>>>> The hardware platform on which the driver will work is a ODROID-x2
>>>>>>> (exynos4412). I use the DWMMC contoller, but I'm not sure if this
>>>>>>> is the
>>>>>>> right controller to handle SD/MMC cards in Exynos4412 SoC. The SDHCI
>>>>>>> controller is most appropriate?
>>>>>
>>>>> If you're using exynos4412 board, you can choose sdhci or dwmmc
>>>>> controller for eMMC, not SD/SDIO.
>>>>> And in my experiment, dwmmc controller is more appropriate than
>>>>> sdhci.(ex, performance)
>>>>>
>>>>
>>>> It depends which mmc channel is used. In Exynos4412, there are 5
>>>> channels, but some channel configurations shares GPIO pins:
>>>> - MMC0 - sdhci
>>>> - MMC1 - sdhci, or MMC0 8-bit
>>>> - MMC2 - sdhci - Odroid SD card, 4-bit mode
>>>> - MMC3 - sdhci - or MMC2 8-bit
>>>> - MMC4 - dwmmc, uses MMC0 pins for 4-bit, and MMC0-1 for 8-bit mode
>>>>
>>>> Odroid is using MMC2(sdhci) and MMC0/4(sdhci or dwmmc).
>>>>
>>>> So for eMMC cards you can use the dwmmc, and as Jaehoon wrote it is
>>>> recommended for the better performance, but for SD card you must use
>>>> sdhci controller.
>>> This information is valuable to me, but now I would help if you tell me
>>> where I can find the code of SDHCI controller for the SD card of
>>> Exynos4412 in U-boat 2015.04-rc2 for a implementationtation reference. I
>>> was reviewing the file exynos_dw_mmc.c as reference of DWMMC driver,
>>> but now I have no idea what the file where the SDHCI driver for the
>>> exynos4412 is implemented.
>>>
>>> Thank you very much for your collaboration.
>>>
>>>
>>>
>>
>> Please check those files:
>> - drivers/mmc/s5p_sdhci.c
>> - drivers/mmc/sdhci.c
>>
>> But, isn't the kernel a better reference for you?
> Thanks for your time to answer my questions. I have reviewed the
> implementation of SDHCI controller in the Linux kernel for Odroid
> (https://github.com/hardkernel/linux/blob/odroid-3.0.y/), but have not
> been able to identify the specific implementation that is used for
> handling of SD cards in exynos4412.
> You know in what file this controller is implemented? I think the file
> should be drivers/mmc/host/sdhci-s3c.c
> (https://github.com/hardkernel/linux/blob/odroid-3.0.y/drivers/mmc/host/sdhci-s3c.c)
> but I'm not sure.
> What do you think?
>
> Thanks again.
>
> Humberto
>

Yes, this is the right file. Also remember about the pinmux setting for
sd/mmc.
In U-Boot: arch/arm/mach-exynos/pinmux.c
In kernel: drivers/pinctrl/pinctrl-exynos.c

Best regards,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com