From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?SHVtYmVydG8gTMOzcGV6IExlw7Nu?= Date: Wed, 07 Oct 2015 16:50:27 -0400 Subject: [U-Boot] DWMMC crontroller in Exynos4412 In-Reply-To: <560D17D3.60001@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> <56094033.40006@uclv.cu> <560D17D3.60001@samsung.com> Message-ID: <56158593.6050506@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, the version of the U-boot on which you made the corrections in the SDHCI controller is at https://github.com/hardkernel/u-boot/commits/odroid-v2015.10? Regards, Humberto On 10/01/2015 07:24 AM, Przemyslaw Marczak wrote: > Hello Humberto, > > On 09/28/2015 03:27 PM, Humberto L?pez Le?n wrote: >> 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 ? > > Please register at Jedec.org, and get this: > > https://www.jedec.org/standards-documents/results/JESD84-B451 > > for eMMC 4.51, there are also older versions. > > For SD card: > > https://www.sdcard.org/downloads/pls/index.html > > Try to find: SDCardStandardv1.9.pdf on the internet :) >> >> 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 >> > > Which U-Boot version do you use? There was an issue in the mainline > with device-tree, which results in eMMC/SD card detection issue. > I think, that in few days my patches with fixes can be merged. > >> 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, >> >> > > Best regards,