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

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.
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(-)

Hi Beomho,
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").
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...
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.
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.
However, I still believe, that DW_MMC with properly enabled DDR could outperform SDHCI.
Why this speedup is important?
We struggle to reduce time needed for flashing large images (like rootfs - e.g. 400 MiB in size).
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.
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(-)

On 03/05/2014 06:21 PM, Lukasz Majewski wrote:
Hi Beomho,
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:
- 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").
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...
Ok. It will be change to use the dt file.
- 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.
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. If you want to use DDR mode, then i will implement it.
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. there is no reason that we didn't use the dw-mmc controller at trats2 board.
Why this speedup is important?
We struggle to reduce time needed for flashing large images (like rootfs - e.g. 400 MiB in size).
Any help is more than welcome :-).
- 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
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(-)

Hi Jaehoon,
On 03/05/2014 06:21 PM, Lukasz Majewski wrote:
Hi Beomho,
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:
- 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").
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...
Ok. It will be change to use the dt file.
That would be great. With DT support DW_MMC is even easier to enable.
- 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.
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.
If you want to use DDR mode, then i will implement it.
That would be great :-).
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.
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.
Why this speedup is important?
We struggle to reduce time needed for flashing large images (like rootfs - e.g. 400 MiB in size).
Any help is more than welcome :-).
- 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
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(-)
participants (3)
-
Beomho Seo
-
Jaehoon Chung
-
Lukasz Majewski