From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?SHVtYmVydG8gTMOzcGV6IExlw7Nu?= Date: Mon, 28 Sep 2015 09:27:15 -0400 Subject: [U-Boot] DWMMC crontroller in Exynos4412 In-Reply-To: <55DEB286.80200@samsung.com> References: <55DCBD93.5050404@uclv.cu> <55DD5B63.4040108@samsung.com> <55DD6282.5090607@samsung.com> <55DDC1B6.2030603@uclv.cu> <55DDC94A.2090302@samsung.com> <55DDF64A.5020804@uclv.cu> <55DEB286.80200@samsung.com> Message-ID: <56094033.40006@uclv.cu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Przemyslaw, With the information you gave me I managed to implement an important part of SDHCI controller. Currently the driver detects the SD card correctly but I have a problem with writing operations. With the help of linux command dd I found that the driver reads correctly but fails when trying to write. I studied implementations of SDHCI controller in the Linux kernel and the U-boot, but there are things I do not understand. You have a document that explains how works the SDHCI controller ? I've also been working on the implementation of DWMMC controller to manage the eMMC in ODROID-X2 (Exynos4412). Currently this driver detects the eMMC card but fails to calculate the capacity of the card. The read and write operations are not yet implemented. You have a document that explains how works the DWMMC controller? Thank you for your help!! Humberto On 08/27/2015 02:47 AM, Przemyslaw Marczak wrote: > 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 >>>>>>> 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,