Skip to content

samsung: Add mmc controller to use dw mmc

Lukasz Majewski u-boot 1 version New

Get series with b4
b4 am 20140306091747.2833af82@amdc2363

Versions newest first

  1. v1 Latest0 of 3 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 3 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [U-Boot] [PATCH 0/3] samsung: Add mmc controller to use dw mmc

Hi Jaehoon,

Quoted 20 lines · Lukasz Majewski
Quoted 19 lines

Hi Beomho,

Quoted 6 lines

This patch set for use dw mmc controller.
First, add dw mmc controller initialization.
And then, change exynos4 mmc gpio configuration. Additionally, I have removed exynos4x12_set_mmc_clk function. Because samsung_get_base_clock() (exynos4x12/ exynos4) return same value.

Thank you for supporting the DW_MMC on Trats2.

I've got following comments:

1. Piotr Wilczek (added to CC) is moving the Trats/Trats2 board to support configuration via device tree. From device tree it is easier to seamlessly enable support for DW_MMC (SDMMC4 controller)
- at least we would avoid adding new #ifdefs. The way to enable it is almost identical to Exynos5250 (board "snow").

Quoted 6 lines
Quoted 5 lines

Now the v4 has been sent, so please look (and probably rebase your work) on them:

"[PATCH V4 00/12] Exynos4: add support for device tree"
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/181576/match=exynos4+add+support+device+tree

Ok. It will be change to use the dt file.

That would be great. With DT support DW_MMC is even easier to enable.

Quoted 7 lines
Quoted 7 lines

2. We did some rough tests for the DW_MMC implementation on Trats2 (with clock phase settings similar to the one in the kernel) and it turned out that SDHCI is faster.

Quoted 6 lines
Quoted 4 lines

Two possible explanations:
- DDR is not supported by memory embedded on Trats2
- We did something wrong, so as a result the DDR mode for DW_MMC/eMMC memory was not working properly.

DDR mode didn't implement at u-boot. It need to update code for DDR mode.

Since SDHCI doesn't support DDR, with DW_MMC and DDR enabled, we shall (theoretically at least) observe substantial data transmission speed up.

Quoted 1 line

If you want to use DDR mode, then i will implement it.

That would be great :-).

Quoted 7 lines
Quoted 4 lines

However, I still believe, that DW_MMC with properly enabled DDR could outperform SDHCI.

Right, If DW-mmc is used with DDR mode, then it's more better than SDHCI.

I agree here.

Quoted 2 lines

there is no reason that we didn't use the dw-mmc controller at trats2 board.

If DW_MMC+DDR turns out to be faster than SDHCI, then we will use it.

Quoted 37 lines
Quoted 7 lines

Why this speedup is important?

We struggle to reduce time needed for flashing large images (like rootfs - e.g. 400 MiB in size).

Quoted 8 lines

Any help is more than welcome :-).

3. u-boot general advice:

When you alter things related to a particular board (like trats2 in this case) it is welcome to add the board's maintainer to CC. You can find them at boards.cfg.

Maybe, need to add Samsung-SoC maintainer, and base on SoC repository.

Best Regards,
Jaehoon Chung

Quoted 17 lines
Quoted 14 lines

This patch set is tested on Trats2 board.

Beomho Seo (3):
board: samsung: trats2: Add DW MMC controller initialization
arm: exynos: pinmux: Add sdmmc4 gpio confifuration
arm: exynos: clock: Remove exynos4x12_set_mmc_clk function

 arch/arm/cpu/armv7/exynos/clock.c  |   29
+---------------------------- arch/arm/cpu/armv7/exynos/pinmux.c |
20 +++++++++++++++----- board/samsung/trats2/trats2.c      |   31

+++++++++++++++++++++---------- 3 files changed, 37 insertions(+), 43 deletions(-)

Signature · 5 lines
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group