* [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset.
@ 2013-08-20 10:53 Przemyslaw Marczak
2013-08-20 10:53 ` [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization Przemyslaw Marczak
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-20 10:53 UTC (permalink / raw)
To: u-boot
On s5pc1xx mmc devices offset is multiply of 0x100000,
wrong value was 0x10000. Register offset always points
to mmc 0 before this change.
Add macro definition of mmc dev register offset to s5pc1xx and
exynos mmc.
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
---
arch/arm/include/asm/arch-exynos/mmc.h | 6 +++++-
arch/arm/include/asm/arch-s5pc1xx/mmc.h | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/arch-exynos/mmc.h b/arch/arm/include/asm/arch-exynos/mmc.h
index 96610b8..98312d1 100644
--- a/arch/arm/include/asm/arch-exynos/mmc.h
+++ b/arch/arm/include/asm/arch-exynos/mmc.h
@@ -8,6 +8,8 @@
#ifndef __ASM_ARCH_MMC_H_
#define __ASM_ARCH_MMC_H_
+#define S5P_MMC_DEV_OFFSET 0x10000
+
#define SDHCI_CONTROL2 0x80
#define SDHCI_CONTROL3 0x84
#define SDHCI_CONTROL4 0x8C
@@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
static inline unsigned int s5p_mmc_init(int index, int bus_width)
{
- unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
+ unsigned int base = samsung_get_base_mmc() +
+ (S5P_MMC_DEV_OFFSET * index);
+
return s5p_sdhci_init(base, index, bus_width);
}
#endif
diff --git a/arch/arm/include/asm/arch-s5pc1xx/mmc.h b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
index 96610b8..55ff10b 100644
--- a/arch/arm/include/asm/arch-s5pc1xx/mmc.h
+++ b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
@@ -8,6 +8,8 @@
#ifndef __ASM_ARCH_MMC_H_
#define __ASM_ARCH_MMC_H_
+#define S5P_MMC_DEV_OFFSET 0x100000
+
#define SDHCI_CONTROL2 0x80
#define SDHCI_CONTROL3 0x84
#define SDHCI_CONTROL4 0x8C
@@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
static inline unsigned int s5p_mmc_init(int index, int bus_width)
{
- unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
+ unsigned int base = samsung_get_base_mmc() +
+ (S5P_MMC_DEV_OFFSET * index);
+
return s5p_sdhci_init(base, index, bus_width);
}
#endif
--
1.7.9.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization.
2013-08-20 10:53 [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak
@ 2013-08-20 10:53 ` Przemyslaw Marczak
2013-08-28 7:39 ` Przemyslaw Marczak
2013-08-20 10:53 ` [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices Przemyslaw Marczak
2013-08-28 7:11 ` [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak
2 siblings, 1 reply; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-20 10:53 UTC (permalink / raw)
To: u-boot
This change allow to use sd card on Goni the same like mmc 0.
SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2".
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
---
board/samsung/goni/goni.c | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index c05801d..3b236b4 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -69,6 +69,7 @@ int checkboard(void)
int board_mmc_init(bd_t *bis)
{
int i;
+ int ret;
/* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */
s5p_gpio_direction_output(&s5pc110_gpio->j2, 7, 1);
@@ -91,7 +92,36 @@ int board_mmc_init(bd_t *bis)
s5p_gpio_set_drv(&s5pc110_gpio->g0, i, GPIO_DRV_4X);
}
- return s5p_mmc_init(0, 4);
+ ret = s5p_mmc_init(0, 4);
+ if (ret) {
+ puts("MMC: Failed to init MMC:0.\n");
+ return ret;
+ }
+
+ /*
+ * SD card (T_FLASH) detect and init
+ * T_FLASH_DETECT: EINT28: GPH3[4] input mode
+ */
+ s5p_gpio_cfg_pin(&s5pc110_gpio->h3, 4, GPIO_INPUT);
+ s5p_gpio_set_pull(&s5pc110_gpio->h3, 4, GPIO_PULL_UP);
+
+ if (!s5p_gpio_get_value(&s5pc110_gpio->h3, 4)) {
+ for (i = 0; i < 7; i++) {
+ if (i == 2)
+ continue;
+ /* GPG2[0:6] special function 2 */
+ s5p_gpio_cfg_pin(&s5pc110_gpio->g2, i, 0x2);
+ /* GPG2[0:6] pull disable */
+ s5p_gpio_set_pull(&s5pc110_gpio->g2, i, GPIO_PULL_NONE);
+ /* GPG2[0:6] drv 4x */
+ s5p_gpio_set_drv(&s5pc110_gpio->g2, i, GPIO_DRV_4X);
+ }
+ if (s5p_mmc_init(2, 4))
+ puts("MMC: Failed to init SD card (MMC:2).\n");
+ }
+
+ /* SD card init is optional so print information when it fails only */
+ return ret;
}
#endif
--
1.7.9.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices.
2013-08-20 10:53 [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak
2013-08-20 10:53 ` [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization Przemyslaw Marczak
@ 2013-08-20 10:53 ` Przemyslaw Marczak
2013-08-28 7:40 ` Przemyslaw Marczak
2013-08-28 8:44 ` Marek Vasut
2013-08-28 7:11 ` [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak
2 siblings, 2 replies; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-20 10:53 UTC (permalink / raw)
To: u-boot
This change allows using every mmc device instance with ums,
like eMMC or SD cards.
Example: ums <device_number> for mmc devices.
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Marek Vasut <marek.vasut@gmail.com>
---
common/cmd_usb_mass_storage.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/common/cmd_usb_mass_storage.c b/common/cmd_usb_mass_storage.c
index 33a4715..4181d3a 100644
--- a/common/cmd_usb_mass_storage.c
+++ b/common/cmd_usb_mass_storage.c
@@ -14,6 +14,7 @@
int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
int argc, char * const argv[])
{
+ struct mmc *mmc = NULL;
char *ep;
unsigned int dev_num = 0, offset = 0, part_size = 0;
int rc;
@@ -28,8 +29,10 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
dev_num = (int)simple_strtoul(argv[1], &ep, 16);
- if (dev_num) {
- puts("\nSet eMMC device to 0! - e.g. ums 0\n");
+ mmc = find_mmc_device(dev_num);
+
+ if (!mmc) {
+ printf("\neMMC device: %d not found! Try ums 0.\n", dev_num);
goto fail;
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset.
2013-08-20 10:53 [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak
2013-08-20 10:53 ` [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization Przemyslaw Marczak
2013-08-20 10:53 ` [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices Przemyslaw Marczak
@ 2013-08-28 7:11 ` Przemyslaw Marczak
2013-08-28 8:45 ` Jaehoon Chung
2 siblings, 1 reply; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-28 7:11 UTC (permalink / raw)
To: u-boot
Hi Minkyu,
> On s5pc1xx mmc devices offset is multiply of 0x100000,
> wrong value was 0x10000. Register offset always points
> to mmc 0 before this change.
>
> Add macro definition of mmc dev register offset to s5pc1xx and
> exynos mmc.
Could you review this patch, please?
>
> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> CC: Minkyu Kang <mk7.kang@samsung.com>
> ---
> arch/arm/include/asm/arch-exynos/mmc.h | 6 +++++-
> arch/arm/include/asm/arch-s5pc1xx/mmc.h | 6 +++++-
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/include/asm/arch-exynos/mmc.h b/arch/arm/include/asm/arch-exynos/mmc.h
> index 96610b8..98312d1 100644
> --- a/arch/arm/include/asm/arch-exynos/mmc.h
> +++ b/arch/arm/include/asm/arch-exynos/mmc.h
> @@ -8,6 +8,8 @@
> #ifndef __ASM_ARCH_MMC_H_
> #define __ASM_ARCH_MMC_H_
>
> +#define S5P_MMC_DEV_OFFSET 0x10000
> +
> #define SDHCI_CONTROL2 0x80
> #define SDHCI_CONTROL3 0x84
> #define SDHCI_CONTROL4 0x8C
> @@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
>
> static inline unsigned int s5p_mmc_init(int index, int bus_width)
> {
> - unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
> + unsigned int base = samsung_get_base_mmc() +
> + (S5P_MMC_DEV_OFFSET * index);
> +
> return s5p_sdhci_init(base, index, bus_width);
> }
> #endif
> diff --git a/arch/arm/include/asm/arch-s5pc1xx/mmc.h b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
> index 96610b8..55ff10b 100644
> --- a/arch/arm/include/asm/arch-s5pc1xx/mmc.h
> +++ b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
> @@ -8,6 +8,8 @@
> #ifndef __ASM_ARCH_MMC_H_
> #define __ASM_ARCH_MMC_H_
>
> +#define S5P_MMC_DEV_OFFSET 0x100000
> +
> #define SDHCI_CONTROL2 0x80
> #define SDHCI_CONTROL3 0x84
> #define SDHCI_CONTROL4 0x8C
> @@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
>
> static inline unsigned int s5p_mmc_init(int index, int bus_width)
> {
> - unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
> + unsigned int base = samsung_get_base_mmc() +
> + (S5P_MMC_DEV_OFFSET * index);
> +
> return s5p_sdhci_init(base, index, bus_width);
> }
> #endif
>
--
Best Regards
Przemyslaw Marczak
SRPOL | Linux Platform Group
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization.
2013-08-20 10:53 ` [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization Przemyslaw Marczak
@ 2013-08-28 7:39 ` Przemyslaw Marczak
2013-08-28 8:41 ` Jaehoon Chung
2013-08-28 14:36 ` [U-Boot] [PATCH v2] " Przemyslaw Marczak
0 siblings, 2 replies; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-28 7:39 UTC (permalink / raw)
To: u-boot
Hello Minkyu,
> This change allow to use sd card on Goni the same like mmc 0.
> SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2".
Could you review this patch, please?
>
> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> CC: Minkyu Kang <mk7.kang@samsung.com>
> ---
> board/samsung/goni/goni.c | 32 +++++++++++++++++++++++++++++++-
> 1 file changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index c05801d..3b236b4 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -69,6 +69,7 @@ int checkboard(void)
> int board_mmc_init(bd_t *bis)
> {
> int i;
> + int ret;
>
> /* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */
> s5p_gpio_direction_output(&s5pc110_gpio->j2, 7, 1);
> @@ -91,7 +92,36 @@ int board_mmc_init(bd_t *bis)
> s5p_gpio_set_drv(&s5pc110_gpio->g0, i, GPIO_DRV_4X);
> }
>
> - return s5p_mmc_init(0, 4);
> + ret = s5p_mmc_init(0, 4);
> + if (ret) {
> + puts("MMC: Failed to init MMC:0.\n");
> + return ret;
> + }
> +
> + /*
> + * SD card (T_FLASH) detect and init
> + * T_FLASH_DETECT: EINT28: GPH3[4] input mode
> + */
> + s5p_gpio_cfg_pin(&s5pc110_gpio->h3, 4, GPIO_INPUT);
> + s5p_gpio_set_pull(&s5pc110_gpio->h3, 4, GPIO_PULL_UP);
> +
> + if (!s5p_gpio_get_value(&s5pc110_gpio->h3, 4)) {
> + for (i = 0; i < 7; i++) {
> + if (i == 2)
> + continue;
> + /* GPG2[0:6] special function 2 */
> + s5p_gpio_cfg_pin(&s5pc110_gpio->g2, i, 0x2);
> + /* GPG2[0:6] pull disable */
> + s5p_gpio_set_pull(&s5pc110_gpio->g2, i, GPIO_PULL_NONE);
> + /* GPG2[0:6] drv 4x */
> + s5p_gpio_set_drv(&s5pc110_gpio->g2, i, GPIO_DRV_4X);
> + }
> + if (s5p_mmc_init(2, 4))
> + puts("MMC: Failed to init SD card (MMC:2).\n");
> + }
> +
> + /* SD card init is optional so print information when it fails only */
> + return ret;
> }
> #endif
>
>
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices.
2013-08-20 10:53 ` [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices Przemyslaw Marczak
@ 2013-08-28 7:40 ` Przemyslaw Marczak
2013-08-28 8:44 ` Marek Vasut
1 sibling, 0 replies; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-28 7:40 UTC (permalink / raw)
To: u-boot
Hello Marek,
> This change allows using every mmc device instance with ums,
> like eMMC or SD cards.
>
> Example: ums <device_number> for mmc devices.
Could you review this patch, please?
>
> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> CC: Marek Vasut <marek.vasut@gmail.com>
> ---
> common/cmd_usb_mass_storage.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/common/cmd_usb_mass_storage.c b/common/cmd_usb_mass_storage.c
> index 33a4715..4181d3a 100644
> --- a/common/cmd_usb_mass_storage.c
> +++ b/common/cmd_usb_mass_storage.c
> @@ -14,6 +14,7 @@
> int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
> int argc, char * const argv[])
> {
> + struct mmc *mmc = NULL;
> char *ep;
> unsigned int dev_num = 0, offset = 0, part_size = 0;
> int rc;
> @@ -28,8 +29,10 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
>
> dev_num = (int)simple_strtoul(argv[1], &ep, 16);
>
> - if (dev_num) {
> - puts("\nSet eMMC device to 0! - e.g. ums 0\n");
> + mmc = find_mmc_device(dev_num);
> +
> + if (!mmc) {
> + printf("\neMMC device: %d not found! Try ums 0.\n", dev_num);
> goto fail;
> }
>
>
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization.
2013-08-28 7:39 ` Przemyslaw Marczak
@ 2013-08-28 8:41 ` Jaehoon Chung
2013-08-28 10:11 ` Przemyslaw Marczak
2013-08-28 14:36 ` [U-Boot] [PATCH v2] " Przemyslaw Marczak
1 sibling, 1 reply; 18+ messages in thread
From: Jaehoon Chung @ 2013-08-28 8:41 UTC (permalink / raw)
To: u-boot
On 08/28/2013 04:39 PM, Przemyslaw Marczak wrote:
> Hello Minkyu,
>
>> This change allow to use sd card on Goni the same like mmc 0.
>> SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2".
>
> Could you review this patch, please?
>
>>
>> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> CC: Minkyu Kang <mk7.kang@samsung.com>
>> ---
>> board/samsung/goni/goni.c | 32 +++++++++++++++++++++++++++++++-
>> 1 file changed, 31 insertions(+), 1 deletion(-)
>>
>> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
>> index c05801d..3b236b4 100644
>> --- a/board/samsung/goni/goni.c
>> +++ b/board/samsung/goni/goni.c
>> @@ -69,6 +69,7 @@ int checkboard(void)
>> int board_mmc_init(bd_t *bis)
>> {
>> int i;
>> + int ret;
>>
>> /* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */
>> s5p_gpio_direction_output(&s5pc110_gpio->j2, 7, 1);
>> @@ -91,7 +92,36 @@ int board_mmc_init(bd_t *bis)
>> s5p_gpio_set_drv(&s5pc110_gpio->g0, i, GPIO_DRV_4X);
>> }
>>
>> - return s5p_mmc_init(0, 4);
>> + ret = s5p_mmc_init(0, 4);
>> + if (ret) {
>> + puts("MMC: Failed to init MMC:0.\n");
>> + return ret;
>> + }
When eMMC init is failed, immediately return?
I think that even if eMMC init is failed, there is worth that try to init SD-card.
Best Regards,
Jaehoon Chung
>> +
>> + /*
>> + * SD card (T_FLASH) detect and init
>> + * T_FLASH_DETECT: EINT28: GPH3[4] input mode
>> + */
>> + s5p_gpio_cfg_pin(&s5pc110_gpio->h3, 4, GPIO_INPUT);
>> + s5p_gpio_set_pull(&s5pc110_gpio->h3, 4, GPIO_PULL_UP);
>> +
>> + if (!s5p_gpio_get_value(&s5pc110_gpio->h3, 4)) {
>> + for (i = 0; i < 7; i++) {
>> + if (i == 2)
>> + continue;
>> + /* GPG2[0:6] special function 2 */
>> + s5p_gpio_cfg_pin(&s5pc110_gpio->g2, i, 0x2);
>> + /* GPG2[0:6] pull disable */
>> + s5p_gpio_set_pull(&s5pc110_gpio->g2, i, GPIO_PULL_NONE);
>> + /* GPG2[0:6] drv 4x */
>> + s5p_gpio_set_drv(&s5pc110_gpio->g2, i, GPIO_DRV_4X);
>> + }
>> + if (s5p_mmc_init(2, 4))
>> + puts("MMC: Failed to init SD card (MMC:2).\n");
>> + }
>> +
>> + /* SD card init is optional so print information when it fails only */
>> + return ret;
>> }
>> #endif
>>
>>
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices.
2013-08-20 10:53 ` [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices Przemyslaw Marczak
2013-08-28 7:40 ` Przemyslaw Marczak
@ 2013-08-28 8:44 ` Marek Vasut
2013-08-28 10:59 ` Przemyslaw Marczak
1 sibling, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2013-08-28 8:44 UTC (permalink / raw)
To: u-boot
Dear Przemyslaw Marczak,
> This change allows using every mmc device instance with ums,
> like eMMC or SD cards.
>
> Example: ums <device_number> for mmc devices.
>
> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> CC: Marek Vasut <marek.vasut@gmail.com>
> ---
> common/cmd_usb_mass_storage.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/common/cmd_usb_mass_storage.c b/common/cmd_usb_mass_storage.c
> index 33a4715..4181d3a 100644
> --- a/common/cmd_usb_mass_storage.c
> +++ b/common/cmd_usb_mass_storage.c
> @@ -14,6 +14,7 @@
> int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
> int argc, char * const argv[])
> {
> + struct mmc *mmc = NULL;
> char *ep;
> unsigned int dev_num = 0, offset = 0, part_size = 0;
> int rc;
> @@ -28,8 +29,10 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
>
> dev_num = (int)simple_strtoul(argv[1], &ep, 16);
>
> - if (dev_num) {
> - puts("\nSet eMMC device to 0! - e.g. ums 0\n");
> + mmc = find_mmc_device(dev_num);
> +
> + if (!mmc) {
> + printf("\neMMC device: %d not found! Try ums 0.\n", dev_num);
> goto fail;
> }
You still use dev_num further in the code, why not convert the whole thing to
use *mmc ?
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset.
2013-08-28 7:11 ` [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak
@ 2013-08-28 8:45 ` Jaehoon Chung
0 siblings, 0 replies; 18+ messages in thread
From: Jaehoon Chung @ 2013-08-28 8:45 UTC (permalink / raw)
To: u-boot
Looks good to me.
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
On 08/28/2013 04:11 PM, Przemyslaw Marczak wrote:
> Hi Minkyu,
>
>> On s5pc1xx mmc devices offset is multiply of 0x100000,
>> wrong value was 0x10000. Register offset always points
>> to mmc 0 before this change.
>>
>> Add macro definition of mmc dev register offset to s5pc1xx and
>> exynos mmc.
>
> Could you review this patch, please?
>
>>
>> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> CC: Minkyu Kang <mk7.kang@samsung.com>
>> ---
>> arch/arm/include/asm/arch-exynos/mmc.h | 6 +++++-
>> arch/arm/include/asm/arch-s5pc1xx/mmc.h | 6 +++++-
>> 2 files changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/include/asm/arch-exynos/mmc.h b/arch/arm/include/asm/arch-exynos/mmc.h
>> index 96610b8..98312d1 100644
>> --- a/arch/arm/include/asm/arch-exynos/mmc.h
>> +++ b/arch/arm/include/asm/arch-exynos/mmc.h
>> @@ -8,6 +8,8 @@
>> #ifndef __ASM_ARCH_MMC_H_
>> #define __ASM_ARCH_MMC_H_
>>
>> +#define S5P_MMC_DEV_OFFSET 0x10000
>> +
>> #define SDHCI_CONTROL2 0x80
>> #define SDHCI_CONTROL3 0x84
>> #define SDHCI_CONTROL4 0x8C
>> @@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
>>
>> static inline unsigned int s5p_mmc_init(int index, int bus_width)
>> {
>> - unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
>> + unsigned int base = samsung_get_base_mmc() +
>> + (S5P_MMC_DEV_OFFSET * index);
>> +
>> return s5p_sdhci_init(base, index, bus_width);
>> }
>> #endif
>> diff --git a/arch/arm/include/asm/arch-s5pc1xx/mmc.h b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
>> index 96610b8..55ff10b 100644
>> --- a/arch/arm/include/asm/arch-s5pc1xx/mmc.h
>> +++ b/arch/arm/include/asm/arch-s5pc1xx/mmc.h
>> @@ -8,6 +8,8 @@
>> #ifndef __ASM_ARCH_MMC_H_
>> #define __ASM_ARCH_MMC_H_
>>
>> +#define S5P_MMC_DEV_OFFSET 0x100000
>> +
>> #define SDHCI_CONTROL2 0x80
>> #define SDHCI_CONTROL3 0x84
>> #define SDHCI_CONTROL4 0x8C
>> @@ -55,7 +57,9 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width);
>>
>> static inline unsigned int s5p_mmc_init(int index, int bus_width)
>> {
>> - unsigned int base = samsung_get_base_mmc() + (0x10000 * index);
>> + unsigned int base = samsung_get_base_mmc() +
>> + (S5P_MMC_DEV_OFFSET * index);
>> +
>> return s5p_sdhci_init(base, index, bus_width);
>> }
>> #endif
>>
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization.
2013-08-28 8:41 ` Jaehoon Chung
@ 2013-08-28 10:11 ` Przemyslaw Marczak
0 siblings, 0 replies; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-28 10:11 UTC (permalink / raw)
To: u-boot
On 08/28/2013 10:41 AM, Jaehoon Chung wrote:
> When eMMC init is failed, immediately return?
> I think that even if eMMC init is failed, there is worth that try to init SD-card.
>
> Best Regards,
> Jaehoon Chung
Hi Jaehoon,
You're right, I will change this.
Regards
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices.
2013-08-28 8:44 ` Marek Vasut
@ 2013-08-28 10:59 ` Przemyslaw Marczak
2013-08-28 11:03 ` Marek Vasut
0 siblings, 1 reply; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-28 10:59 UTC (permalink / raw)
To: u-boot
On 08/28/2013 10:44 AM, Marek Vasut wrote:
> You still use dev_num further in the code, why not convert the whole thing to
> use *mmc ?
>
> Best regards,
> Marek Vasut.
>
Hello,
I don't know exactly what do you mean.
I suppose that putting "mmc device number" as a parameter is easy to
maintain at command code and also intuitive to use at prompt.
Do you prefer set mmc dev number by command "mmc dev <num>" ?
Should we depends one command on another? If yes, then what about e.g.
fat or ext command set?
Thank you.
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices.
2013-08-28 10:59 ` Przemyslaw Marczak
@ 2013-08-28 11:03 ` Marek Vasut
2013-08-28 11:21 ` Przemyslaw Marczak
0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2013-08-28 11:03 UTC (permalink / raw)
To: u-boot
Dear Przemyslaw Marczak,
> On 08/28/2013 10:44 AM, Marek Vasut wrote:
> > You still use dev_num further in the code, why not convert the whole
> > thing to use *mmc ?
> >
> > Best regards,
> > Marek Vasut.
>
> Hello,
> I don't know exactly what do you mean.
> I suppose that putting "mmc device number" as a parameter is easy to
> maintain at command code and also intuitive to use at prompt.
> Do you prefer set mmc dev number by command "mmc dev <num>" ?
> Should we depends one command on another? If yes, then what about e.g.
> fat or ext command set?
What I mean is ... for example, you pass dev_num to board_ums_init() . See the
trats board, find_mmc_device() is called again in there. Why not just pass the
*mmc directly?
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices.
2013-08-28 11:03 ` Marek Vasut
@ 2013-08-28 11:21 ` Przemyslaw Marczak
2013-08-28 11:25 ` Marek Vasut
0 siblings, 1 reply; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-28 11:21 UTC (permalink / raw)
To: u-boot
On 08/28/2013 01:03 PM, Marek Vasut wrote:
> Dear Przemyslaw Marczak,
>
>> On 08/28/2013 10:44 AM, Marek Vasut wrote:
>>> You still use dev_num further in the code, why not convert the whole
>>> thing to use *mmc ?
>>>
>>> Best regards,
>>> Marek Vasut.
>> Hello,
>> I don't know exactly what do you mean.
>> I suppose that putting "mmc device number" as a parameter is easy to
>> maintain at command code and also intuitive to use at prompt.
>> Do you prefer set mmc dev number by command "mmc dev <num>" ?
>> Should we depends one command on another? If yes, then what about e.g.
>> fat or ext command set?
> What I mean is ... for example, you pass dev_num to board_ums_init() . See the
> trats board, find_mmc_device() is called again in there. Why not just pass the
> *mmc directly?
>
> Best regards,
> Marek Vasut.
>
Oh, now I see. You are absolutely right, it was just code duplication.
I will change it and resend patch.
Thank you,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices.
2013-08-28 11:21 ` Przemyslaw Marczak
@ 2013-08-28 11:25 ` Marek Vasut
0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2013-08-28 11:25 UTC (permalink / raw)
To: u-boot
Dear Przemyslaw Marczak,
> On 08/28/2013 01:03 PM, Marek Vasut wrote:
> > Dear Przemyslaw Marczak,
> >
> >> On 08/28/2013 10:44 AM, Marek Vasut wrote:
> >>> You still use dev_num further in the code, why not convert the whole
> >>> thing to use *mmc ?
> >>>
> >>> Best regards,
> >>> Marek Vasut.
> >>
> >> Hello,
> >> I don't know exactly what do you mean.
> >> I suppose that putting "mmc device number" as a parameter is easy to
> >> maintain at command code and also intuitive to use at prompt.
> >> Do you prefer set mmc dev number by command "mmc dev <num>" ?
> >> Should we depends one command on another? If yes, then what about e.g.
> >> fat or ext command set?
> >
> > What I mean is ... for example, you pass dev_num to board_ums_init() .
> > See the trats board, find_mmc_device() is called again in there. Why not
> > just pass the *mmc directly?
> >
> > Best regards,
> > Marek Vasut.
>
> Oh, now I see. You are absolutely right, it was just code duplication.
> I will change it and resend patch.
Try and see if *mmc can not be passed all around instead of the dev_num too.
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v2] arm:goni:mmc: Add sd card detection and initialization.
2013-08-28 7:39 ` Przemyslaw Marczak
2013-08-28 8:41 ` Jaehoon Chung
@ 2013-08-28 14:36 ` Przemyslaw Marczak
2013-08-29 3:11 ` Jaehoon Chung
2013-08-30 2:16 ` Minkyu Kang
1 sibling, 2 replies; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-08-28 14:36 UTC (permalink / raw)
To: u-boot
This change allow to use sd card on Goni the same like mmc 0.
SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2".
Changes in V2:
- Init SD card even if eMMC init fail.
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
---
board/samsung/goni/goni.c | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index c05801d..2bb2507 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -69,6 +69,7 @@ int checkboard(void)
int board_mmc_init(bd_t *bis)
{
int i;
+ int ret;
/* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */
s5p_gpio_direction_output(&s5pc110_gpio->j2, 7, 1);
@@ -91,7 +92,35 @@ int board_mmc_init(bd_t *bis)
s5p_gpio_set_drv(&s5pc110_gpio->g0, i, GPIO_DRV_4X);
}
- return s5p_mmc_init(0, 4);
+ ret = s5p_mmc_init(0, 4);
+ if (ret) {
+ puts("MMC: Failed to init MMC:0.\n");
+ }
+
+ /*
+ * SD card (T_FLASH) detect and init
+ * T_FLASH_DETECT: EINT28: GPH3[4] input mode
+ */
+ s5p_gpio_cfg_pin(&s5pc110_gpio->h3, 4, GPIO_INPUT);
+ s5p_gpio_set_pull(&s5pc110_gpio->h3, 4, GPIO_PULL_UP);
+
+ if (!s5p_gpio_get_value(&s5pc110_gpio->h3, 4)) {
+ for (i = 0; i < 7; i++) {
+ if (i == 2)
+ continue;
+ /* GPG2[0:6] special function 2 */
+ s5p_gpio_cfg_pin(&s5pc110_gpio->g2, i, 0x2);
+ /* GPG2[0:6] pull disable */
+ s5p_gpio_set_pull(&s5pc110_gpio->g2, i, GPIO_PULL_NONE);
+ /* GPG2[0:6] drv 4x */
+ s5p_gpio_set_drv(&s5pc110_gpio->g2, i, GPIO_DRV_4X);
+ }
+ if (s5p_mmc_init(2, 4))
+ puts("MMC: Failed to init SD card (MMC:2).\n");
+ }
+
+ /* SD card init is optional so print information when it fails only */
+ return ret;
}
#endif
--
1.7.9.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v2] arm:goni:mmc: Add sd card detection and initialization.
2013-08-28 14:36 ` [U-Boot] [PATCH v2] " Przemyslaw Marczak
@ 2013-08-29 3:11 ` Jaehoon Chung
2013-08-30 2:16 ` Minkyu Kang
1 sibling, 0 replies; 18+ messages in thread
From: Jaehoon Chung @ 2013-08-29 3:11 UTC (permalink / raw)
To: u-boot
Hi Przemyslaw,
On 08/28/2013 11:36 PM, Przemyslaw Marczak wrote:
> This change allow to use sd card on Goni the same like mmc 0.
> SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2".
>
> Changes in V2:
> - Init SD card even if eMMC init fail.
>
> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> CC: Minkyu Kang <mk7.kang@samsung.com>
> ---
> board/samsung/goni/goni.c | 31 ++++++++++++++++++++++++++++++-
> 1 file changed, 30 insertions(+), 1 deletion(-)
>
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index c05801d..2bb2507 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -69,6 +69,7 @@ int checkboard(void)
> int board_mmc_init(bd_t *bis)
> {
> int i;
> + int ret;
>
> /* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */
> s5p_gpio_direction_output(&s5pc110_gpio->j2, 7, 1);
> @@ -91,7 +92,35 @@ int board_mmc_init(bd_t *bis)
> s5p_gpio_set_drv(&s5pc110_gpio->g0, i, GPIO_DRV_4X);
> }
>
> - return s5p_mmc_init(0, 4);
> + ret = s5p_mmc_init(0, 4);
> + if (ret) {
> + puts("MMC: Failed to init MMC:0.\n");
> + }
Can remove the bracket.
Then looks good to me.
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Best Regards,
Jaehoon Chung
> +
> + /*
> + * SD card (T_FLASH) detect and init
> + * T_FLASH_DETECT: EINT28: GPH3[4] input mode
> + */
> + s5p_gpio_cfg_pin(&s5pc110_gpio->h3, 4, GPIO_INPUT);
> + s5p_gpio_set_pull(&s5pc110_gpio->h3, 4, GPIO_PULL_UP);
> +
> + if (!s5p_gpio_get_value(&s5pc110_gpio->h3, 4)) {
> + for (i = 0; i < 7; i++) {
> + if (i == 2)
> + continue;
> + /* GPG2[0:6] special function 2 */
> + s5p_gpio_cfg_pin(&s5pc110_gpio->g2, i, 0x2);
> + /* GPG2[0:6] pull disable */
> + s5p_gpio_set_pull(&s5pc110_gpio->g2, i, GPIO_PULL_NONE);
> + /* GPG2[0:6] drv 4x */
> + s5p_gpio_set_drv(&s5pc110_gpio->g2, i, GPIO_DRV_4X);
> + }
> + if (s5p_mmc_init(2, 4))
> + puts("MMC: Failed to init SD card (MMC:2).\n");
> + }
> +
> + /* SD card init is optional so print information when it fails only */
> + return ret;
> }
> #endif
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v2] arm:goni:mmc: Add sd card detection and initialization.
2013-08-28 14:36 ` [U-Boot] [PATCH v2] " Przemyslaw Marczak
2013-08-29 3:11 ` Jaehoon Chung
@ 2013-08-30 2:16 ` Minkyu Kang
2013-09-02 14:05 ` Przemyslaw Marczak
1 sibling, 1 reply; 18+ messages in thread
From: Minkyu Kang @ 2013-08-30 2:16 UTC (permalink / raw)
To: u-boot
Dear Przemyslaw Marczak,
On 28/08/13 23:36, Przemyslaw Marczak wrote:
> This change allow to use sd card on Goni the same like mmc 0.
> SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2".
>
> Changes in V2:
> - Init SD card even if eMMC init fail.
>
> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> CC: Minkyu Kang <mk7.kang@samsung.com>
> ---
> board/samsung/goni/goni.c | 31 ++++++++++++++++++++++++++++++-
> 1 file changed, 30 insertions(+), 1 deletion(-)
>
Your v1 patchset is made by 3 patches.
But this patch is only one patch.
Do you want to separate patchset?
Then please send each patches again.
or not, please send whole patchset.
Thanks,
Minkyu Kang.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v2] arm:goni:mmc: Add sd card detection and initialization.
2013-08-30 2:16 ` Minkyu Kang
@ 2013-09-02 14:05 ` Przemyslaw Marczak
0 siblings, 0 replies; 18+ messages in thread
From: Przemyslaw Marczak @ 2013-09-02 14:05 UTC (permalink / raw)
To: u-boot
On 08/30/2013 04:16 AM, Minkyu Kang wrote:
> Dear Przemyslaw Marczak,
> ...
> Your v1 patchset is made by 3 patches.
> But this patch is only one patch.
>
> Do you want to separate patchset?
> Then please send each patches again.
> or not, please send whole patchset.
>
> Thanks,
> Minkyu Kang.
>
>
Hello Minkyu Kang,
I send patchset by mistake and each patch will be send again soon.
Thank you
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2013-09-02 14:05 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-20 10:53 [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak
2013-08-20 10:53 ` [U-Boot] [PATCH 2/3] arm:goni:mmc: Add sd card detection and initialization Przemyslaw Marczak
2013-08-28 7:39 ` Przemyslaw Marczak
2013-08-28 8:41 ` Jaehoon Chung
2013-08-28 10:11 ` Przemyslaw Marczak
2013-08-28 14:36 ` [U-Boot] [PATCH v2] " Przemyslaw Marczak
2013-08-29 3:11 ` Jaehoon Chung
2013-08-30 2:16 ` Minkyu Kang
2013-09-02 14:05 ` Przemyslaw Marczak
2013-08-20 10:53 ` [U-Boot] [PATCH 3/3] ums: Extend ums to use all mmc devices Przemyslaw Marczak
2013-08-28 7:40 ` Przemyslaw Marczak
2013-08-28 8:44 ` Marek Vasut
2013-08-28 10:59 ` Przemyslaw Marczak
2013-08-28 11:03 ` Marek Vasut
2013-08-28 11:21 ` Przemyslaw Marczak
2013-08-28 11:25 ` Marek Vasut
2013-08-28 7:11 ` [U-Boot] [PATCH 1/3] arm:mmc:goni/exynos: Fix wrong mmc base register devices offset Przemyslaw Marczak
2013-08-28 8:45 ` Jaehoon Chung
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox