* [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support
@ 2013-04-19 13:41 Otavio Salvador
2013-04-19 13:41 ` [U-Boot] [PATCH v3 2/7] mx6qsabresd: Return status when initializing MMC Otavio Salvador
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Otavio Salvador @ 2013-04-19 13:41 UTC (permalink / raw)
To: u-boot
This allow for easy update of firmware in the SD card from a running
U-Boot.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
Changes in v3:
- New patch
Changes in v2: None
include/configs/mx6qsabre_common.h | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/include/configs/mx6qsabre_common.h b/include/configs/mx6qsabre_common.h
index 015e2b0..a32d7dd 100644
--- a/include/configs/mx6qsabre_common.h
+++ b/include/configs/mx6qsabre_common.h
@@ -78,6 +78,7 @@
#define CONFIG_CMD_BMODE
#define CONFIG_CMD_BOOTZ
+#define CONFIG_CMD_SETEXPR
#undef CONFIG_CMD_IMLS
#define CONFIG_BOOTDELAY 10
@@ -98,6 +99,19 @@
"mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
"mmcpart=" __stringify(CONFIG_SYS_MMC_ENV_PART) "\0" \
"mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
+ "update_sd_firmware=" \
+ "if test ${ip_dyn} = yes; then " \
+ "setenv get_cmd dhcp; " \
+ "else " \
+ "setenv get_cmd tftp; " \
+ "fi; " \
+ "if mmc dev ${mmcdev}; then " \
+ "if ${get_cmd} ${update_sd_firmware_filename}; then " \
+ "setexpr fw_sz ${filesize} / 0x200; " \
+ "setexpr fw_sz ${fw_sz} + 1; " \
+ "mmc write ${loadaddr} 0x2 ${fw_sz}; " \
+ "fi; " \
+ "fi\0" \
"mmcargs=setenv bootargs console=${console},${baudrate} " \
"root=${mmcroot}\0" \
"loadbootscript=" \
--
1.8.1
^ permalink raw reply related [flat|nested] 14+ messages in thread* [U-Boot] [PATCH v3 2/7] mx6qsabresd: Return status when initializing MMC 2013-04-19 13:41 [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Otavio Salvador @ 2013-04-19 13:41 ` Otavio Salvador 2013-04-25 19:39 ` Stefano Babic 2013-04-19 13:41 ` [U-Boot] [PATCH v3 3/7] wandboard: Use env storage info for mmcdev/mmcpart Otavio Salvador ` (5 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Otavio Salvador @ 2013-04-19 13:41 UTC (permalink / raw) To: u-boot Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- Changes in v3: - New patch Changes in v2: None board/freescale/mx6qsabresd/mx6qsabresd.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/board/freescale/mx6qsabresd/mx6qsabresd.c b/board/freescale/mx6qsabresd/mx6qsabresd.c index 0d7cb9e..bf9beef 100644 --- a/board/freescale/mx6qsabresd/mx6qsabresd.c +++ b/board/freescale/mx6qsabresd/mx6qsabresd.c @@ -166,6 +166,7 @@ int board_mmc_getcd(struct mmc *mmc) int board_mmc_init(bd_t *bis) { + s32 status = 0; int i; /* @@ -196,15 +197,15 @@ int board_mmc_init(bd_t *bis) break; default: printf("Warning: you configured more USDHC controllers" - "(%d) than supported by the board\n", i + 1); - return 0; - } + "(%d) then supported by the board (%d)\n", + i + 1, CONFIG_SYS_FSL_USDHC_NUM); + return status; + } - if (fsl_esdhc_initialize(bis, &usdhc_cfg[i])) - printf("Warning: failed to initialize mmc dev %d\n", i); + status |= fsl_esdhc_initialize(bis, &usdhc_cfg[i]); } - return 0; + return status; } #endif -- 1.8.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 2/7] mx6qsabresd: Return status when initializing MMC 2013-04-19 13:41 ` [U-Boot] [PATCH v3 2/7] mx6qsabresd: Return status when initializing MMC Otavio Salvador @ 2013-04-25 19:39 ` Stefano Babic 0 siblings, 0 replies; 14+ messages in thread From: Stefano Babic @ 2013-04-25 19:39 UTC (permalink / raw) To: u-boot On 19/04/2013 15:41, Otavio Salvador wrote: > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> > --- Applied to u-boot-imx, -next branch, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 3/7] wandboard: Use env storage info for mmcdev/mmcpart 2013-04-19 13:41 [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Otavio Salvador 2013-04-19 13:41 ` [U-Boot] [PATCH v3 2/7] mx6qsabresd: Return status when initializing MMC Otavio Salvador @ 2013-04-19 13:41 ` Otavio Salvador 2013-04-25 19:39 ` Stefano Babic 2013-04-19 13:42 ` [U-Boot] [PATCH v3 4/7] wandboard: Add update_sd_firmware support Otavio Salvador ` (4 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Otavio Salvador @ 2013-04-19 13:41 UTC (permalink / raw) To: u-boot This makes environment and mmcdev/mmcpart in sync with SYS_MMC_ENV_DEV and SYS_MMC_ENV_PART settings. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- Changes in v3: - New patch Changes in v2: None include/configs/wandboard.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h index 120e3f6..bd3e727 100644 --- a/include/configs/wandboard.h +++ b/include/configs/wandboard.h @@ -97,8 +97,8 @@ "fdt_addr=0x11000000\0" \ "boot_fdt=try\0" \ "ip_dyn=yes\0" \ - "mmcdev=0\0" \ - "mmcpart=2\0" \ + "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ + "mmcpart=" __stringify(CONFIG_SYS_MMC_ENV_PART) "\0" \ "mmcroot=/dev/mmcblk0p3 rootwait rw\0" \ "mmcargs=setenv bootargs console=${console},${baudrate} " \ "root=${mmcroot}\0" \ @@ -198,6 +198,7 @@ #define CONFIG_ENV_IS_IN_MMC #define CONFIG_ENV_OFFSET (6 * 64 * 1024) #define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_PART 2 #define CONFIG_OF_LIBFDT #define CONFIG_CMD_BOOTZ -- 1.8.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 3/7] wandboard: Use env storage info for mmcdev/mmcpart 2013-04-19 13:41 ` [U-Boot] [PATCH v3 3/7] wandboard: Use env storage info for mmcdev/mmcpart Otavio Salvador @ 2013-04-25 19:39 ` Stefano Babic 0 siblings, 0 replies; 14+ messages in thread From: Stefano Babic @ 2013-04-25 19:39 UTC (permalink / raw) To: u-boot On 19/04/2013 15:41, Otavio Salvador wrote: > This makes environment and mmcdev/mmcpart in sync with SYS_MMC_ENV_DEV > and SYS_MMC_ENV_PART settings. > > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> > --- Applied to u-boot-imx, -next branch, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 4/7] wandboard: Add update_sd_firmware support 2013-04-19 13:41 [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Otavio Salvador 2013-04-19 13:41 ` [U-Boot] [PATCH v3 2/7] mx6qsabresd: Return status when initializing MMC Otavio Salvador 2013-04-19 13:41 ` [U-Boot] [PATCH v3 3/7] wandboard: Use env storage info for mmcdev/mmcpart Otavio Salvador @ 2013-04-19 13:42 ` Otavio Salvador 2013-04-25 19:39 ` Stefano Babic 2013-04-19 13:42 ` [U-Boot] [PATCH v3 5/7] wandboard: Add card detection for SOM MicroSD card Otavio Salvador ` (3 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Otavio Salvador @ 2013-04-19 13:42 UTC (permalink / raw) To: u-boot This allow for easy update of firmware in the SD card from a running U-Boot. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- Changes in v3: - New patch Changes in v2: None include/configs/wandboard.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h index bd3e727..0dc3286 100644 --- a/include/configs/wandboard.h +++ b/include/configs/wandboard.h @@ -47,6 +47,8 @@ #undef CONFIG_CMD_IMLS +#define CONFIG_CMD_SETEXPR + #define CONFIG_BOOTDELAY 5 #define CONFIG_SYS_MEMTEST_START 0x10000000 @@ -100,6 +102,20 @@ "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ "mmcpart=" __stringify(CONFIG_SYS_MMC_ENV_PART) "\0" \ "mmcroot=/dev/mmcblk0p3 rootwait rw\0" \ + "update_sd_firmware_filename=u-boot.imx\0" \ + "update_sd_firmware=" \ + "if test ${ip_dyn} = yes; then " \ + "setenv get_cmd dhcp; " \ + "else " \ + "setenv get_cmd tftp; " \ + "fi; " \ + "if mmc dev ${mmcdev}; then " \ + "if ${get_cmd} ${update_sd_firmware_filename}; then " \ + "setexpr fw_sz ${filesize} / 0x200; " \ + "setexpr fw_sz ${fw_sz} + 1; " \ + "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ + "fi; " \ + "fi\0" \ "mmcargs=setenv bootargs console=${console},${baudrate} " \ "root=${mmcroot}\0" \ "loadbootscript=" \ -- 1.8.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 4/7] wandboard: Add update_sd_firmware support 2013-04-19 13:42 ` [U-Boot] [PATCH v3 4/7] wandboard: Add update_sd_firmware support Otavio Salvador @ 2013-04-25 19:39 ` Stefano Babic 0 siblings, 0 replies; 14+ messages in thread From: Stefano Babic @ 2013-04-25 19:39 UTC (permalink / raw) To: u-boot On 19/04/2013 15:42, Otavio Salvador wrote: > This allow for easy update of firmware in the SD card from a running > U-Boot. > > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> > --- > Changes in v3: > - New patch > > Changes in v2: None > > include/configs/wandboard.h | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > Applied to u-boot-imx branch, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 5/7] wandboard: Add card detection for SOM MicroSD card 2013-04-19 13:41 [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Otavio Salvador ` (2 preceding siblings ...) 2013-04-19 13:42 ` [U-Boot] [PATCH v3 4/7] wandboard: Add update_sd_firmware support Otavio Salvador @ 2013-04-19 13:42 ` Otavio Salvador 2013-04-25 19:41 ` Stefano Babic 2013-04-19 13:42 ` [U-Boot] [PATCH v3 6/7] wandboard: Add support for Carrier Board " Otavio Salvador ` (2 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Otavio Salvador @ 2013-04-19 13:42 UTC (permalink / raw) To: u-boot This add support to identify if the card is connected or not; so it does not try to communicate with the controller if no card is available. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- Changes in v3: - Move GPIO definition to the top Changes in v2: None arch/arm/include/asm/arch-mx6/mx6dl_pins.h | 1 + board/wandboard/wandboard.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/arch/arm/include/asm/arch-mx6/mx6dl_pins.h b/arch/arm/include/asm/arch-mx6/mx6dl_pins.h index 9846f1b..b8e6bf0 100644 --- a/arch/arm/include/asm/arch-mx6/mx6dl_pins.h +++ b/arch/arm/include/asm/arch-mx6/mx6dl_pins.h @@ -93,6 +93,7 @@ enum { MX6_PAD_EIM_D28__I2C1_SDA = IOMUX_PAD(0x0544, 0x0174, 1 | IOMUX_CONFIG_SION, 0x086C, 1, 0), MX6_PAD_EIM_D28__GPIO_3_28 = IOMUX_PAD(0x0544, 0x0174, 5, 0x0000, 0, 0), MX6_PAD_EIM_D29__GPIO_3_29 = IOMUX_PAD(0x0548, 0x0178, 5, 0x0000, 0, 0), + MX6_PAD_EIM_DA9__GPIO_3_9 = IOMUX_PAD(0x0590, 0x01C0, 5, 0x0000, 0, 0), MX6_PAD_ENET_MDC__ENET_MDC = IOMUX_PAD(0x05B8, 0x01E8, 1, 0x0000, 0, 0), MX6_PAD_ENET_MDIO__ENET_MDIO = IOMUX_PAD(0x05BC, 0x01EC, 1, 0x0810, 0, 0), MX6_PAD_ENET_REF_CLK__ENET_TX_CLK = IOMUX_PAD(0x05C0, 0x01F0, 1, 0x0000, 0, 0), diff --git a/board/wandboard/wandboard.c b/board/wandboard/wandboard.c index ac7b89a..8ec7eb9 100644 --- a/board/wandboard/wandboard.c +++ b/board/wandboard/wandboard.c @@ -38,6 +38,7 @@ DECLARE_GLOBAL_DATA_PTR; PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ PAD_CTL_DSE_40ohm | PAD_CTL_HYS) +#define USDHC3_CD_GPIO IMX_GPIO_NR(3, 9) #define ETH_PHY_RESET IMX_GPIO_NR(3, 29) int dram_init(void) @@ -59,6 +60,8 @@ static iomux_v3_cfg_t const usdhc3_pads[] = { MX6_PAD_SD3_DAT1__USDHC3_DAT1 | MUX_PAD_CTRL(USDHC_PAD_CTRL), MX6_PAD_SD3_DAT2__USDHC3_DAT2 | MUX_PAD_CTRL(USDHC_PAD_CTRL), MX6_PAD_SD3_DAT3__USDHC3_DAT3 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + /* SOM MicroSD Card Detect */ + MX6_PAD_EIM_DA9__GPIO_3_9 | MUX_PAD_CTRL(NO_PAD_CTRL), }; static iomux_v3_cfg_t const enet_pads[] = { @@ -100,12 +103,27 @@ static struct fsl_esdhc_cfg usdhc_cfg[1] = { {USDHC3_BASE_ADDR}, }; +int board_mmc_getcd(struct mmc *mmc) +{ + struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv; + int ret = 0; + + switch (cfg->esdhc_base) { + case USDHC3_BASE_ADDR: + ret = !gpio_get_value(USDHC3_CD_GPIO); + break; + } + + return ret; +} + int board_mmc_init(bd_t *bis) { imx_iomux_v3_setup_multiple_pads(usdhc3_pads, ARRAY_SIZE(usdhc3_pads)); usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); usdhc_cfg[0].max_bus_width = 4; + gpio_direction_input(USDHC3_CD_GPIO); return fsl_esdhc_initialize(bis, &usdhc_cfg[0]); } -- 1.8.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 5/7] wandboard: Add card detection for SOM MicroSD card 2013-04-19 13:42 ` [U-Boot] [PATCH v3 5/7] wandboard: Add card detection for SOM MicroSD card Otavio Salvador @ 2013-04-25 19:41 ` Stefano Babic 0 siblings, 0 replies; 14+ messages in thread From: Stefano Babic @ 2013-04-25 19:41 UTC (permalink / raw) To: u-boot On 19/04/2013 15:42, Otavio Salvador wrote: > This add support to identify if the card is connected or not; so it > does not try to communicate with the controller if no card is > available. > > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> > --- Discharge wrong applied message - patches are applied to u-boot-imx, master branch. Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 6/7] wandboard: Add support for Carrier Board MicroSD card 2013-04-19 13:41 [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Otavio Salvador ` (3 preceding siblings ...) 2013-04-19 13:42 ` [U-Boot] [PATCH v3 5/7] wandboard: Add card detection for SOM MicroSD card Otavio Salvador @ 2013-04-19 13:42 ` Otavio Salvador 2013-04-25 19:41 ` Stefano Babic 2013-04-19 13:42 ` [U-Boot] [PATCH v3 7/7] wandboard: Add boot selection support Otavio Salvador 2013-04-25 19:38 ` [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Stefano Babic 6 siblings, 1 reply; 14+ messages in thread From: Otavio Salvador @ 2013-04-19 13:42 UTC (permalink / raw) To: u-boot Allow use of the carrier board MicroSD card available in the Wandboard; this allow for loading alternative system from the other card for testing or upgrade proposes. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- Changes in v3: - Improve commit log - Reword comment about the 'mmc' mapping - Rework code which initialize mmc - Move GPIO definition to the top Changes in v2: - Return -EINVAL when trying to initialize a wrong controller arch/arm/include/asm/arch-mx6/mx6dl_pins.h | 7 ++++ board/wandboard/wandboard.c | 59 ++++++++++++++++++++++++++---- include/configs/wandboard.h | 1 + 3 files changed, 60 insertions(+), 7 deletions(-) diff --git a/arch/arm/include/asm/arch-mx6/mx6dl_pins.h b/arch/arm/include/asm/arch-mx6/mx6dl_pins.h index b8e6bf0..8cedbdc 100644 --- a/arch/arm/include/asm/arch-mx6/mx6dl_pins.h +++ b/arch/arm/include/asm/arch-mx6/mx6dl_pins.h @@ -103,6 +103,7 @@ enum { MX6_PAD_GPIO_17__GPIO_7_12 = IOMUX_PAD(0x05E8, 0x0218, 5, 0x0000, 0, 0), MX6_PAD_GPIO_18__GPIO_7_13 = IOMUX_PAD(0x05EC, 0x021C, 5, 0x0000, 0, 0), MX6_PAD_GPIO_19__GPIO_4_5 = IOMUX_PAD(0x05F0, 0x0220, 5, 0x0000, 0, 0), + MX6_PAD_GPIO_2__GPIO_1_2 = IOMUX_PAD(0x05F4, 0x0224, 5, 0x0000, 0, 0), MX6_PAD_GPIO_5__GPIO_1_5 = IOMUX_PAD(0x0600, 0x0230, 5, 0x0000, 0, 0), MX6_PAD_GPIO_5__I2C3_SCL = IOMUX_PAD(0x0600, 0x0230, 6 | IOMUX_CONFIG_SION, 0x0878, 2, 0), MX6_PAD_KEY_COL3__I2C2_SCL = IOMUX_PAD(0x0638, 0x0250, 4 | IOMUX_CONFIG_SION, 0x0870, 1, 0), @@ -135,8 +136,14 @@ enum { MX6_PAD_RGMII_TD3__ENET_RGMII_TD3 = IOMUX_PAD(0x06B8, 0x02D0, 1, 0x0000, 0, 0), MX6_PAD_RGMII_TX_CTL__RGMII_TX_CTL = IOMUX_PAD(0x06BC, 0x02D4, 1, 0x0000, 0, 0), MX6_PAD_RGMII_TXC__ENET_RGMII_TXC = IOMUX_PAD(0x06C0, 0x02D8, 1, 0x0000, 0, 0), + MX6_PAD_SD1_CLK__USDHC1_CLK = IOMUX_PAD(0x06C4, 0x02DC, 0, 0x0928, 1, 0), + MX6_PAD_SD1_CMD__USDHC1_CMD = IOMUX_PAD(0x06C8, 0x02E0, 0 | IOMUX_CONFIG_SION, 0x0000, 0, 0), MX6_PAD_SD1_CMD__GPIO_1_18 = IOMUX_PAD(0x06C8, 0x02E0, 5, 0x0000, 0, 0), MX6_PAD_SD1_DAT3__GPIO_1_21 = IOMUX_PAD(0x06D8, 0x02F0, 5, 0x0000, 0, 0), + MX6_PAD_SD1_DAT0__USDHC1_DAT0 = IOMUX_PAD(0x06CC, 0x02E4, 0, 0x0000, 0, 0), + MX6_PAD_SD1_DAT1__USDHC1_DAT1 = IOMUX_PAD(0x06D0, 0x02E8, 0, 0x0000, 0, 0), + MX6_PAD_SD1_DAT2__USDHC1_DAT2 = IOMUX_PAD(0x06D4, 0x02EC, 0, 0x0000, 0, 0), + MX6_PAD_SD1_DAT3__USDHC1_DAT3 = IOMUX_PAD(0x06D8, 0x02F0, 0, 0x0000, 0, 0), MX6_PAD_SD3_CLK__USDHC3_CLK = IOMUX_PAD(0x06F4, 0x030C, 0, 0x0934, 1, 0), MX6_PAD_SD3_CMD__USDHC3_CMD = IOMUX_PAD(0x06F8, 0x0310, 0 | IOMUX_CONFIG_SION, 0x0000, 0, 0), MX6_PAD_SD3_DAT0__USDHC3_DAT0 = IOMUX_PAD(0x06FC, 0x0314, 0, 0x0000, 0, 0), diff --git a/board/wandboard/wandboard.c b/board/wandboard/wandboard.c index 8ec7eb9..2bf121c 100644 --- a/board/wandboard/wandboard.c +++ b/board/wandboard/wandboard.c @@ -38,6 +38,7 @@ DECLARE_GLOBAL_DATA_PTR; PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ PAD_CTL_DSE_40ohm | PAD_CTL_HYS) +#define USDHC1_CD_GPIO IMX_GPIO_NR(1, 2) #define USDHC3_CD_GPIO IMX_GPIO_NR(3, 9) #define ETH_PHY_RESET IMX_GPIO_NR(3, 29) @@ -53,6 +54,17 @@ static iomux_v3_cfg_t const uart1_pads[] = { MX6_PAD_CSI0_DAT11__UART1_RXD | MUX_PAD_CTRL(UART_PAD_CTRL), }; +iomux_v3_cfg_t const usdhc1_pads[] = { + MX6_PAD_SD1_CLK__USDHC1_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD1_CMD__USDHC1_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD1_DAT0__USDHC1_DAT0 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD1_DAT1__USDHC1_DAT1 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD1_DAT2__USDHC1_DAT2 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD1_DAT3__USDHC1_DAT3 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + /* Carrier MicroSD Card Detect */ + MX6_PAD_GPIO_2__GPIO_1_2 | MUX_PAD_CTRL(NO_PAD_CTRL), +}; + static iomux_v3_cfg_t const usdhc3_pads[] = { MX6_PAD_SD3_CLK__USDHC3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL), MX6_PAD_SD3_CMD__USDHC3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL), @@ -99,8 +111,9 @@ static void setup_iomux_enet(void) gpio_set_value(ETH_PHY_RESET, 1); } -static struct fsl_esdhc_cfg usdhc_cfg[1] = { +static struct fsl_esdhc_cfg usdhc_cfg[2] = { {USDHC3_BASE_ADDR}, + {USDHC1_BASE_ADDR}, }; int board_mmc_getcd(struct mmc *mmc) @@ -109,6 +122,9 @@ int board_mmc_getcd(struct mmc *mmc) int ret = 0; switch (cfg->esdhc_base) { + case USDHC1_BASE_ADDR: + ret = !gpio_get_value(USDHC1_CD_GPIO); + break; case USDHC3_BASE_ADDR: ret = !gpio_get_value(USDHC3_CD_GPIO); break; @@ -119,13 +135,42 @@ int board_mmc_getcd(struct mmc *mmc) int board_mmc_init(bd_t *bis) { - imx_iomux_v3_setup_multiple_pads(usdhc3_pads, ARRAY_SIZE(usdhc3_pads)); - - usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); - usdhc_cfg[0].max_bus_width = 4; - gpio_direction_input(USDHC3_CD_GPIO); + s32 status = 0; + u32 index = 0; + + /* + * Following map is done: + * (U-boot device node) (Physical Port) + * mmc0 SOM MicroSD + * mmc1 Carrier board MicroSD + */ + for (index = 0; index < CONFIG_SYS_FSL_USDHC_NUM; ++index) { + switch (index) { + case 0: + imx_iomux_v3_setup_multiple_pads( + usdhc3_pads, ARRAY_SIZE(usdhc3_pads)); + usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK); + usdhc_cfg[0].max_bus_width = 4; + gpio_direction_input(USDHC3_CD_GPIO); + break; + case 1: + imx_iomux_v3_setup_multiple_pads( + usdhc1_pads, ARRAY_SIZE(usdhc1_pads)); + usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK); + usdhc_cfg[1].max_bus_width = 4; + gpio_direction_input(USDHC1_CD_GPIO); + break; + default: + printf("Warning: you configured more USDHC controllers" + "(%d) then supported by the board (%d)\n", + index + 1, CONFIG_SYS_FSL_USDHC_NUM); + return status; + } + + status |= fsl_esdhc_initialize(bis, &usdhc_cfg[index]); + } - return fsl_esdhc_initialize(bis, &usdhc_cfg[0]); + return status; } static int mx6_rgmii_rework(struct phy_device *phydev) diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h index 0dc3286..9898f55 100644 --- a/include/configs/wandboard.h +++ b/include/configs/wandboard.h @@ -59,6 +59,7 @@ /* MMC Configuration */ #define CONFIG_FSL_ESDHC #define CONFIG_FSL_USDHC +#define CONFIG_SYS_FSL_USDHC_NUM 2 #define CONFIG_SYS_FSL_ESDHC_ADDR 0 #define CONFIG_MMC -- 1.8.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 6/7] wandboard: Add support for Carrier Board MicroSD card 2013-04-19 13:42 ` [U-Boot] [PATCH v3 6/7] wandboard: Add support for Carrier Board " Otavio Salvador @ 2013-04-25 19:41 ` Stefano Babic 0 siblings, 0 replies; 14+ messages in thread From: Stefano Babic @ 2013-04-25 19:41 UTC (permalink / raw) To: u-boot On 19/04/2013 15:42, Otavio Salvador wrote: > Allow use of the carrier board MicroSD card available in the > Wandboard; this allow for loading alternative system from the other > card for testing or upgrade proposes. > > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> > --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 7/7] wandboard: Add boot selection support 2013-04-19 13:41 [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Otavio Salvador ` (4 preceding siblings ...) 2013-04-19 13:42 ` [U-Boot] [PATCH v3 6/7] wandboard: Add support for Carrier Board " Otavio Salvador @ 2013-04-19 13:42 ` Otavio Salvador 2013-04-25 19:41 ` Stefano Babic 2013-04-25 19:38 ` [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Stefano Babic 6 siblings, 1 reply; 14+ messages in thread From: Otavio Salvador @ 2013-04-19 13:42 UTC (permalink / raw) To: u-boot Adds support for 'bmode' command which let user to choose where to boot from; this allows U-Boot to load system from another storage without messing with jumpers. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- Changes in v3: None Changes in v2: None board/wandboard/wandboard.c | 19 +++++++++++++++++++ include/configs/wandboard.h | 2 ++ 2 files changed, 21 insertions(+) diff --git a/board/wandboard/wandboard.c b/board/wandboard/wandboard.c index 2bf121c..c71c90d 100644 --- a/board/wandboard/wandboard.c +++ b/board/wandboard/wandboard.c @@ -16,6 +16,7 @@ #include <asm/arch/sys_proto.h> #include <asm/gpio.h> #include <asm/imx-common/iomux-v3.h> +#include <asm/imx-common/boot_mode.h> #include <asm/io.h> #include <asm/sizes.h> #include <common.h> @@ -225,6 +226,24 @@ int board_early_init_f(void) return 0; } +#ifdef CONFIG_CMD_BMODE +static const struct boot_mode board_boot_modes[] = { + /* 4 bit bus width */ + {"mmc0", MAKE_CFGVAL(0x40, 0x30, 0x00, 0x00)}, + {"mmc1", MAKE_CFGVAL(0x40, 0x20, 0x00, 0x00)}, + {NULL, 0}, +}; +#endif + +int board_late_init(void) +{ +#ifdef CONFIG_CMD_BMODE + add_board_boot_modes(board_boot_modes); +#endif + + return 0; +} + int board_init(void) { /* address of boot parameters */ diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h index 9898f55..9d7ec3f 100644 --- a/include/configs/wandboard.h +++ b/include/configs/wandboard.h @@ -32,6 +32,7 @@ #define CONFIG_SYS_MALLOC_LEN (3 * SZ_1M) #define CONFIG_BOARD_EARLY_INIT_F +#define CONFIG_BOARD_LATE_INIT #define CONFIG_MXC_GPIO #define CONFIG_MXC_UART @@ -47,6 +48,7 @@ #undef CONFIG_CMD_IMLS +#define CONFIG_CMD_BMODE #define CONFIG_CMD_SETEXPR #define CONFIG_BOOTDELAY 5 -- 1.8.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 7/7] wandboard: Add boot selection support 2013-04-19 13:42 ` [U-Boot] [PATCH v3 7/7] wandboard: Add boot selection support Otavio Salvador @ 2013-04-25 19:41 ` Stefano Babic 0 siblings, 0 replies; 14+ messages in thread From: Stefano Babic @ 2013-04-25 19:41 UTC (permalink / raw) To: u-boot On 19/04/2013 15:42, Otavio Salvador wrote: > Adds support for 'bmode' command which let user to choose where to > boot from; this allows U-Boot to load system from another storage > without messing with jumpers. > > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> > --- Applied to u-boot-imx, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support 2013-04-19 13:41 [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Otavio Salvador ` (5 preceding siblings ...) 2013-04-19 13:42 ` [U-Boot] [PATCH v3 7/7] wandboard: Add boot selection support Otavio Salvador @ 2013-04-25 19:38 ` Stefano Babic 6 siblings, 0 replies; 14+ messages in thread From: Stefano Babic @ 2013-04-25 19:38 UTC (permalink / raw) To: u-boot On 19/04/2013 15:41, Otavio Salvador wrote: > This allow for easy update of firmware in the SD card from a running > U-Boot. > > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> > --- Applied to u-boot-imx, -next branch, thanks. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2013-04-25 19:41 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-19 13:41 [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Otavio Salvador
2013-04-19 13:41 ` [U-Boot] [PATCH v3 2/7] mx6qsabresd: Return status when initializing MMC Otavio Salvador
2013-04-25 19:39 ` Stefano Babic
2013-04-19 13:41 ` [U-Boot] [PATCH v3 3/7] wandboard: Use env storage info for mmcdev/mmcpart Otavio Salvador
2013-04-25 19:39 ` Stefano Babic
2013-04-19 13:42 ` [U-Boot] [PATCH v3 4/7] wandboard: Add update_sd_firmware support Otavio Salvador
2013-04-25 19:39 ` Stefano Babic
2013-04-19 13:42 ` [U-Boot] [PATCH v3 5/7] wandboard: Add card detection for SOM MicroSD card Otavio Salvador
2013-04-25 19:41 ` Stefano Babic
2013-04-19 13:42 ` [U-Boot] [PATCH v3 6/7] wandboard: Add support for Carrier Board " Otavio Salvador
2013-04-25 19:41 ` Stefano Babic
2013-04-19 13:42 ` [U-Boot] [PATCH v3 7/7] wandboard: Add boot selection support Otavio Salvador
2013-04-25 19:41 ` Stefano Babic
2013-04-25 19:38 ` [U-Boot] [PATCH v3 1/7] mx6qsabre{sd, auto}: Add update_sd_firmware support Stefano Babic
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox