Skip to contentSkip to conversation

mx6qsabresd: Fix mmc boot by making USDHC3 be 'dev 0'

PATCH New Fabio Estevam 3 participants 3 messages Jan 10, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mx6qsabresd: Fix mmc boot by making USDHC3 be 'dev 0'

By default, we boot from USDHC3 on mx6qsabresd, so let it be mmc dev 0.

Without this fix kernel cannot be retrieved from mmc with the default environment.

---
 board/freescale/mx6qsabresd/mx6qsabresd.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
board/freescale/mx6qsabresd/mx6qsabresd.c +3 -3
index 65c4a1a..fbcb6cd 100644
@@ -134,8 +134,8 @@ static void setup_iomux_uart(void)
 
 #ifdef CONFIG_FSL_ESDHC
 struct fsl_esdhc_cfg usdhc_cfg[3] = {
-	{USDHC2_BASE_ADDR},
 	{USDHC3_BASE_ADDR},
+	{USDHC2_BASE_ADDR},
 	{USDHC4_BASE_ADDR},
 };
 
@@ -162,13 +162,13 @@ int board_mmc_init(bd_t *bis)
 
 	for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
 		switch (i) {
-		case 0:
+		case 1:
 			imx_iomux_v3_setup_multiple_pads(
 				usdhc2_pads, ARRAY_SIZE(usdhc2_pads));
 			gpio_direction_input(USDHC2_CD_GPIO);
 			usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
 			break;
-		case 1:
+		case 0:
 			imx_iomux_v3_setup_multiple_pads(
 				usdhc3_pads, ARRAY_SIZE(usdhc3_pads));
 			gpio_direction_input(USDHC3_CD_GPIO);
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 mx6qsabresd: Fix mmc boot by making USDHC3 be 'dev 0'

Hi Fabio,

Quoted 27 lines · Fabio Estevam

By default, we boot from USDHC3 on mx6qsabresd, so let it be mmc dev 0.

Without this fix kernel cannot be retrieved from mmc with the default environment.

---
 board/freescale/mx6qsabresd/mx6qsabresd.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
board/freescale/mx6qsabresd/mx6qsabresd.c +1 -1
index 65c4a1a..fbcb6cd 100644
@@ -134,8 +134,8 @@ static void setup_iomux_uart(void)
 
 #ifdef CONFIG_FSL_ESDHC
 struct fsl_esdhc_cfg usdhc_cfg[3] = {
-	{USDHC2_BASE_ADDR},
 	{USDHC3_BASE_ADDR},
+	{USDHC2_BASE_ADDR},
 	{USDHC4_BASE_ADDR},
 };
 

board/freescale/mx6qsabresd/mx6qsabresd.c int board_mmc_init(bd_t *bis) · line 169

Quoted 9 lines
board/freescale/mx6qsabresd/mx6qsabresd.c +1 -1
@@ -162,13 +162,13 @@ int board_mmc_init(bd_t *bis)
 
 	for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
 		switch (i) {
-		case 0:
+		case 1:
 			imx_iomux_v3_setup_multiple_pads(
 				usdhc2_pads, ARRAY_SIZE(usdhc2_pads));
 			gpio_direction_input(USDHC2_CD_GPIO);
 			usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);

^ should be changed to 1 or i

board/freescale/mx6qsabresd/mx6qsabresd.c int board_mmc_init(bd_t *bis) · line 174

Quoted 6 lines
board/freescale/mx6qsabresd/mx6qsabresd.c +1 -1
 			break;
-		case 1:
+		case 0:
 			imx_iomux_v3_setup_multiple_pads(
 				usdhc3_pads, ARRAY_SIZE(usdhc3_pads));
 			gpio_direction_input(USDHC3_CD_GPIO);

Ditto (with 0 or i) for the following hidden lines.

Best regards,
Beno?t

#2 lore raw

PATCH 1/1 mx6qsabresd: Fix mmc boot by making USDHC3 be 'dev 0'

Hi Beno?t,

Quoted 8 lines · Beno?t Th?baudeau

board/freescale/mx6qsabresd/mx6qsabresd.c int board_mmc_init(bd_t *bis) · line 169

Quoted 7 lines
              switch (i) {
board/freescale/mx6qsabresd/mx6qsabresd.c +1 -1
-             case 0:
+             case 1:
                      imx_iomux_v3_setup_multiple_pads(
                              usdhc2_pads, ARRAY_SIZE(usdhc2_pads));
                      gpio_direction_input(USDHC2_CD_GPIO);
                      usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);

^ should be changed to 1 or i

Good catch, thanks.

I just found out a proper fix for this and will submit shortly.

Regards,

Fabio Estevam