[U-Boot] [PATCH RESEND 2/5] arm:goni:dfu Add support for DFU at GONI target

Jaehoon Chung
2013-08-09T09:27:00Z

On 08/06/2013 07:50 PM, Mateusz Zalega wrote:
> From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
>
> Proper adjustment for supporting DFU at GONI target has been made.
> The s5p_goni.h file has been updated. Moreover the code for low level
> USB initialization has been added to GONI board code.
>
> The malloc pool has been enlarged in order to support larger buffer
> sizes needed by DFU implementation.
>
> Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Signed-off-by: Mateusz Zalega <m.zalega@samsung.com>
> Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Tested-by: Mateusz Zalega <m.zalega@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> ---
> board/samsung/goni/goni.c | 7 +++++++
> include/configs/s5p_goni.h | 22 ++++++++++++++++++++--
> 2 files changed, 27 insertions(+), 2 deletions(-)
>
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index c05801d..c605bf5 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -139,4 +139,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 6d88874..192acaa 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -38,7 +38,7 @@
> * Size of malloc() pool
> * 1MB = 0x100000, 0x100000 = 1024 * 1024
> */
> -#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (1 << 20))
> +#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (16 << 20))
> /*
> * select serial console configuration
> */
> @@ -70,6 +70,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
> @@ -89,6 +100,10 @@
> ",60m(qboot)"\
> ",-(UBI)\0"
>
> +#define CONFIG_DFU_ALT \
> + "u-boot mmc 80 400;" \
If we can use 0x800, i want to use the 0x800 instead of 0x400.

Best Regards,
Jaehoon Chung
> + "uImage fat 0 2\0" \
> +
> #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
>
> #define CONFIG_BOOTCOMMAND "run mmcboot"
> @@ -159,7 +174,9 @@
> "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 */
> @@ -228,5 +245,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 */
>