public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [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