From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Marczak Date: Thu, 01 Oct 2015 13:24:03 +0200 Subject: [U-Boot] DWMMC crontroller in Exynos4412 In-Reply-To: <56094033.40006@uclv.cu> 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> Message-ID: <560D17D3.60001@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com