* [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target
@ 2013-02-18 10:18 a.wlodarczyk at samsung.com
2013-02-18 10:18 ` [U-Boot] [PATCH 2/3] arm:goni:Change in mmc memory partitioning a.wlodarczyk at samsung.com
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: a.wlodarczyk at samsung.com @ 2013-02-18 10:18 UTC (permalink / raw)
To: u-boot
From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
---
Changes
This change encompasses set of adjustments in the configuration
of the u-boot in the include/configs/s5p_goni.h, particularly
change of rootfs type, change in kernel booting method and added DFU
support. All those changes are connected with adjusting of existing
goni configuration to latest changes in kernel.
---
board/samsung/goni/goni.c | 7 +++++++
include/configs/s5p_goni.h | 37 ++++++++++++++++++++++++++++++++-----
2 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index ff76963..3c53106 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
.regs_otg = S5PC110_OTG_BASE,
.usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
};
+
+void board_usb_init(void)
+{
+ debug("USB_udc_probe\n");
+ s3c_udc_probe(&s5pc110_otg_data);
+}
+
#endif
diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
index 56e8347..8a824c7 100644
--- a/include/configs/s5p_goni.h
+++ b/include/configs/s5p_goni.h
@@ -86,6 +86,17 @@
#define CONFIG_CMD_ONENAND
#define CONFIG_CMD_MTDPARTS
#define CONFIG_CMD_MMC
+#define CONFIG_CMD_DFU
+
+/* USB Composite download gadget - g_dnl */
+#define CONFIG_USBDOWNLOAD_GADGET
+#define CONFIG_DFU_FUNCTION
+#define CONFIG_DFU_MMC
+
+/* USB Samsung's IDs */
+#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
+#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
+#define CONFIG_G_DNL_MANUFACTURER "Samsung"
#define CONFIG_BOOTDELAY 1
#define CONFIG_ZERO_BOOTDELAY_CHECK
@@ -105,9 +116,13 @@
",60m(qboot)"\
",-(UBI)\0"
+#define CONFIG_DFU_ALT \
+ "u-boot mmc 80 400;" \
+ "uImage fat 0 2\0" \
+
#define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
-#define CONFIG_BOOTCOMMAND "run ubifsboot"
+#define CONFIG_BOOTCOMMAND "run mmcboot"
#define CONFIG_DEFAULT_CONSOLE "console=ttySAC2,115200n8\0"
@@ -137,7 +152,7 @@
"onenand erase 0x01560000 0x1eaa0000;" \
"onenand write 0x32000000 0x1260000 0x8C0000\0" \
"bootk=" \
- "onenand read 0x30007FC0 0xc00000 0x600000;" \
+ "run loaduimage;" \
"bootm 0x30007FC0\0" \
"flashboot=" \
"set bootargs root=/dev/mtdblock${bootblock} " \
@@ -156,21 +171,28 @@
"set bootargs " CONFIG_RAMDISK_BOOT \
" initrd=0x33000000,8M ramdisk=8192\0" \
"mmcboot=" \
- "set bootargs root=${mmcblk} rootfstype=${rootfstype}" \
+ "set bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} " \
+ "rootfstype=${rootfstype}" \
CONFIG_UBI_MTD " ${opts} ${lcdinfo} " \
CONFIG_COMMON_BOOT "; run bootk\0" \
"boottrace=setenv opts initcall_debug; run bootcmd\0" \
"bootchart=set opts init=/sbin/bootchartd; run bootcmd\0" \
"verify=n\0" \
- "rootfstype=cramfs\0" \
+ "rootfstype=ext4\0" \
"console=" CONFIG_DEFAULT_CONSOLE \
"mtdparts=" MTDPARTS_DEFAULT \
"meminfo=mem=80M mem=256M at 0x40000000 mem=128M at 0x50000000\0" \
+ "loaduimage=fatload mmc ${mmcdev}:${mmcbootpart} 0x30007FC0 uImage\0" \
+ "mmcdev=0\0" \
+ "mmcbootpart=2\0" \
+ "mmcrootpart=5\0" \
"mmcblk=/dev/mmcblk1p1\0" \
"bootblock=9\0" \
"ubiblock=8\0" \
"ubi=enabled\0" \
- "opts=always_resume=1"
+ "opts=always_resume=1\0" \
+ "dfu_alt_info=" CONFIG_DFU_ALT
+
/* Miscellaneous configurable options */
#define CONFIG_SYS_LONGHELP /* undef to save memory */
@@ -211,6 +233,10 @@
#define CONFIG_DOS_PARTITION 1
+/* FAT */
+#define CONFIG_CMD_FAT
+#define CONFIG_FAT_WRITE
+
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000)
#define CONFIG_SYS_CACHELINE_SIZE 64
@@ -233,5 +259,6 @@
#define CONFIG_USB_GADGET
#define CONFIG_USB_GADGET_S3C_UDC_OTG
#define CONFIG_USB_GADGET_DUALSPEED
+#define CONFIG_USB_GADGET_VBUS_DRAW 2
#endif /* __CONFIG_H */
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 2/3] arm:goni:Change in mmc memory partitioning
2013-02-18 10:18 [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target a.wlodarczyk at samsung.com
@ 2013-02-18 10:18 ` a.wlodarczyk at samsung.com
2013-02-18 10:18 ` [U-Boot] [PATCH 3/3] arm:goni: Add support for USB mass storage a.wlodarczyk at samsung.com
2013-03-27 2:18 ` [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target Minkyu Kang
2 siblings, 0 replies; 6+ messages in thread
From: a.wlodarczyk at samsung.com @ 2013-02-18 10:18 UTC (permalink / raw)
To: u-boot
From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
---
Changes
This item includes the following changes for goni target:
Add GPT command
Add definition of partitions for GPT
Remove MTD command
---
include/configs/s5p_goni.h | 44 ++++++++++++++++++++++++++------------------
1 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
index 8a824c7..e8f2639 100644
--- a/include/configs/s5p_goni.h
+++ b/include/configs/s5p_goni.h
@@ -84,9 +84,9 @@
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_REGINFO
#define CONFIG_CMD_ONENAND
-#define CONFIG_CMD_MTDPARTS
#define CONFIG_CMD_MMC
#define CONFIG_CMD_DFU
+#define CONFIG_CMD_GPT
/* USB Composite download gadget - g_dnl */
#define CONFIG_USBDOWNLOAD_GADGET
@@ -101,26 +101,30 @@
#define CONFIG_BOOTDELAY 1
#define CONFIG_ZERO_BOOTDELAY_CHECK
-#define CONFIG_MTD_DEVICE
-#define CONFIG_MTD_PARTITIONS
-
-/* Actual modem binary size is 16MiB. Add 2MiB for bad block handling */
-#define MTDIDS_DEFAULT "onenand0=samsung-onenand"
-#define MTDPARTS_DEFAULT "mtdparts=samsung-onenand:1m(bootloader)"\
- ",256k(params)"\
- ",2816k(config)"\
- ",8m(csa)"\
- ",7m(kernel)"\
- ",1m(log)"\
- ",12m(modem)"\
- ",60m(qboot)"\
- ",-(UBI)\0"
-
#define CONFIG_DFU_ALT \
"u-boot mmc 80 400;" \
"uImage fat 0 2\0" \
-#define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
+/* partitions definitions */
+#define PARTS_CSA "csa-mmc"
+#define PARTS_BOOTLOADER "u-boot"
+#define PARTS_BOOT "boot"
+#define PARTS_ROOT "platform"
+#define PARTS_DATA "data"
+#define PARTS_CSC "csc"
+#define PARTS_UMS "ums"
+
+#define PARTS_DEFAULT \
+ "uuid_disk=${uuid_gpt_disk};" \
+ "name="PARTS_CSA",size=8MiB,uuid=${uuid_gpt_"PARTS_CSA"};" \
+ "name="PARTS_BOOTLOADER",size=60MiB," \
+ "uuid=${uuid_gpt_"PARTS_BOOTLOADER"};" \
+ "name="PARTS_BOOT",size=100MiB,uuid=${uuid_gpt_"PARTS_BOOT"};" \
+ "name="PARTS_ROOT",size=1GiB,uuid=${uuid_gpt_"PARTS_ROOT"};" \
+ "name="PARTS_DATA",size=3GiB,uuid=${uuid_gpt_"PARTS_DATA"};" \
+ "name="PARTS_CSC",size=150MiB,uuid=${uuid_gpt_"PARTS_CSC"};" \
+ "name="PARTS_UMS",size=-,uuid=${uuid_gpt_"PARTS_UMS"}\0" \
+
#define CONFIG_BOOTCOMMAND "run mmcboot"
@@ -180,12 +184,12 @@
"verify=n\0" \
"rootfstype=ext4\0" \
"console=" CONFIG_DEFAULT_CONSOLE \
- "mtdparts=" MTDPARTS_DEFAULT \
"meminfo=mem=80M mem=256M at 0x40000000 mem=128M at 0x50000000\0" \
"loaduimage=fatload mmc ${mmcdev}:${mmcbootpart} 0x30007FC0 uImage\0" \
"mmcdev=0\0" \
"mmcbootpart=2\0" \
"mmcrootpart=5\0" \
+ "partitions=" PARTS_DEFAULT \
"mmcblk=/dev/mmcblk1p1\0" \
"bootblock=9\0" \
"ubiblock=8\0" \
@@ -237,6 +241,10 @@
#define CONFIG_CMD_FAT
#define CONFIG_FAT_WRITE
+/* GPT */
+#define CONFIG_EFI_PARTITION
+#define CONFIG_PARTITION_UUIDS
+
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000)
#define CONFIG_SYS_CACHELINE_SIZE 64
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 3/3] arm:goni: Add support for USB mass storage
2013-02-18 10:18 [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target a.wlodarczyk at samsung.com
2013-02-18 10:18 ` [U-Boot] [PATCH 2/3] arm:goni:Change in mmc memory partitioning a.wlodarczyk at samsung.com
@ 2013-02-18 10:18 ` a.wlodarczyk at samsung.com
2013-03-27 2:46 ` Minkyu Kang
2013-03-27 2:18 ` [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target Minkyu Kang
2 siblings, 1 reply; 6+ messages in thread
From: a.wlodarczyk at samsung.com @ 2013-02-18 10:18 UTC (permalink / raw)
To: u-boot
From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
---
Changes
Switch on USB gadget mass storage and ums command in
configuration for goni target; Add code supporting USB gadget
mass storage in board/samsung/goni/goni.c
---
Depends on implementation of USB mass storage
for Samsung.
http://patchwork.ozlabs.org/patch/219744/
http://patchwork.ozlabs.org/patch/219746/
http://patchwork.ozlabs.org/patch/219745/
---
board/samsung/goni/goni.c | 68 ++++++++++++++++++++++++++++++++++++++++++++
include/configs/s5p_goni.h | 5 +++
2 files changed, 73 insertions(+), 0 deletions(-)
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index 3c53106..a09daca 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -29,6 +29,7 @@
#include <usb/s3c_udc.h>
#include <asm/arch/cpu.h>
#include <power/max8998_pmic.h>
+#include <usb_mass_storage.h>
DECLARE_GLOBAL_DATA_PTR;
static struct s5pc110_gpio *s5pc110_gpio;
@@ -163,3 +164,70 @@ void board_usb_init(void)
}
#endif
+
+#ifdef CONFIG_USB_GADGET_MASS_STORAGE
+static int ums_read_sector(struct ums_device *ums_dev,
+ ulong start, lbaint_t blkcnt, void *buf)
+{
+ if (ums_dev->mmc->block_dev.block_read(ums_dev->dev_num,
+ start + ums_dev->offset, blkcnt, buf) != blkcnt)
+ return -1;
+
+ return 0;
+}
+
+static int ums_write_sector(struct ums_device *ums_dev,
+ ulong start, lbaint_t blkcnt, const void *buf)
+{
+ if (ums_dev->mmc->block_dev.block_write(ums_dev->dev_num,
+ start + ums_dev->offset, blkcnt, buf) != blkcnt)
+ return -1;
+
+ return 0;
+}
+
+static void ums_get_capacity(struct ums_device *ums_dev,
+ long long int *capacity)
+{
+ long long int tmp_capacity;
+
+ tmp_capacity = (long long int) ((ums_dev->offset + ums_dev->part_size)
+ * SECTOR_SIZE);
+ *capacity = ums_dev->mmc->capacity - tmp_capacity;
+}
+
+static struct ums_board_info ums_board = {
+ .read_sector = ums_read_sector,
+ .write_sector = ums_write_sector,
+ .get_capacity = ums_get_capacity,
+ .name = "GONI UMS disk",
+ .ums_dev = {
+ .mmc = NULL,
+ .dev_num = 0,
+ .offset = 0,
+ .part_size = 0.
+ },
+};
+
+struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned int offset,
+ unsigned int part_size)
+{
+ struct mmc *mmc;
+
+ mmc = find_mmc_device(dev_num);
+ /* mmc initialization is necessary prior to the ums command usage
+ * due to fact that on goni target environment is read from oneNand
+ * memory, so the mmc remains uninitialized whenu-boot prompt appears
+ * */
+ if (!mmc || mmc_init(mmc))
+ return NULL;
+
+ ums_board.ums_dev.mmc = mmc;
+ ums_board.ums_dev.dev_num = dev_num;
+ ums_board.ums_dev.offset = offset;
+ ums_board.ums_dev.part_size = part_size;
+
+ return &ums_board;
+}
+
+#endif
diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
index e8f2639..1cfbb88 100644
--- a/include/configs/s5p_goni.h
+++ b/include/configs/s5p_goni.h
@@ -269,4 +269,9 @@
#define CONFIG_USB_GADGET_DUALSPEED
#define CONFIG_USB_GADGET_VBUS_DRAW 2
+#define CONFIG_CMD_USB_MASS_STORAGE
+#if defined(CONFIG_CMD_USB_MASS_STORAGE)
+#define CONFIG_USB_GADGET_MASS_STORAGE
+#endif
+
#endif /* __CONFIG_H */
--
1.7.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target
2013-02-18 10:18 [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target a.wlodarczyk at samsung.com
2013-02-18 10:18 ` [U-Boot] [PATCH 2/3] arm:goni:Change in mmc memory partitioning a.wlodarczyk at samsung.com
2013-02-18 10:18 ` [U-Boot] [PATCH 3/3] arm:goni: Add support for USB mass storage a.wlodarczyk at samsung.com
@ 2013-03-27 2:18 ` Minkyu Kang
2013-04-02 13:55 ` Arkadiusz Wlodarczyk
2 siblings, 1 reply; 6+ messages in thread
From: Minkyu Kang @ 2013-03-27 2:18 UTC (permalink / raw)
To: u-boot
Dear Arkadiusz Wlodarczyk,
On 18/02/13 19:18, a.wlodarczyk at samsung.com wrote:
> From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
>
> Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> ---
> Changes
> This change encompasses set of adjustments in the configuration
> of the u-boot in the include/configs/s5p_goni.h, particularly
> change of rootfs type, change in kernel booting method and added DFU
> support. All those changes are connected with adjusting of existing
> goni configuration to latest changes in kernel.
> ---
> board/samsung/goni/goni.c | 7 +++++++
> include/configs/s5p_goni.h | 37 ++++++++++++++++++++++++++++++++-----
> 2 files changed, 39 insertions(+), 5 deletions(-)
>
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index ff76963..3c53106 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
> .regs_otg = S5PC110_OTG_BASE,
> .usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
> };
> +
> +void board_usb_init(void)
> +{
> + debug("USB_udc_probe\n");
> + s3c_udc_probe(&s5pc110_otg_data);
> +}
I think, this is unrelated changes to subject.
> +
> #endif
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index 56e8347..8a824c7 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -86,6 +86,17 @@
> #define CONFIG_CMD_ONENAND
> #define CONFIG_CMD_MTDPARTS
> #define CONFIG_CMD_MMC
> +#define CONFIG_CMD_DFU
> +
> +/* USB Composite download gadget - g_dnl */
> +#define CONFIG_USBDOWNLOAD_GADGET
> +#define CONFIG_DFU_FUNCTION
> +#define CONFIG_DFU_MMC
> +
> +/* USB Samsung's IDs */
> +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
>
> #define CONFIG_BOOTDELAY 1
> #define CONFIG_ZERO_BOOTDELAY_CHECK
> @@ -105,9 +116,13 @@
> ",60m(qboot)"\
> ",-(UBI)\0"
>
> +#define CONFIG_DFU_ALT \
> + "u-boot mmc 80 400;" \
> + "uImage fat 0 2\0" \
> +
> #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
>
> -#define CONFIG_BOOTCOMMAND "run ubifsboot"
> +#define CONFIG_BOOTCOMMAND "run mmcboot"
>
> #define CONFIG_DEFAULT_CONSOLE "console=ttySAC2,115200n8\0"
>
> @@ -137,7 +152,7 @@
> "onenand erase 0x01560000 0x1eaa0000;" \
> "onenand write 0x32000000 0x1260000 0x8C0000\0" \
> "bootk=" \
> - "onenand read 0x30007FC0 0xc00000 0x600000;" \
> + "run loaduimage;" \
> "bootm 0x30007FC0\0" \
> "flashboot=" \
> "set bootargs root=/dev/mtdblock${bootblock} " \
> @@ -156,21 +171,28 @@
> "set bootargs " CONFIG_RAMDISK_BOOT \
> " initrd=0x33000000,8M ramdisk=8192\0" \
> "mmcboot=" \
> - "set bootargs root=${mmcblk} rootfstype=${rootfstype}" \
> + "set bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} " \
> + "rootfstype=${rootfstype}" \
> CONFIG_UBI_MTD " ${opts} ${lcdinfo} " \
> CONFIG_COMMON_BOOT "; run bootk\0" \
> "boottrace=setenv opts initcall_debug; run bootcmd\0" \
> "bootchart=set opts init=/sbin/bootchartd; run bootcmd\0" \
> "verify=n\0" \
> - "rootfstype=cramfs\0" \
> + "rootfstype=ext4\0" \
> "console=" CONFIG_DEFAULT_CONSOLE \
> "mtdparts=" MTDPARTS_DEFAULT \
> "meminfo=mem=80M mem=256M at 0x40000000 mem=128M at 0x50000000\0" \
> + "loaduimage=fatload mmc ${mmcdev}:${mmcbootpart} 0x30007FC0 uImage\0" \
> + "mmcdev=0\0" \
> + "mmcbootpart=2\0" \
> + "mmcrootpart=5\0" \
> "mmcblk=/dev/mmcblk1p1\0" \
> "bootblock=9\0" \
> "ubiblock=8\0" \
> "ubi=enabled\0" \
> - "opts=always_resume=1"
> + "opts=always_resume=1\0" \
> + "dfu_alt_info=" CONFIG_DFU_ALT
> +
>
> /* Miscellaneous configurable options */
> #define CONFIG_SYS_LONGHELP /* undef to save memory */
> @@ -211,6 +233,10 @@
>
> #define CONFIG_DOS_PARTITION 1
>
> +/* FAT */
> +#define CONFIG_CMD_FAT
> +#define CONFIG_FAT_WRITE
> +
> #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000)
>
> #define CONFIG_SYS_CACHELINE_SIZE 64
> @@ -233,5 +259,6 @@
> #define CONFIG_USB_GADGET
> #define CONFIG_USB_GADGET_S3C_UDC_OTG
> #define CONFIG_USB_GADGET_DUALSPEED
> +#define CONFIG_USB_GADGET_VBUS_DRAW 2
>
> #endif /* __CONFIG_H */
>
Thanks,
Minkyu Kang.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 3/3] arm:goni: Add support for USB mass storage
2013-02-18 10:18 ` [U-Boot] [PATCH 3/3] arm:goni: Add support for USB mass storage a.wlodarczyk at samsung.com
@ 2013-03-27 2:46 ` Minkyu Kang
0 siblings, 0 replies; 6+ messages in thread
From: Minkyu Kang @ 2013-03-27 2:46 UTC (permalink / raw)
To: u-boot
Dear Arkadiusz Wlodarczyk,
On 18/02/13 19:18, a.wlodarczyk at samsung.com wrote:
> From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
>
> Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> ---
> Changes
> Switch on USB gadget mass storage and ums command in
> configuration for goni target; Add code supporting USB gadget
> mass storage in board/samsung/goni/goni.c
> ---
> Depends on implementation of USB mass storage
> for Samsung.
> http://patchwork.ozlabs.org/patch/219744/
> http://patchwork.ozlabs.org/patch/219746/
> http://patchwork.ozlabs.org/patch/219745/
> ---
> board/samsung/goni/goni.c | 68 ++++++++++++++++++++++++++++++++++++++++++++
> include/configs/s5p_goni.h | 5 +++
> 2 files changed, 73 insertions(+), 0 deletions(-)
>
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index 3c53106..a09daca 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -29,6 +29,7 @@
> #include <usb/s3c_udc.h>
> #include <asm/arch/cpu.h>
> #include <power/max8998_pmic.h>
> +#include <usb_mass_storage.h>
> DECLARE_GLOBAL_DATA_PTR;
>
> static struct s5pc110_gpio *s5pc110_gpio;
> @@ -163,3 +164,70 @@ void board_usb_init(void)
> }
>
> #endif
> +
> +#ifdef CONFIG_USB_GADGET_MASS_STORAGE
> +static int ums_read_sector(struct ums_device *ums_dev,
> + ulong start, lbaint_t blkcnt, void *buf)
> +{
> + if (ums_dev->mmc->block_dev.block_read(ums_dev->dev_num,
> + start + ums_dev->offset, blkcnt, buf) != blkcnt)
> + return -1;
> +
> + return 0;
> +}
> +
> +static int ums_write_sector(struct ums_device *ums_dev,
> + ulong start, lbaint_t blkcnt, const void *buf)
> +{
> + if (ums_dev->mmc->block_dev.block_write(ums_dev->dev_num,
> + start + ums_dev->offset, blkcnt, buf) != blkcnt)
> + return -1;
> +
> + return 0;
> +}
> +
> +static void ums_get_capacity(struct ums_device *ums_dev,
> + long long int *capacity)
> +{
> + long long int tmp_capacity;
> +
> + tmp_capacity = (long long int) ((ums_dev->offset + ums_dev->part_size)
> + * SECTOR_SIZE);
> + *capacity = ums_dev->mmc->capacity - tmp_capacity;
> +}
> +
> +static struct ums_board_info ums_board = {
> + .read_sector = ums_read_sector,
> + .write_sector = ums_write_sector,
> + .get_capacity = ums_get_capacity,
> + .name = "GONI UMS disk",
> + .ums_dev = {
> + .mmc = NULL,
> + .dev_num = 0,
> + .offset = 0,
> + .part_size = 0.
> + },
> +};
> +
> +struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned int offset,
> + unsigned int part_size)
> +{
> + struct mmc *mmc;
> +
> + mmc = find_mmc_device(dev_num);
> + /* mmc initialization is necessary prior to the ums command usage
> + * due to fact that on goni target environment is read from oneNand
> + * memory, so the mmc remains uninitialized whenu-boot prompt appears
> + * */
please check multi line comments rule.
> + if (!mmc || mmc_init(mmc))
why don't you separate this statement?
> + return NULL;
> +
> + ums_board.ums_dev.mmc = mmc;
> + ums_board.ums_dev.dev_num = dev_num;
> + ums_board.ums_dev.offset = offset;
> + ums_board.ums_dev.part_size = part_size;
> +
> + return &ums_board;
> +}
> +
> +#endif
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index e8f2639..1cfbb88 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -269,4 +269,9 @@
> #define CONFIG_USB_GADGET_DUALSPEED
> #define CONFIG_USB_GADGET_VBUS_DRAW 2
>
> +#define CONFIG_CMD_USB_MASS_STORAGE
> +#if defined(CONFIG_CMD_USB_MASS_STORAGE)
I think, this ifdef is unnecessary.
> +#define CONFIG_USB_GADGET_MASS_STORAGE
> +#endif
> +
> #endif /* __CONFIG_H */
>
Thanks,
Minkyu Kang.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target
2013-03-27 2:18 ` [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target Minkyu Kang
@ 2013-04-02 13:55 ` Arkadiusz Wlodarczyk
0 siblings, 0 replies; 6+ messages in thread
From: Arkadiusz Wlodarczyk @ 2013-04-02 13:55 UTC (permalink / raw)
To: u-boot
Dear Minkyu Kang,
As I understood, you marked that adding of the void board_usb_init(void)
function implementation to the board/samsung/goni/goni.c file is unrelated
to the subject of the patch. I would like to explain, that I added the
board_usb_init implementation because the function is used by the dfu u-boot
command. The patch switches this command on for the goni target, so to allow
the source to compile and work for goni target, implementation of the
function is necessary. Due to the above I would like to keep this part of
the patch unchanged.
Thanks,
Arek Wlodarczyk.
-----Original Message-----
From: Minkyu Kang [mailto:mk7.kang at samsung.com]
Sent: Wednesday, March 27, 2013 3:18 AM
To: a.wlodarczyk at samsung.com
Cc: u-boot at lists.denx.de; l.majewski at samsung.com; Kyungmin Park
Subject: Re: [PATCH 1/3] arm:goni: Adjustment of configuration for goni
target
Dear Arkadiusz Wlodarczyk,
On 18/02/13 19:18, a.wlodarczyk at samsung.com wrote:
> From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
>
> Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> ---
> Changes
> This change encompasses set of adjustments in the configuration of the
> u-boot in the include/configs/s5p_goni.h, particularly change of
> rootfs type, change in kernel booting method and added DFU support.
> All those changes are connected with adjusting of existing goni
> configuration to latest changes in kernel.
> ---
> board/samsung/goni/goni.c | 7 +++++++
> include/configs/s5p_goni.h | 37 ++++++++++++++++++++++++++++++++-----
> 2 files changed, 39 insertions(+), 5 deletions(-)
>
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index ff76963..3c53106 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
> .regs_otg = S5PC110_OTG_BASE,
> .usb_phy_ctrl = S5PC110_USB_PHY_CONTROL, };
> +
> +void board_usb_init(void)
> +{
> + debug("USB_udc_probe\n");
> + s3c_udc_probe(&s5pc110_otg_data);
> +}
I think, this is unrelated changes to subject.
> +
> #endif
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index 56e8347..8a824c7 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -86,6 +86,17 @@
> #define CONFIG_CMD_ONENAND
> #define CONFIG_CMD_MTDPARTS
> #define CONFIG_CMD_MMC
> +#define CONFIG_CMD_DFU
> +
> +/* USB Composite download gadget - g_dnl */ #define
> +CONFIG_USBDOWNLOAD_GADGET #define CONFIG_DFU_FUNCTION #define
> +CONFIG_DFU_MMC
> +
> +/* USB Samsung's IDs */
> +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8 #define
> +CONFIG_G_DNL_PRODUCT_NUM 0x6601 #define CONFIG_G_DNL_MANUFACTURER
> +"Samsung"
>
> #define CONFIG_BOOTDELAY 1
> #define CONFIG_ZERO_BOOTDELAY_CHECK
> @@ -105,9 +116,13 @@
> ",60m(qboot)"\
> ",-(UBI)\0"
>
> +#define CONFIG_DFU_ALT \
> + "u-boot mmc 80 400;" \
> + "uImage fat 0 2\0" \
> +
> #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
>
> -#define CONFIG_BOOTCOMMAND "run ubifsboot"
> +#define CONFIG_BOOTCOMMAND "run mmcboot"
>
> #define CONFIG_DEFAULT_CONSOLE "console=ttySAC2,115200n8\0"
>
> @@ -137,7 +152,7 @@
> "onenand erase 0x01560000 0x1eaa0000;" \
> "onenand write 0x32000000 0x1260000 0x8C0000\0" \
> "bootk=" \
> - "onenand read 0x30007FC0 0xc00000 0x600000;" \
> + "run loaduimage;" \
> "bootm 0x30007FC0\0" \
> "flashboot=" \
> "set bootargs root=/dev/mtdblock${bootblock} " \ @@ -156,21
+171,28
> @@
> "set bootargs " CONFIG_RAMDISK_BOOT \
> " initrd=0x33000000,8M ramdisk=8192\0" \
> "mmcboot=" \
> - "set bootargs root=${mmcblk} rootfstype=${rootfstype}" \
> + "set bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} " \
> + "rootfstype=${rootfstype}" \
> CONFIG_UBI_MTD " ${opts} ${lcdinfo} " \
> CONFIG_COMMON_BOOT "; run bootk\0" \
> "boottrace=setenv opts initcall_debug; run bootcmd\0" \
> "bootchart=set opts init=/sbin/bootchartd; run bootcmd\0" \
> "verify=n\0" \
> - "rootfstype=cramfs\0" \
> + "rootfstype=ext4\0" \
> "console=" CONFIG_DEFAULT_CONSOLE \
> "mtdparts=" MTDPARTS_DEFAULT \
> "meminfo=mem=80M mem=256M at 0x40000000 mem=128M at 0x50000000\0" \
> + "loaduimage=fatload mmc ${mmcdev}:${mmcbootpart} 0x30007FC0
uImage\0" \
> + "mmcdev=0\0" \
> + "mmcbootpart=2\0" \
> + "mmcrootpart=5\0" \
> "mmcblk=/dev/mmcblk1p1\0" \
> "bootblock=9\0" \
> "ubiblock=8\0" \
> "ubi=enabled\0" \
> - "opts=always_resume=1"
> + "opts=always_resume=1\0" \
> + "dfu_alt_info=" CONFIG_DFU_ALT
> +
>
> /* Miscellaneous configurable options */
> #define CONFIG_SYS_LONGHELP /* undef to save memory */
> @@ -211,6 +233,10 @@
>
> #define CONFIG_DOS_PARTITION 1
>
> +/* FAT */
> +#define CONFIG_CMD_FAT
> +#define CONFIG_FAT_WRITE
> +
> #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000)
>
> #define CONFIG_SYS_CACHELINE_SIZE 64
> @@ -233,5 +259,6 @@
> #define CONFIG_USB_GADGET
> #define CONFIG_USB_GADGET_S3C_UDC_OTG #define
> CONFIG_USB_GADGET_DUALSPEED
> +#define CONFIG_USB_GADGET_VBUS_DRAW 2
>
> #endif /* __CONFIG_H */
>
Thanks,
Minkyu Kang.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-04-02 13:55 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-18 10:18 [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target a.wlodarczyk at samsung.com
2013-02-18 10:18 ` [U-Boot] [PATCH 2/3] arm:goni:Change in mmc memory partitioning a.wlodarczyk at samsung.com
2013-02-18 10:18 ` [U-Boot] [PATCH 3/3] arm:goni: Add support for USB mass storage a.wlodarczyk at samsung.com
2013-03-27 2:46 ` Minkyu Kang
2013-03-27 2:18 ` [U-Boot] [PATCH 1/3] arm:goni: Adjustment of configuration for goni target Minkyu Kang
2013-04-02 13:55 ` Arkadiusz Wlodarczyk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox