* [U-Boot] [PATCH v2 2/8] omap5_uevm: Add CONFIG_SUPPORT_EMMC_BOOT, document usage
2014-01-30 21:31 [U-Boot] [PATCH v2 1/8] SPL: Add CONFIG_SUPPORT_EMMC_BOOT support to CONFIG_SPL_FRAMEWORK Tom Rini
@ 2014-01-30 21:31 ` Tom Rini
2014-01-30 21:31 ` [U-Boot] [PATCH v2 3/8] dra7xx_evm: " Tom Rini
` (5 subsequent siblings)
6 siblings, 0 replies; 23+ messages in thread
From: Tom Rini @ 2014-01-30 21:31 UTC (permalink / raw)
To: u-boot
Add a README to the board which lists the commands required to enable
booting from the eMMC boot partitions found on the board.
Signed-off-by: Tom Rini <trini@ti.com>
---
board/ti/omap5_uevm/README | 25 +++++++++++++++++++++++++
include/configs/omap5_uevm.h | 1 +
2 files changed, 26 insertions(+)
create mode 100644 board/ti/omap5_uevm/README
diff --git a/board/ti/omap5_uevm/README b/board/ti/omap5_uevm/README
new file mode 100644
index 0000000..970e2ec
--- /dev/null
+++ b/board/ti/omap5_uevm/README
@@ -0,0 +1,25 @@
+Summary
+=======
+
+This document covers various features of the 'omap5_uevm' build and some
+related uses.
+
+eMMC boot partition use
+=======================
+
+It is possible, depending on SYSBOOT configuration to boot from the eMMC
+boot partitions using (name depending on documentation referenced)
+Alternative Boot operation mode or Boot Sequence Option 1/2. In this
+example we load MLO and u-boot.img from the build into DDR and then use
+'mmc bootbus' to set the required rate (see TRM) and 'mmc partconfig' to
+set boot0 as the boot device.
+U-Boot # setenv autoload no
+U-Boot # usb start
+U-Boot # dhcp
+U-Boot # mmc dev 1 1
+U-Boot # tftp ${loadaddr} omap5uevm/MLO
+U-Boot # mmc write ${loadaddr} 0 100
+U-Boot # tftp ${loadaddr} omap5uevm/u-boot.img
+U-Boot # mmc write ${loadaddr} 300 400
+U-Boot # mmc bootbus 1 2 0 2
+U-Boot # mmc partconf 1 1 1 0
diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h
index 76c5106..3df502e 100644
--- a/include/configs/omap5_uevm.h
+++ b/include/configs/omap5_uevm.h
@@ -37,6 +37,7 @@
#define CONFIG_PARTITION_UUIDS
#define CONFIG_CMD_PART
#define CONFIG_HSMMC2_8BIT
+#define CONFIG_SUPPORT_EMMC_BOOT
/* Required support for the TCA642X GPIO we have on the uEVM */
#define CONFIG_TCA642X
--
1.7.9.5
^ permalink raw reply related [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 3/8] dra7xx_evm: Add CONFIG_SUPPORT_EMMC_BOOT, document usage
2014-01-30 21:31 [U-Boot] [PATCH v2 1/8] SPL: Add CONFIG_SUPPORT_EMMC_BOOT support to CONFIG_SPL_FRAMEWORK Tom Rini
2014-01-30 21:31 ` [U-Boot] [PATCH v2 2/8] omap5_uevm: Add CONFIG_SUPPORT_EMMC_BOOT, document usage Tom Rini
@ 2014-01-30 21:31 ` Tom Rini
2014-01-30 21:31 ` [U-Boot] [PATCH v2 4/8] cmd_mmc.c: Change 'bootpart' code to match normal coding style Tom Rini
` (4 subsequent siblings)
6 siblings, 0 replies; 23+ messages in thread
From: Tom Rini @ 2014-01-30 21:31 UTC (permalink / raw)
To: u-boot
Add a README to the board which lists the commands required to enable
booting from the eMMC boot partitions found on the board.
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
---
board/ti/dra7xx/README | 25 +++++++++++++++++++++++++
include/configs/dra7xx_evm.h | 2 ++
2 files changed, 27 insertions(+)
create mode 100644 board/ti/dra7xx/README
diff --git a/board/ti/dra7xx/README b/board/ti/dra7xx/README
new file mode 100644
index 0000000..2fdaeac
--- /dev/null
+++ b/board/ti/dra7xx/README
@@ -0,0 +1,25 @@
+Summary
+=======
+
+This document covers various features of the 'dra7xx_evm' build and some
+related uses.
+
+eMMC boot partition use
+=======================
+
+It is possible, depending on SYSBOOT configuration to boot from the eMMC
+boot partitions using (name depending on documentation referenced)
+Alternative Boot operation mode or Boot Sequence Option 1/2. In this
+example we load MLO and u-boot.img from the build into DDR and then use
+'mmc bootbus' to set the required rate (see TRM) and 'mmc partconfig' to
+set boot0 as the boot device.
+U-Boot # setenv autoload no
+U-Boot # usb start
+U-Boot # dhcp
+U-Boot # mmc dev 1 1
+U-Boot # tftp ${loadaddr} dra7xx/MLO
+U-Boot # mmc write ${loadaddr} 0 100
+U-Boot # tftp ${loadaddr} dra7xx/u-boot.img
+U-Boot # mmc write ${loadaddr} 300 400
+U-Boot # mmc bootbus 1 2 0 2
+U-Boot # mmc partconf 1 1 1 0
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h
index f210ed8..3c53f0a 100644
--- a/include/configs/dra7xx_evm.h
+++ b/include/configs/dra7xx_evm.h
@@ -73,6 +73,8 @@
#define CONFIG_SPL_SPI_CS 0
#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000
+#define CONFIG_SUPPORT_EMMC_BOOT
+
/* USB xHCI HOST */
#define CONFIG_CMD_USB
#define CONFIG_USB_HOST
--
1.7.9.5
^ permalink raw reply related [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 4/8] cmd_mmc.c: Change 'bootpart' code to match normal coding style
2014-01-30 21:31 [U-Boot] [PATCH v2 1/8] SPL: Add CONFIG_SUPPORT_EMMC_BOOT support to CONFIG_SPL_FRAMEWORK Tom Rini
2014-01-30 21:31 ` [U-Boot] [PATCH v2 2/8] omap5_uevm: Add CONFIG_SUPPORT_EMMC_BOOT, document usage Tom Rini
2014-01-30 21:31 ` [U-Boot] [PATCH v2 3/8] dra7xx_evm: " Tom Rini
@ 2014-01-30 21:31 ` Tom Rini
2014-02-04 0:54 ` Jaehoon Chung
2014-01-30 21:31 ` [U-Boot] [PATCH v2 5/8] cmd_mmc.c: Rename 'bootpart' to 'bootpart-resize' Tom Rini
` (3 subsequent siblings)
6 siblings, 1 reply; 23+ messages in thread
From: Tom Rini @ 2014-01-30 21:31 UTC (permalink / raw)
To: u-boot
Signed-off-by: Tom Rini <trini@ti.com>
---
common/cmd_mmc.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index da5fef9..e118252 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -314,11 +314,18 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
} else if (strcmp(argv[1], "bootpart") == 0) {
int dev;
- dev = simple_strtoul(argv[2], NULL, 10);
+ struct *mmc;
+ u32 bootsize, rpmbsize;
- u32 bootsize = simple_strtoul(argv[3], NULL, 10);
- u32 rpmbsize = simple_strtoul(argv[4], NULL, 10);
- struct mmc *mmc = find_mmc_device(dev);
+ if (argc == 5) {
+ dev = simple_strtoul(argv[2], NULL, 10);
+ bootsize = simple_strtoul(argv[3], NULL, 10);
+ rpmbsize = simple_strtoul(argv[4], NULL, 10);
+ } else {
+ return CMD_RET_USAGE;
+ }
+
+ mmc = find_mmc_device(dev);
if (!mmc) {
printf("no mmc device at slot %x\n", dev);
return 1;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 4/8] cmd_mmc.c: Change 'bootpart' code to match normal coding style
2014-01-30 21:31 ` [U-Boot] [PATCH v2 4/8] cmd_mmc.c: Change 'bootpart' code to match normal coding style Tom Rini
@ 2014-02-04 0:54 ` Jaehoon Chung
0 siblings, 0 replies; 23+ messages in thread
From: Jaehoon Chung @ 2014-02-04 0:54 UTC (permalink / raw)
To: u-boot
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
On 01/31/2014 06:31 AM, Tom Rini wrote:
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
> common/cmd_mmc.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
> index da5fef9..e118252 100644
> --- a/common/cmd_mmc.c
> +++ b/common/cmd_mmc.c
> @@ -314,11 +314,18 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>
> } else if (strcmp(argv[1], "bootpart") == 0) {
> int dev;
> - dev = simple_strtoul(argv[2], NULL, 10);
> + struct *mmc;
> + u32 bootsize, rpmbsize;
>
> - u32 bootsize = simple_strtoul(argv[3], NULL, 10);
> - u32 rpmbsize = simple_strtoul(argv[4], NULL, 10);
> - struct mmc *mmc = find_mmc_device(dev);
> + if (argc == 5) {
> + dev = simple_strtoul(argv[2], NULL, 10);
> + bootsize = simple_strtoul(argv[3], NULL, 10);
> + rpmbsize = simple_strtoul(argv[4], NULL, 10);
> + } else {
> + return CMD_RET_USAGE;
> + }
> +
> + mmc = find_mmc_device(dev);
> if (!mmc) {
> printf("no mmc device at slot %x\n", dev);
> return 1;
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 5/8] cmd_mmc.c: Rename 'bootpart' to 'bootpart-resize'
2014-01-30 21:31 [U-Boot] [PATCH v2 1/8] SPL: Add CONFIG_SUPPORT_EMMC_BOOT support to CONFIG_SPL_FRAMEWORK Tom Rini
` (2 preceding siblings ...)
2014-01-30 21:31 ` [U-Boot] [PATCH v2 4/8] cmd_mmc.c: Change 'bootpart' code to match normal coding style Tom Rini
@ 2014-01-30 21:31 ` Tom Rini
2014-02-04 0:55 ` Jaehoon Chung
2014-01-30 21:31 ` [U-Boot] [PATCH v2 6/8] cmd_mmc.c: Add 'partconf' command to mmc Tom Rini
` (2 subsequent siblings)
6 siblings, 1 reply; 23+ messages in thread
From: Tom Rini @ 2014-01-30 21:31 UTC (permalink / raw)
To: u-boot
Rename 'bootpart' to 'bootpart-resize' to better reflect what this
command is for.
Signed-off-by: Tom Rini <trini@ti.com>
---
common/cmd_mmc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index e118252..a322063 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -312,9 +312,9 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
/* acknowledge to be sent during boot operation */
return boot_part_access(mmc, 1, part_num, access);
- } else if (strcmp(argv[1], "bootpart") == 0) {
+ } else if (strcmp(argv[1], "bootpart-resize") == 0) {
int dev;
- struct *mmc;
+ struct mmc *mmc;
u32 bootsize, rpmbsize;
if (argc == 5) {
@@ -449,8 +449,8 @@ U_BOOT_CMD(
" - Enable boot_part for booting and enable R/W access of boot_part\n"
"mmc close <dev> <boot_partition>\n"
" - Enable boot_part for booting and disable access to boot_part\n"
- "mmc bootpart <device num> <boot part size MB> <RPMB part size MB>\n"
- " - change sizes of boot and RPMB partitions of specified device\n"
+ "mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
+ " - Change sizes of boot and RPMB partitions of specified device\n"
#endif
"mmc setdsr - set DSR register value\n"
);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 5/8] cmd_mmc.c: Rename 'bootpart' to 'bootpart-resize'
2014-01-30 21:31 ` [U-Boot] [PATCH v2 5/8] cmd_mmc.c: Rename 'bootpart' to 'bootpart-resize' Tom Rini
@ 2014-02-04 0:55 ` Jaehoon Chung
0 siblings, 0 replies; 23+ messages in thread
From: Jaehoon Chung @ 2014-02-04 0:55 UTC (permalink / raw)
To: u-boot
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
On 01/31/2014 06:31 AM, Tom Rini wrote:
> Rename 'bootpart' to 'bootpart-resize' to better reflect what this
> command is for.
>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
> common/cmd_mmc.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
> index e118252..a322063 100644
> --- a/common/cmd_mmc.c
> +++ b/common/cmd_mmc.c
> @@ -312,9 +312,9 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> /* acknowledge to be sent during boot operation */
> return boot_part_access(mmc, 1, part_num, access);
>
> - } else if (strcmp(argv[1], "bootpart") == 0) {
> + } else if (strcmp(argv[1], "bootpart-resize") == 0) {
> int dev;
> - struct *mmc;
> + struct mmc *mmc;
> u32 bootsize, rpmbsize;
>
> if (argc == 5) {
> @@ -449,8 +449,8 @@ U_BOOT_CMD(
> " - Enable boot_part for booting and enable R/W access of boot_part\n"
> "mmc close <dev> <boot_partition>\n"
> " - Enable boot_part for booting and disable access to boot_part\n"
> - "mmc bootpart <device num> <boot part size MB> <RPMB part size MB>\n"
> - " - change sizes of boot and RPMB partitions of specified device\n"
> + "mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
> + " - Change sizes of boot and RPMB partitions of specified device\n"
> #endif
> "mmc setdsr - set DSR register value\n"
> );
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 6/8] cmd_mmc.c: Add 'partconf' command to mmc
2014-01-30 21:31 [U-Boot] [PATCH v2 1/8] SPL: Add CONFIG_SUPPORT_EMMC_BOOT support to CONFIG_SPL_FRAMEWORK Tom Rini
` (3 preceding siblings ...)
2014-01-30 21:31 ` [U-Boot] [PATCH v2 5/8] cmd_mmc.c: Rename 'bootpart' to 'bootpart-resize' Tom Rini
@ 2014-01-30 21:31 ` Tom Rini
2014-02-04 0:58 ` Jaehoon Chung
2014-01-30 21:31 ` [U-Boot] [PATCH v2 7/8] cmd_mmc.c: Add bootbus mmc sub-command Tom Rini
2014-01-30 21:32 ` [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands Tom Rini
6 siblings, 1 reply; 23+ messages in thread
From: Tom Rini @ 2014-01-30 21:31 UTC (permalink / raw)
To: u-boot
Add a partconf sub-command to the mmc command to allow for setting
the boot_ack, boot_partition and partition_access fields of
PARTITION_CONFIG (formerly BOOT_CONFIG, EXT_CSD[179]). Part of this
requires changing the check for 'part' from an strncmp to a strcmp, like
the rest of the sub-commands.
Cc: Andy Fleming <afleming@gmail.com>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Tom Rini <trini@ti.com>
---
common/cmd_mmc.c | 30 +++++++++++++++++++++++++++++-
drivers/mmc/mmc.c | 21 +++++++++++++++++++++
include/mmc.h | 2 ++
3 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index a322063..5842e85 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -195,7 +195,7 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return 1;
else
return 0;
- } else if (strncmp(argv[1], "part", 4) == 0) {
+ } else if (strcmp(argv[1], "part") == 0) {
block_dev_desc_t *mmc_dev;
struct mmc *mmc;
@@ -311,7 +311,33 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
/* acknowledge to be sent during boot operation */
return boot_part_access(mmc, 1, part_num, access);
+ } else if (strcmp(argv[1], "partconf") == 0) {
+ int dev;
+ struct mmc *mmc;
+ u8 ack, part_num, access;
+
+ if (argc == 6) {
+ dev = simple_strtoul(argv[2], NULL, 10);
+ ack = simple_strtoul(argv[3], NULL, 10);
+ part_num = simple_strtoul(argv[4], NULL, 10);
+ access = simple_strtoul(argv[5], NULL, 10);
+ } else {
+ return CMD_RET_USAGE;
+ }
+
+ mmc = find_mmc_device(dev);
+ if (!mmc) {
+ printf("no mmc device at slot %x\n", dev);
+ return 1;
+ }
+ if (IS_SD(mmc)) {
+ puts("PARTITION_CONFIG only exists on eMMC\n");
+ return 1;
+ }
+
+ /* acknowledge to be sent during boot operation */
+ return mmc_set_part_conf(mmc, ack, part_num, access);
} else if (strcmp(argv[1], "bootpart-resize") == 0) {
int dev;
struct mmc *mmc;
@@ -451,6 +477,8 @@ U_BOOT_CMD(
" - Enable boot_part for booting and disable access to boot_part\n"
"mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
" - Change sizes of boot and RPMB partitions of specified device\n"
+ "mmc partconf dev boot_ack boot_partition partition_access\n"
+ " - Change the bits of the PARTITION_CONFIG field of the specified device\n"
#endif
"mmc setdsr - set DSR register value\n"
);
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index c6a1c23..1591fce 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1505,4 +1505,25 @@ int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
}
return 0;
}
+
+/*
+ * Modify EXT_CSD[179] which is PARTITION_CONFIG (formerly BOOT_CONFIG)
+ * based on the passed in values for BOOT_ACK, BOOT_PARTITION_ENABLE and
+ * PARTITION_ACCESS.
+ *
+ * Returns 0 on success.
+ */
+int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
+{
+ int err;
+
+ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF,
+ EXT_CSD_BOOT_ACK(ack) |
+ EXT_CSD_BOOT_PART_NUM(part_num) |
+ EXT_CSD_PARTITION_ACCESS(access));
+
+ if (err)
+ return err;
+ return 0;
+}
#endif
diff --git a/include/mmc.h b/include/mmc.h
index e1060b9..7e026da 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -312,6 +312,8 @@ int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
unsigned long rpmbsize);
/* Function to send commands to open/close the specified boot partition */
int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
+/* Function to modify the PARTITION_CONFIG field of EXT_CSD */
+int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
/**
* Start device initialization and return immediately; it does not block on
--
1.7.9.5
^ permalink raw reply related [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 6/8] cmd_mmc.c: Add 'partconf' command to mmc
2014-01-30 21:31 ` [U-Boot] [PATCH v2 6/8] cmd_mmc.c: Add 'partconf' command to mmc Tom Rini
@ 2014-02-04 0:58 ` Jaehoon Chung
2014-02-05 13:03 ` Tom Rini
0 siblings, 1 reply; 23+ messages in thread
From: Jaehoon Chung @ 2014-02-04 0:58 UTC (permalink / raw)
To: u-boot
On 01/31/2014 06:31 AM, Tom Rini wrote:
> Add a partconf sub-command to the mmc command to allow for setting
> the boot_ack, boot_partition and partition_access fields of
> PARTITION_CONFIG (formerly BOOT_CONFIG, EXT_CSD[179]). Part of this
> requires changing the check for 'part' from an strncmp to a strcmp, like
> the rest of the sub-commands.
>
> Cc: Andy Fleming <afleming@gmail.com>
> Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
> common/cmd_mmc.c | 30 +++++++++++++++++++++++++++++-
> drivers/mmc/mmc.c | 21 +++++++++++++++++++++
> include/mmc.h | 2 ++
> 3 files changed, 52 insertions(+), 1 deletion(-)
>
> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
> index a322063..5842e85 100644
> --- a/common/cmd_mmc.c
> +++ b/common/cmd_mmc.c
> @@ -195,7 +195,7 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> return 1;
> else
> return 0;
> - } else if (strncmp(argv[1], "part", 4) == 0) {
> + } else if (strcmp(argv[1], "part") == 0) {
> block_dev_desc_t *mmc_dev;
> struct mmc *mmc;
>
> @@ -311,7 +311,33 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>
> /* acknowledge to be sent during boot operation */
> return boot_part_access(mmc, 1, part_num, access);
> + } else if (strcmp(argv[1], "partconf") == 0) {
> + int dev;
> + struct mmc *mmc;
> + u8 ack, part_num, access;
> +
> + if (argc == 6) {
> + dev = simple_strtoul(argv[2], NULL, 10);
> + ack = simple_strtoul(argv[3], NULL, 10);
> + part_num = simple_strtoul(argv[4], NULL, 10);
> + access = simple_strtoul(argv[5], NULL, 10);
> + } else {
> + return CMD_RET_USAGE;
> + }
> +
> + mmc = find_mmc_device(dev);
> + if (!mmc) {
> + printf("no mmc device at slot %x\n", dev);
> + return 1;
> + }
>
> + if (IS_SD(mmc)) {
> + puts("PARTITION_CONFIG only exists on eMMC\n");
> + return 1;
> + }
> +
> + /* acknowledge to be sent during boot operation */
> + return mmc_set_part_conf(mmc, ack, part_num, access);
> } else if (strcmp(argv[1], "bootpart-resize") == 0) {
> int dev;
> struct mmc *mmc;
> @@ -451,6 +477,8 @@ U_BOOT_CMD(
> " - Enable boot_part for booting and disable access to boot_part\n"
> "mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
> " - Change sizes of boot and RPMB partitions of specified device\n"
> + "mmc partconf dev boot_ack boot_partition partition_access\n"
How about using bracket("< >") for more readable?
mmc partconf <dev> <boot_ack> <boot_partition> <partition_access>
Anyway, looks good to me.
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
> + " - Change the bits of the PARTITION_CONFIG field of the specified device\n"
> #endif
> "mmc setdsr - set DSR register value\n"
> );
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index c6a1c23..1591fce 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -1505,4 +1505,25 @@ int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
> }
> return 0;
> }
> +
> +/*
> + * Modify EXT_CSD[179] which is PARTITION_CONFIG (formerly BOOT_CONFIG)
> + * based on the passed in values for BOOT_ACK, BOOT_PARTITION_ENABLE and
> + * PARTITION_ACCESS.
> + *
> + * Returns 0 on success.
> + */
> +int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
> +{
> + int err;
> +
> + err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF,
> + EXT_CSD_BOOT_ACK(ack) |
> + EXT_CSD_BOOT_PART_NUM(part_num) |
> + EXT_CSD_PARTITION_ACCESS(access));
> +
> + if (err)
> + return err;
> + return 0;
> +}
> #endif
> diff --git a/include/mmc.h b/include/mmc.h
> index e1060b9..7e026da 100644
> --- a/include/mmc.h
> +++ b/include/mmc.h
> @@ -312,6 +312,8 @@ int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
> unsigned long rpmbsize);
> /* Function to send commands to open/close the specified boot partition */
> int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
> +/* Function to modify the PARTITION_CONFIG field of EXT_CSD */
> +int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
>
> /**
> * Start device initialization and return immediately; it does not block on
>
^ permalink raw reply [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 6/8] cmd_mmc.c: Add 'partconf' command to mmc
2014-02-04 0:58 ` Jaehoon Chung
@ 2014-02-05 13:03 ` Tom Rini
2014-02-06 4:48 ` Jaehoon Chung
0 siblings, 1 reply; 23+ messages in thread
From: Tom Rini @ 2014-02-05 13:03 UTC (permalink / raw)
To: u-boot
On Tue, Feb 04, 2014 at 09:58:06AM +0900, Jaehoon Chung wrote:
> On 01/31/2014 06:31 AM, Tom Rini wrote:
> > Add a partconf sub-command to the mmc command to allow for setting
> > the boot_ack, boot_partition and partition_access fields of
> > PARTITION_CONFIG (formerly BOOT_CONFIG, EXT_CSD[179]). Part of this
> > requires changing the check for 'part' from an strncmp to a strcmp, like
> > the rest of the sub-commands.
[snip]
> > @@ -451,6 +477,8 @@ U_BOOT_CMD(
> > " - Enable boot_part for booting and disable access to boot_part\n"
> > "mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
> > " - Change sizes of boot and RPMB partitions of specified device\n"
> > + "mmc partconf dev boot_ack boot_partition partition_access\n"
>
> How about using bracket("< >") for more readable?
> mmc partconf <dev> <boot_ack> <boot_partition> <partition_access>
Except for bootpart-resize the rest of the mmc commands (and most in
general) don't use "< >" around required parameters unless it's part of
some sub-choices (such as spl export <img=atags|fdt> ...).
> Anyway, looks good to me.
Thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140205/c34a4ef1/attachment.pgp>
^ permalink raw reply [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 6/8] cmd_mmc.c: Add 'partconf' command to mmc
2014-02-05 13:03 ` Tom Rini
@ 2014-02-06 4:48 ` Jaehoon Chung
0 siblings, 0 replies; 23+ messages in thread
From: Jaehoon Chung @ 2014-02-06 4:48 UTC (permalink / raw)
To: u-boot
Dear, Tom.
On 02/05/2014 10:03 PM, Tom Rini wrote:
> On Tue, Feb 04, 2014 at 09:58:06AM +0900, Jaehoon Chung wrote:
>> On 01/31/2014 06:31 AM, Tom Rini wrote:
>>> Add a partconf sub-command to the mmc command to allow for setting
>>> the boot_ack, boot_partition and partition_access fields of
>>> PARTITION_CONFIG (formerly BOOT_CONFIG, EXT_CSD[179]). Part of this
>>> requires changing the check for 'part' from an strncmp to a strcmp, like
>>> the rest of the sub-commands.
> [snip]
>>> @@ -451,6 +477,8 @@ U_BOOT_CMD(
>>> " - Enable boot_part for booting and disable access to boot_part\n"
>>> "mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
>>> " - Change sizes of boot and RPMB partitions of specified device\n"
>>> + "mmc partconf dev boot_ack boot_partition partition_access\n"
>>
>> How about using bracket("< >") for more readable?
>> mmc partconf <dev> <boot_ack> <boot_partition> <partition_access>
>
> Except for bootpart-resize the rest of the mmc commands (and most in
> general) don't use "< >" around required parameters unless it's part of
> some sub-choices (such as spl export <img=atags|fdt> ...).
Thanks for explanation.
Best Regards,
Jaehoon Chung.
>
>> Anyway, looks good to me.
>
> Thanks!
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 7/8] cmd_mmc.c: Add bootbus mmc sub-command
2014-01-30 21:31 [U-Boot] [PATCH v2 1/8] SPL: Add CONFIG_SUPPORT_EMMC_BOOT support to CONFIG_SPL_FRAMEWORK Tom Rini
` (4 preceding siblings ...)
2014-01-30 21:31 ` [U-Boot] [PATCH v2 6/8] cmd_mmc.c: Add 'partconf' command to mmc Tom Rini
@ 2014-01-30 21:31 ` Tom Rini
2014-02-04 0:59 ` Jaehoon Chung
2014-04-18 9:25 ` Michael Trimarchi
2014-01-30 21:32 ` [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands Tom Rini
6 siblings, 2 replies; 23+ messages in thread
From: Tom Rini @ 2014-01-30 21:31 UTC (permalink / raw)
To: u-boot
Add a bootbus sub-command to the mmc command to allow for setting
the boot_bus_width, reset_boot_bus_width and boot_mode fields of
BOOT_BUS_WIDTH (EXT_CSD[177]).
Signed-off-by: Tom Rini <trini@ti.com>
---
common/cmd_mmc.c | 29 +++++++++++++++++++++++++++++
drivers/mmc/mmc.c | 21 +++++++++++++++++++++
include/mmc.h | 5 +++++
3 files changed, 55 insertions(+)
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index 5842e85..a028149 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -338,6 +338,33 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
/* acknowledge to be sent during boot operation */
return mmc_set_part_conf(mmc, ack, part_num, access);
+ } else if (strcmp(argv[1], "bootbus") == 0) {
+ int dev;
+ struct mmc *mmc;
+ u8 width, reset, mode;
+
+ if (argc == 6) {
+ dev = simple_strtoul(argv[2], NULL, 10);
+ width = simple_strtoul(argv[3], NULL, 10);
+ reset = simple_strtoul(argv[4], NULL, 10);
+ mode = simple_strtoul(argv[5], NULL, 10);
+ } else {
+ return CMD_RET_USAGE;
+ }
+
+ mmc = find_mmc_device(dev);
+ if (!mmc) {
+ printf("no mmc device at slot %x\n", dev);
+ return 1;
+ }
+
+ if (IS_SD(mmc)) {
+ puts("BOOT_BUS_WIDTH only exists on eMMC\n");
+ return 1;
+ }
+
+ /* acknowledge to be sent during boot operation */
+ return mmc_set_boot_bus_width(mmc, width, reset, mode);
} else if (strcmp(argv[1], "bootpart-resize") == 0) {
int dev;
struct mmc *mmc;
@@ -475,6 +502,8 @@ U_BOOT_CMD(
" - Enable boot_part for booting and enable R/W access of boot_part\n"
"mmc close <dev> <boot_partition>\n"
" - Enable boot_part for booting and disable access to boot_part\n"
+ "mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode\n"
+ " - Set the BOOT_BUS_WIDTH field of the specified device\n"
"mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
" - Change sizes of boot and RPMB partitions of specified device\n"
"mmc partconf dev boot_ack boot_partition partition_access\n"
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 1591fce..fc1c1dc 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1507,6 +1507,27 @@ int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
}
/*
+ * Modify EXT_CSD[177] which is BOOT_BUS_WIDTH
+ * based on the passed in values for BOOT_BUS_WIDTH, RESET_BOOT_BUS_WIDTH
+ * and BOOT_MODE.
+ *
+ * Returns 0 on success.
+ */
+int mmc_set_boot_bus_width(struct mmc *mmc, u8 width, u8 reset, u8 mode)
+{
+ int err;
+
+ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BOOT_BUS_WIDTH,
+ EXT_CSD_BOOT_BUS_WIDTH_MODE(mode) |
+ EXT_CSD_BOOT_BUS_WIDTH_RESET(reset) |
+ EXT_CSD_BOOT_BUS_WIDTH_WIDTH(width));
+
+ if (err)
+ return err;
+ return 0;
+}
+
+/*
* Modify EXT_CSD[179] which is PARTITION_CONFIG (formerly BOOT_CONFIG)
* based on the passed in values for BOOT_ACK, BOOT_PARTITION_ENABLE and
* PARTITION_ACCESS.
diff --git a/include/mmc.h b/include/mmc.h
index 7e026da..3594286 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -187,6 +187,9 @@
#define EXT_CSD_BOOT_PART_NUM(x) (x << 3)
#define EXT_CSD_PARTITION_ACCESS(x) (x << 0)
+#define EXT_CSD_BOOT_BUS_WIDTH_MODE(x) (x << 3)
+#define EXT_CSD_BOOT_BUS_WIDTH_RESET(x) (x << 2)
+#define EXT_CSD_BOOT_BUS_WIDTH_WIDTH(x) (x)
#define R1_ILLEGAL_COMMAND (1 << 22)
#define R1_APP_CMD (1 << 5)
@@ -314,6 +317,8 @@ int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
/* Function to modify the PARTITION_CONFIG field of EXT_CSD */
int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
+/* Function to modify the BOOT_BUS_WIDTH field of EXT_CSD */
+int mmc_set_boot_bus_width(struct mmc *mmc, u8 width, u8 reset, u8 mode);
/**
* Start device initialization and return immediately; it does not block on
--
1.7.9.5
^ permalink raw reply related [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 7/8] cmd_mmc.c: Add bootbus mmc sub-command
2014-01-30 21:31 ` [U-Boot] [PATCH v2 7/8] cmd_mmc.c: Add bootbus mmc sub-command Tom Rini
@ 2014-02-04 0:59 ` Jaehoon Chung
2014-04-18 9:25 ` Michael Trimarchi
1 sibling, 0 replies; 23+ messages in thread
From: Jaehoon Chung @ 2014-02-04 0:59 UTC (permalink / raw)
To: u-boot
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
On 01/31/2014 06:31 AM, Tom Rini wrote:
> Add a bootbus sub-command to the mmc command to allow for setting
> the boot_bus_width, reset_boot_bus_width and boot_mode fields of
> BOOT_BUS_WIDTH (EXT_CSD[177]).
>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
> common/cmd_mmc.c | 29 +++++++++++++++++++++++++++++
> drivers/mmc/mmc.c | 21 +++++++++++++++++++++
> include/mmc.h | 5 +++++
> 3 files changed, 55 insertions(+)
>
> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
> index 5842e85..a028149 100644
> --- a/common/cmd_mmc.c
> +++ b/common/cmd_mmc.c
> @@ -338,6 +338,33 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>
> /* acknowledge to be sent during boot operation */
> return mmc_set_part_conf(mmc, ack, part_num, access);
> + } else if (strcmp(argv[1], "bootbus") == 0) {
> + int dev;
> + struct mmc *mmc;
> + u8 width, reset, mode;
> +
> + if (argc == 6) {
> + dev = simple_strtoul(argv[2], NULL, 10);
> + width = simple_strtoul(argv[3], NULL, 10);
> + reset = simple_strtoul(argv[4], NULL, 10);
> + mode = simple_strtoul(argv[5], NULL, 10);
> + } else {
> + return CMD_RET_USAGE;
> + }
> +
> + mmc = find_mmc_device(dev);
> + if (!mmc) {
> + printf("no mmc device at slot %x\n", dev);
> + return 1;
> + }
> +
> + if (IS_SD(mmc)) {
> + puts("BOOT_BUS_WIDTH only exists on eMMC\n");
> + return 1;
> + }
> +
> + /* acknowledge to be sent during boot operation */
> + return mmc_set_boot_bus_width(mmc, width, reset, mode);
> } else if (strcmp(argv[1], "bootpart-resize") == 0) {
> int dev;
> struct mmc *mmc;
> @@ -475,6 +502,8 @@ U_BOOT_CMD(
> " - Enable boot_part for booting and enable R/W access of boot_part\n"
> "mmc close <dev> <boot_partition>\n"
> " - Enable boot_part for booting and disable access to boot_part\n"
> + "mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode\n"
> + " - Set the BOOT_BUS_WIDTH field of the specified device\n"
> "mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
> " - Change sizes of boot and RPMB partitions of specified device\n"
> "mmc partconf dev boot_ack boot_partition partition_access\n"
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index 1591fce..fc1c1dc 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -1507,6 +1507,27 @@ int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
> }
>
> /*
> + * Modify EXT_CSD[177] which is BOOT_BUS_WIDTH
> + * based on the passed in values for BOOT_BUS_WIDTH, RESET_BOOT_BUS_WIDTH
> + * and BOOT_MODE.
> + *
> + * Returns 0 on success.
> + */
> +int mmc_set_boot_bus_width(struct mmc *mmc, u8 width, u8 reset, u8 mode)
> +{
> + int err;
> +
> + err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BOOT_BUS_WIDTH,
> + EXT_CSD_BOOT_BUS_WIDTH_MODE(mode) |
> + EXT_CSD_BOOT_BUS_WIDTH_RESET(reset) |
> + EXT_CSD_BOOT_BUS_WIDTH_WIDTH(width));
> +
> + if (err)
> + return err;
> + return 0;
> +}
> +
> +/*
> * Modify EXT_CSD[179] which is PARTITION_CONFIG (formerly BOOT_CONFIG)
> * based on the passed in values for BOOT_ACK, BOOT_PARTITION_ENABLE and
> * PARTITION_ACCESS.
> diff --git a/include/mmc.h b/include/mmc.h
> index 7e026da..3594286 100644
> --- a/include/mmc.h
> +++ b/include/mmc.h
> @@ -187,6 +187,9 @@
> #define EXT_CSD_BOOT_PART_NUM(x) (x << 3)
> #define EXT_CSD_PARTITION_ACCESS(x) (x << 0)
>
> +#define EXT_CSD_BOOT_BUS_WIDTH_MODE(x) (x << 3)
> +#define EXT_CSD_BOOT_BUS_WIDTH_RESET(x) (x << 2)
> +#define EXT_CSD_BOOT_BUS_WIDTH_WIDTH(x) (x)
>
> #define R1_ILLEGAL_COMMAND (1 << 22)
> #define R1_APP_CMD (1 << 5)
> @@ -314,6 +317,8 @@ int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
> int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
> /* Function to modify the PARTITION_CONFIG field of EXT_CSD */
> int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
> +/* Function to modify the BOOT_BUS_WIDTH field of EXT_CSD */
> +int mmc_set_boot_bus_width(struct mmc *mmc, u8 width, u8 reset, u8 mode);
>
> /**
> * Start device initialization and return immediately; it does not block on
>
^ permalink raw reply [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 7/8] cmd_mmc.c: Add bootbus mmc sub-command
2014-01-30 21:31 ` [U-Boot] [PATCH v2 7/8] cmd_mmc.c: Add bootbus mmc sub-command Tom Rini
2014-02-04 0:59 ` Jaehoon Chung
@ 2014-04-18 9:25 ` Michael Trimarchi
2014-04-22 15:41 ` Tom Rini
1 sibling, 1 reply; 23+ messages in thread
From: Michael Trimarchi @ 2014-04-18 9:25 UTC (permalink / raw)
To: u-boot
Hi Tom
On Thu, Jan 30, 2014 at 10:31 PM, Tom Rini <trini@ti.com> wrote:
> Add a bootbus sub-command to the mmc command to allow for setting
> the boot_bus_width, reset_boot_bus_width and boot_mode fields of
> BOOT_BUS_WIDTH (EXT_CSD[177]).
>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
Can I ask if does it work even for OMAP4 device?
So can I flash on boot0 and let omap4 bootrom to load from that?
Michael
> common/cmd_mmc.c | 29 +++++++++++++++++++++++++++++
> drivers/mmc/mmc.c | 21 +++++++++++++++++++++
> include/mmc.h | 5 +++++
> 3 files changed, 55 insertions(+)
>
> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
> index 5842e85..a028149 100644
> --- a/common/cmd_mmc.c
> +++ b/common/cmd_mmc.c
> @@ -338,6 +338,33 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>
> /* acknowledge to be sent during boot operation */
> return mmc_set_part_conf(mmc, ack, part_num, access);
> + } else if (strcmp(argv[1], "bootbus") == 0) {
> + int dev;
> + struct mmc *mmc;
> + u8 width, reset, mode;
> +
> + if (argc == 6) {
> + dev = simple_strtoul(argv[2], NULL, 10);
> + width = simple_strtoul(argv[3], NULL, 10);
> + reset = simple_strtoul(argv[4], NULL, 10);
> + mode = simple_strtoul(argv[5], NULL, 10);
> + } else {
> + return CMD_RET_USAGE;
> + }
> +
> + mmc = find_mmc_device(dev);
> + if (!mmc) {
> + printf("no mmc device at slot %x\n", dev);
> + return 1;
> + }
> +
> + if (IS_SD(mmc)) {
> + puts("BOOT_BUS_WIDTH only exists on eMMC\n");
> + return 1;
> + }
> +
> + /* acknowledge to be sent during boot operation */
> + return mmc_set_boot_bus_width(mmc, width, reset, mode);
> } else if (strcmp(argv[1], "bootpart-resize") == 0) {
> int dev;
> struct mmc *mmc;
> @@ -475,6 +502,8 @@ U_BOOT_CMD(
> " - Enable boot_part for booting and enable R/W access of boot_part\n"
> "mmc close <dev> <boot_partition>\n"
> " - Enable boot_part for booting and disable access to boot_part\n"
> + "mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode\n"
> + " - Set the BOOT_BUS_WIDTH field of the specified device\n"
> "mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
> " - Change sizes of boot and RPMB partitions of specified device\n"
> "mmc partconf dev boot_ack boot_partition partition_access\n"
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index 1591fce..fc1c1dc 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -1507,6 +1507,27 @@ int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
> }
>
> /*
> + * Modify EXT_CSD[177] which is BOOT_BUS_WIDTH
> + * based on the passed in values for BOOT_BUS_WIDTH, RESET_BOOT_BUS_WIDTH
> + * and BOOT_MODE.
> + *
> + * Returns 0 on success.
> + */
> +int mmc_set_boot_bus_width(struct mmc *mmc, u8 width, u8 reset, u8 mode)
> +{
> + int err;
> +
> + err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BOOT_BUS_WIDTH,
> + EXT_CSD_BOOT_BUS_WIDTH_MODE(mode) |
> + EXT_CSD_BOOT_BUS_WIDTH_RESET(reset) |
> + EXT_CSD_BOOT_BUS_WIDTH_WIDTH(width));
> +
> + if (err)
> + return err;
> + return 0;
> +}
> +
> +/*
> * Modify EXT_CSD[179] which is PARTITION_CONFIG (formerly BOOT_CONFIG)
> * based on the passed in values for BOOT_ACK, BOOT_PARTITION_ENABLE and
> * PARTITION_ACCESS.
> diff --git a/include/mmc.h b/include/mmc.h
> index 7e026da..3594286 100644
> --- a/include/mmc.h
> +++ b/include/mmc.h
> @@ -187,6 +187,9 @@
> #define EXT_CSD_BOOT_PART_NUM(x) (x << 3)
> #define EXT_CSD_PARTITION_ACCESS(x) (x << 0)
>
> +#define EXT_CSD_BOOT_BUS_WIDTH_MODE(x) (x << 3)
> +#define EXT_CSD_BOOT_BUS_WIDTH_RESET(x) (x << 2)
> +#define EXT_CSD_BOOT_BUS_WIDTH_WIDTH(x) (x)
>
> #define R1_ILLEGAL_COMMAND (1 << 22)
> #define R1_APP_CMD (1 << 5)
> @@ -314,6 +317,8 @@ int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
> int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
> /* Function to modify the PARTITION_CONFIG field of EXT_CSD */
> int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
> +/* Function to modify the BOOT_BUS_WIDTH field of EXT_CSD */
> +int mmc_set_boot_bus_width(struct mmc *mmc, u8 width, u8 reset, u8 mode);
>
> /**
> * Start device initialization and return immediately; it does not block on
> --
> 1.7.9.5
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
^ permalink raw reply [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 7/8] cmd_mmc.c: Add bootbus mmc sub-command
2014-04-18 9:25 ` Michael Trimarchi
@ 2014-04-22 15:41 ` Tom Rini
0 siblings, 0 replies; 23+ messages in thread
From: Tom Rini @ 2014-04-22 15:41 UTC (permalink / raw)
To: u-boot
On Fri, Apr 18, 2014 at 11:25:23AM +0200, Michael Trimarchi wrote:
> Hi Tom
>
> On Thu, Jan 30, 2014 at 10:31 PM, Tom Rini <trini@ti.com> wrote:
> > Add a bootbus sub-command to the mmc command to allow for setting
> > the boot_bus_width, reset_boot_bus_width and boot_mode fields of
> > BOOT_BUS_WIDTH (EXT_CSD[177]).
> >
> > Signed-off-by: Tom Rini <trini@ti.com>
> > ---
>
> Can I ask if does it work even for OMAP4 device?
> So can I flash on boot0 and let omap4 bootrom to load from that?
In theory, yes. I don't have hardware around in that exact setup, but
if the OMAP4 TRM talks about booting from the boot partition then yes,
this should let you set all the right bits.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140422/c88f120f/attachment.pgp>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands
2014-01-30 21:31 [U-Boot] [PATCH v2 1/8] SPL: Add CONFIG_SUPPORT_EMMC_BOOT support to CONFIG_SPL_FRAMEWORK Tom Rini
` (5 preceding siblings ...)
2014-01-30 21:31 ` [U-Boot] [PATCH v2 7/8] cmd_mmc.c: Add bootbus mmc sub-command Tom Rini
@ 2014-01-30 21:32 ` Tom Rini
2014-02-04 0:51 ` Jaehoon Chung
` (2 more replies)
6 siblings, 3 replies; 23+ messages in thread
From: Tom Rini @ 2014-01-30 21:32 UTC (permalink / raw)
To: u-boot
The open and close mmc sub-commands implement a hard-coded set of values
specific to the SMDK5250 platform. Remove these commands as what they
did can be done instead with a series of mmc dev / bootpart / bootbus
commands instead now.
Cc: Amar <amarendra.xt@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Tom Rini <trini@ti.com>
---
common/cmd_mmc.c | 72 -----------------------------------------------------
drivers/mmc/mmc.c | 65 -----------------------------------------------
include/mmc.h | 2 --
3 files changed, 139 deletions(-)
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index a028149..2d51927 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -131,36 +131,6 @@ U_BOOT_CMD(
"- display info of the current MMC device"
);
-#ifdef CONFIG_SUPPORT_EMMC_BOOT
-static int boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
-{
- int err;
- err = mmc_boot_part_access(mmc, ack, part_num, access);
-
- if ((err == 0) && (access != 0)) {
- printf("\t\t\t!!!Notice!!!\n");
-
- printf("!You must close EMMC boot Partition");
- printf("after all images are written\n");
-
- printf("!EMMC boot partition has continuity");
- printf("at image writing time.\n");
-
- printf("!So, do not close the boot partition");
- printf("before all images are written.\n");
- return 0;
- } else if ((err == 0) && (access == 0))
- return 0;
- else if ((err != 0) && (access != 0)) {
- printf("EMMC boot partition-%d OPEN Failed.\n", part_num);
- return 1;
- } else {
- printf("EMMC boot partition-%d CLOSE Failed.\n", part_num);
- return 1;
- }
-}
-#endif
-
static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
enum mmc_state state;
@@ -273,44 +243,6 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return 0;
#ifdef CONFIG_SUPPORT_EMMC_BOOT
- } else if ((strcmp(argv[1], "open") == 0) ||
- (strcmp(argv[1], "close") == 0)) {
- int dev;
- struct mmc *mmc;
- u8 part_num, access = 0;
-
- if (argc == 4) {
- dev = simple_strtoul(argv[2], NULL, 10);
- part_num = simple_strtoul(argv[3], NULL, 10);
- } else {
- return CMD_RET_USAGE;
- }
-
- mmc = find_mmc_device(dev);
- if (!mmc) {
- printf("no mmc device at slot %x\n", dev);
- return 1;
- }
-
- if (IS_SD(mmc)) {
- printf("SD device cannot be opened/closed\n");
- return 1;
- }
-
- if ((part_num <= 0) || (part_num > MMC_NUM_BOOT_PARTITION)) {
- printf("Invalid boot partition number:\n");
- printf("Boot partition number cannot be <= 0\n");
- printf("EMMC44 supports only 2 boot partitions\n");
- return 1;
- }
-
- if (strcmp(argv[1], "open") == 0)
- access = part_num; /* enable R/W access to boot part*/
- else
- access = 0; /* No access to boot partition */
-
- /* acknowledge to be sent during boot operation */
- return boot_part_access(mmc, 1, part_num, access);
} else if (strcmp(argv[1], "partconf") == 0) {
int dev;
struct mmc *mmc;
@@ -498,10 +430,6 @@ U_BOOT_CMD(
"mmc dev [dev] [part] - show or set current mmc device [partition]\n"
"mmc list - lists available devices\n"
#ifdef CONFIG_SUPPORT_EMMC_BOOT
- "mmc open <dev> <boot_partition>\n"
- " - Enable boot_part for booting and enable R/W access of boot_part\n"
- "mmc close <dev> <boot_partition>\n"
- " - Enable boot_part for booting and disable access to boot_part\n"
"mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode\n"
" - Set the BOOT_BUS_WIDTH field of the specified device\n"
"mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index fc1c1dc..3a57ab8 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1442,71 +1442,6 @@ int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
}
/*
- * This function shall form and send the commands to open / close the
- * boot partition specified by user.
- *
- * Input Parameters:
- * ack: 0x0 - No boot acknowledge sent (default)
- * 0x1 - Boot acknowledge sent during boot operation
- * part_num: User selects boot data that will be sent to master
- * 0x0 - Device not boot enabled (default)
- * 0x1 - Boot partition 1 enabled for boot
- * 0x2 - Boot partition 2 enabled for boot
- * access: User selects partitions to access
- * 0x0 : No access to boot partition (default)
- * 0x1 : R/W boot partition 1
- * 0x2 : R/W boot partition 2
- * 0x3 : R/W Replay Protected Memory Block (RPMB)
- *
- * Returns 0 on success.
- */
-int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
-{
- int err;
- struct mmc_cmd cmd;
-
- /* Boot ack enable, boot partition enable , boot partition access */
- cmd.cmdidx = MMC_CMD_SWITCH;
- cmd.resp_type = MMC_RSP_R1b;
-
- cmd.cmdarg = (MMC_SWITCH_MODE_WRITE_BYTE << 24) |
- (EXT_CSD_PART_CONF << 16) |
- ((EXT_CSD_BOOT_ACK(ack) |
- EXT_CSD_BOOT_PART_NUM(part_num) |
- EXT_CSD_PARTITION_ACCESS(access)) << 8);
-
- err = mmc_send_cmd(mmc, &cmd, NULL);
- if (err) {
- if (access) {
- debug("mmc boot partition#%d open fail:Error1 = %d\n",
- part_num, err);
- } else {
- debug("mmc boot partition#%d close fail:Error = %d\n",
- part_num, err);
- }
- return err;
- }
-
- if (access) {
- /* 4bit transfer mode@booting time. */
- cmd.cmdidx = MMC_CMD_SWITCH;
- cmd.resp_type = MMC_RSP_R1b;
-
- cmd.cmdarg = (MMC_SWITCH_MODE_WRITE_BYTE << 24) |
- (EXT_CSD_BOOT_BUS_WIDTH << 16) |
- ((1 << 0) << 8);
-
- err = mmc_send_cmd(mmc, &cmd, NULL);
- if (err) {
- debug("mmc boot partition#%d open fail:Error2 = %d\n",
- part_num, err);
- return err;
- }
- }
- return 0;
-}
-
-/*
* Modify EXT_CSD[177] which is BOOT_BUS_WIDTH
* based on the passed in values for BOOT_BUS_WIDTH, RESET_BOOT_BUS_WIDTH
* and BOOT_MODE.
diff --git a/include/mmc.h b/include/mmc.h
index 3594286..e95a237 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -313,8 +313,6 @@ int mmc_set_dsr(struct mmc *mmc, u16 val);
/* Function to change the size of boot partition and rpmb partitions */
int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
unsigned long rpmbsize);
-/* Function to send commands to open/close the specified boot partition */
-int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
/* Function to modify the PARTITION_CONFIG field of EXT_CSD */
int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
/* Function to modify the BOOT_BUS_WIDTH field of EXT_CSD */
--
1.7.9.5
^ permalink raw reply related [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands
2014-01-30 21:32 ` [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands Tom Rini
@ 2014-02-04 0:51 ` Jaehoon Chung
2014-02-04 14:08 ` Otavio Salvador
2014-02-17 8:40 ` Lukasz Majewski
2 siblings, 0 replies; 23+ messages in thread
From: Jaehoon Chung @ 2014-02-04 0:51 UTC (permalink / raw)
To: u-boot
Looks good to me.
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Best Regards,
Jaehoon Chung
On 01/31/2014 06:32 AM, Tom Rini wrote:
> The open and close mmc sub-commands implement a hard-coded set of values
> specific to the SMDK5250 platform. Remove these commands as what they
> did can be done instead with a series of mmc dev / bootpart / bootbus
> commands instead now.
>
> Cc: Amar <amarendra.xt@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> Cc: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
> common/cmd_mmc.c | 72 -----------------------------------------------------
> drivers/mmc/mmc.c | 65 -----------------------------------------------
> include/mmc.h | 2 --
> 3 files changed, 139 deletions(-)
>
> diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
> index a028149..2d51927 100644
> --- a/common/cmd_mmc.c
> +++ b/common/cmd_mmc.c
> @@ -131,36 +131,6 @@ U_BOOT_CMD(
> "- display info of the current MMC device"
> );
>
> -#ifdef CONFIG_SUPPORT_EMMC_BOOT
> -static int boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
> -{
> - int err;
> - err = mmc_boot_part_access(mmc, ack, part_num, access);
> -
> - if ((err == 0) && (access != 0)) {
> - printf("\t\t\t!!!Notice!!!\n");
> -
> - printf("!You must close EMMC boot Partition");
> - printf("after all images are written\n");
> -
> - printf("!EMMC boot partition has continuity");
> - printf("at image writing time.\n");
> -
> - printf("!So, do not close the boot partition");
> - printf("before all images are written.\n");
> - return 0;
> - } else if ((err == 0) && (access == 0))
> - return 0;
> - else if ((err != 0) && (access != 0)) {
> - printf("EMMC boot partition-%d OPEN Failed.\n", part_num);
> - return 1;
> - } else {
> - printf("EMMC boot partition-%d CLOSE Failed.\n", part_num);
> - return 1;
> - }
> -}
> -#endif
> -
> static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> {
> enum mmc_state state;
> @@ -273,44 +243,6 @@ static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>
> return 0;
> #ifdef CONFIG_SUPPORT_EMMC_BOOT
> - } else if ((strcmp(argv[1], "open") == 0) ||
> - (strcmp(argv[1], "close") == 0)) {
> - int dev;
> - struct mmc *mmc;
> - u8 part_num, access = 0;
> -
> - if (argc == 4) {
> - dev = simple_strtoul(argv[2], NULL, 10);
> - part_num = simple_strtoul(argv[3], NULL, 10);
> - } else {
> - return CMD_RET_USAGE;
> - }
> -
> - mmc = find_mmc_device(dev);
> - if (!mmc) {
> - printf("no mmc device at slot %x\n", dev);
> - return 1;
> - }
> -
> - if (IS_SD(mmc)) {
> - printf("SD device cannot be opened/closed\n");
> - return 1;
> - }
> -
> - if ((part_num <= 0) || (part_num > MMC_NUM_BOOT_PARTITION)) {
> - printf("Invalid boot partition number:\n");
> - printf("Boot partition number cannot be <= 0\n");
> - printf("EMMC44 supports only 2 boot partitions\n");
> - return 1;
> - }
> -
> - if (strcmp(argv[1], "open") == 0)
> - access = part_num; /* enable R/W access to boot part*/
> - else
> - access = 0; /* No access to boot partition */
> -
> - /* acknowledge to be sent during boot operation */
> - return boot_part_access(mmc, 1, part_num, access);
> } else if (strcmp(argv[1], "partconf") == 0) {
> int dev;
> struct mmc *mmc;
> @@ -498,10 +430,6 @@ U_BOOT_CMD(
> "mmc dev [dev] [part] - show or set current mmc device [partition]\n"
> "mmc list - lists available devices\n"
> #ifdef CONFIG_SUPPORT_EMMC_BOOT
> - "mmc open <dev> <boot_partition>\n"
> - " - Enable boot_part for booting and enable R/W access of boot_part\n"
> - "mmc close <dev> <boot_partition>\n"
> - " - Enable boot_part for booting and disable access to boot_part\n"
> "mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode\n"
> " - Set the BOOT_BUS_WIDTH field of the specified device\n"
> "mmc bootpart-resize <dev> <boot part size MB> <RPMB part size MB>\n"
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index fc1c1dc..3a57ab8 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -1442,71 +1442,6 @@ int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
> }
>
> /*
> - * This function shall form and send the commands to open / close the
> - * boot partition specified by user.
> - *
> - * Input Parameters:
> - * ack: 0x0 - No boot acknowledge sent (default)
> - * 0x1 - Boot acknowledge sent during boot operation
> - * part_num: User selects boot data that will be sent to master
> - * 0x0 - Device not boot enabled (default)
> - * 0x1 - Boot partition 1 enabled for boot
> - * 0x2 - Boot partition 2 enabled for boot
> - * access: User selects partitions to access
> - * 0x0 : No access to boot partition (default)
> - * 0x1 : R/W boot partition 1
> - * 0x2 : R/W boot partition 2
> - * 0x3 : R/W Replay Protected Memory Block (RPMB)
> - *
> - * Returns 0 on success.
> - */
> -int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access)
> -{
> - int err;
> - struct mmc_cmd cmd;
> -
> - /* Boot ack enable, boot partition enable , boot partition access */
> - cmd.cmdidx = MMC_CMD_SWITCH;
> - cmd.resp_type = MMC_RSP_R1b;
> -
> - cmd.cmdarg = (MMC_SWITCH_MODE_WRITE_BYTE << 24) |
> - (EXT_CSD_PART_CONF << 16) |
> - ((EXT_CSD_BOOT_ACK(ack) |
> - EXT_CSD_BOOT_PART_NUM(part_num) |
> - EXT_CSD_PARTITION_ACCESS(access)) << 8);
> -
> - err = mmc_send_cmd(mmc, &cmd, NULL);
> - if (err) {
> - if (access) {
> - debug("mmc boot partition#%d open fail:Error1 = %d\n",
> - part_num, err);
> - } else {
> - debug("mmc boot partition#%d close fail:Error = %d\n",
> - part_num, err);
> - }
> - return err;
> - }
> -
> - if (access) {
> - /* 4bit transfer mode at booting time. */
> - cmd.cmdidx = MMC_CMD_SWITCH;
> - cmd.resp_type = MMC_RSP_R1b;
> -
> - cmd.cmdarg = (MMC_SWITCH_MODE_WRITE_BYTE << 24) |
> - (EXT_CSD_BOOT_BUS_WIDTH << 16) |
> - ((1 << 0) << 8);
> -
> - err = mmc_send_cmd(mmc, &cmd, NULL);
> - if (err) {
> - debug("mmc boot partition#%d open fail:Error2 = %d\n",
> - part_num, err);
> - return err;
> - }
> - }
> - return 0;
> -}
> -
> -/*
> * Modify EXT_CSD[177] which is BOOT_BUS_WIDTH
> * based on the passed in values for BOOT_BUS_WIDTH, RESET_BOOT_BUS_WIDTH
> * and BOOT_MODE.
> diff --git a/include/mmc.h b/include/mmc.h
> index 3594286..e95a237 100644
> --- a/include/mmc.h
> +++ b/include/mmc.h
> @@ -313,8 +313,6 @@ int mmc_set_dsr(struct mmc *mmc, u16 val);
> /* Function to change the size of boot partition and rpmb partitions */
> int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize,
> unsigned long rpmbsize);
> -/* Function to send commands to open/close the specified boot partition */
> -int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
> /* Function to modify the PARTITION_CONFIG field of EXT_CSD */
> int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access);
> /* Function to modify the BOOT_BUS_WIDTH field of EXT_CSD */
>
^ permalink raw reply [flat|nested] 23+ messages in thread* [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands
2014-01-30 21:32 ` [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands Tom Rini
2014-02-04 0:51 ` Jaehoon Chung
@ 2014-02-04 14:08 ` Otavio Salvador
2014-02-04 14:11 ` Tom Rini
2014-02-04 14:15 ` Otavio Salvador
2014-02-17 8:40 ` Lukasz Majewski
2 siblings, 2 replies; 23+ messages in thread
From: Otavio Salvador @ 2014-02-04 14:08 UTC (permalink / raw)
To: u-boot
On Thu, Jan 30, 2014 at 7:32 PM, Tom Rini <trini@ti.com> wrote:
> The open and close mmc sub-commands implement a hard-coded set of values
> specific to the SMDK5250 platform. Remove these commands as what they
> did can be done instead with a series of mmc dev / bootpart / bootbus
> commands instead now.
Maybe it'd be good to document, in the commitlog the mmc commands equivalent.
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands
2014-02-04 14:08 ` Otavio Salvador
@ 2014-02-04 14:11 ` Tom Rini
2014-02-04 14:15 ` Otavio Salvador
1 sibling, 0 replies; 23+ messages in thread
From: Tom Rini @ 2014-02-04 14:11 UTC (permalink / raw)
To: u-boot
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 02/04/2014 09:08 AM, Otavio Salvador wrote:
> On Thu, Jan 30, 2014 at 7:32 PM, Tom Rini <trini@ti.com> wrote:
>> The open and close mmc sub-commands implement a hard-coded set of
>> values specific to the SMDK5250 platform. Remove these commands
>> as what they did can be done instead with a series of mmc dev /
>> bootpart / bootbus commands instead now.
>
> Maybe it'd be good to document, in the commitlog the mmc commands
> equivalent.
Can we get a board/samsung/smdk5250/README, ala the dra7xx / omap5
ones I added after? I think I know what the equivalent is for that
platform but cannot test.
- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJS8PUKAAoJENk4IS6UOR1Wg1YP/2TAi01uHV6TkX3JRCcWX6hz
5dzhOi1iVStb6f8fhGfTTSBCVcLT5alVXM4J2z5Io1Lqtk6Sh18f/ISFllJ1/CwO
9qxszaRo5Sm2psdzauwirWIG5xhY20PiRnG+yaDCnSytnBFAqvN4aNbbrOPKke7S
GjWtbJcE9uyaWNQK8YRjbSaw+jH3lBJ94TL02l2mjGF7/hiQXGaxZVL/H/wI7Gx4
kLOBYOwi+vX2PxCI9Kd3DlST+DrBHS1Jd5cROFrSHr99TxgREdR14SEQ7993u1AZ
1QiVet+iIky6t0WO0CdjEg+gAYw2mtMO/3ZFRy8htEQsLzRoI6SAwgs0+pWLiqSj
5MBQ7+hE91kO8mittEg1f4kJMoP4A0Wb+yoNbfqg0cZuh446i3kwl7uqYfrKpW8y
Ei3jX88Y76kO+F7RmvBIUh6qs1bXaWFTOeynDol8oIY8XAWe5dHNlEOGqW8acvrv
YulHhIcQkkbkpSSHt/Dm6EkZbbIItX6C5wzM4PTtB+jjVO0swOOGjgbTk3X71XLY
EW77wgtH3SnUXzTj40m5tCWl4L4+40pY12RbA2aS2PdFzChDwYG20e1Yo92/dng2
wi+RWCbT1GjAFqjjivQ+3SZeZHD98ZG30iShvANXw8XzsBauyMHI0zdWBga/wHZg
F+QRbUsCCK/xF+opqVOi
=yn/K
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands
2014-02-04 14:08 ` Otavio Salvador
2014-02-04 14:11 ` Tom Rini
@ 2014-02-04 14:15 ` Otavio Salvador
2014-02-04 14:55 ` Tom Rini
1 sibling, 1 reply; 23+ messages in thread
From: Otavio Salvador @ 2014-02-04 14:15 UTC (permalink / raw)
To: u-boot
On Tue, Feb 4, 2014 at 12:08 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> On Thu, Jan 30, 2014 at 7:32 PM, Tom Rini <trini@ti.com> wrote:
>> The open and close mmc sub-commands implement a hard-coded set of values
>> specific to the SMDK5250 platform. Remove these commands as what they
>> did can be done instead with a series of mmc dev / bootpart / bootbus
>> commands instead now.
>
> Maybe it'd be good to document, in the commitlog the mmc commands equivalent.
By the way, mx6sabresd uses this.
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands
2014-02-04 14:15 ` Otavio Salvador
@ 2014-02-04 14:55 ` Tom Rini
0 siblings, 0 replies; 23+ messages in thread
From: Tom Rini @ 2014-02-04 14:55 UTC (permalink / raw)
To: u-boot
On Tue, Feb 04, 2014 at 12:15:44PM -0200, Otavio Salvador wrote:
> On Tue, Feb 4, 2014 at 12:08 PM, Otavio Salvador
> <otavio@ossystems.com.br> wrote:
> > On Thu, Jan 30, 2014 at 7:32 PM, Tom Rini <trini@ti.com> wrote:
> >> The open and close mmc sub-commands implement a hard-coded set of values
> >> specific to the SMDK5250 platform. Remove these commands as what they
> >> did can be done instead with a series of mmc dev / bootpart / bootbus
> >> commands instead now.
> >
> > Maybe it'd be good to document, in the commitlog the mmc commands equivalent.
>
> By the way, mx6sabresd uses this.
OK, so it should be:
mmc partconf DEV 1 BOOTn 0
mmc bootbus DEV 1 0 0
If that works, yes, I can update the commit message to say what previous
command did.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140204/d38552f1/attachment.pgp>
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands
2014-01-30 21:32 ` [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands Tom Rini
2014-02-04 0:51 ` Jaehoon Chung
2014-02-04 14:08 ` Otavio Salvador
@ 2014-02-17 8:40 ` Lukasz Majewski
2014-02-17 9:30 ` Lukasz Majewski
2 siblings, 1 reply; 23+ messages in thread
From: Lukasz Majewski @ 2014-02-17 8:40 UTC (permalink / raw)
To: u-boot
Hi Tom,
> The open and close mmc sub-commands implement a hard-coded set of
> values specific to the SMDK5250 platform. Remove these commands as
> what they did can be done instead with a series of mmc dev /
> bootpart / bootbus commands instead now.
I'm going to add support for DFU to be able to flash the eMMC boot
partition.
As far as I noticed, those patches are ACKed by relevant party. Will
those be applied to u-boot-mmc branch soon or do you need to prepare v3?
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
^ permalink raw reply [flat|nested] 23+ messages in thread
* [U-Boot] [PATCH v2 8/8] cmd_mmc.c: Drop open/close mmc sub-commands
2014-02-17 8:40 ` Lukasz Majewski
@ 2014-02-17 9:30 ` Lukasz Majewski
0 siblings, 0 replies; 23+ messages in thread
From: Lukasz Majewski @ 2014-02-17 9:30 UTC (permalink / raw)
To: u-boot
Hi,
> Hi Tom,
>
> > The open and close mmc sub-commands implement a hard-coded set of
> > values specific to the SMDK5250 platform. Remove these commands as
> > what they did can be done instead with a series of mmc dev /
> > bootpart / bootbus commands instead now.
>
> I'm going to add support for DFU to be able to flash the eMMC boot
> partition.
>
> As far as I noticed, those patches are ACKed by relevant party. Will
> those be applied to u-boot-mmc branch soon or do you need to prepare
> v3?
>
>
Sorry for fuzz. I've just noticed that those patches are already pulled
to u-boot-mmc branch and are waiting for upstream inclusion.
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
^ permalink raw reply [flat|nested] 23+ messages in thread