[U-Boot] [PATCH 4/9] arm:goni:dfu Add support for DFU to Goni target

Jaehoon Chung jh80.chung at samsung.com
Fri Jan 10 05:55:08 CET 2014


Hi Mateusz.

On 01/09/2014 11:31 PM, Mateusz Zalega wrote:
> 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.
> 
> Change-Id: I7812f395a3ee3660cec31f4d8c954057c0149863
> Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk at samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> Signed-off-by: Mateusz Zalega <m.zalega at samsung.com>
> Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk at samsung.com>
> Tested-by: Mateusz Zalega <m.zalega at samsung.com>
> Cc: Minkyu Kang <mk7.kang at samsung.com>
> ---
>  board/samsung/goni/goni.c  | 10 +++++++++
>  include/configs/s5p_goni.h | 54 ++++++++++++++++++++++++++++++++++++----------
>  2 files changed, 53 insertions(+), 11 deletions(-)
> 
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index 366f648..5498daa 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -13,6 +13,9 @@
>  #include <usb/s3c_udc.h>
>  #include <asm/arch/cpu.h>
>  #include <power/max8998_pmic.h>
> +#include <usb.h>
> +#include <usb_mass_storage.h>
> +
>  DECLARE_GLOBAL_DATA_PTR;
>  
>  static struct s5pc110_gpio *s5pc110_gpio;
> @@ -172,4 +175,11 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
>  	.regs_otg = S5PC110_OTG_BASE,
>  	.usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
>  };
> +
> +int board_usb_init(int index, enum usb_init_type init)
> +{
> +	debug("USB_udc_probe\n");
> +	s3c_udc_probe(&s5pc110_otg_data);
> +	return 0;
Always return 0? return s3c_udc_probe(&s5pc110_otg_data);

> +}
>  #endif
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index 1d2dcc0..24a0fcc 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -39,7 +39,7 @@
>  #define CONFIG_CMDLINE_EDITING
>  
>  /* Size of malloc() pool.*/
> -#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + SZ_1M)
> +#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 80 * SZ_1M)
>  
>  /*
>   * select serial console configuration
> @@ -70,14 +70,18 @@
>  #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_BOOTDELAY		1
> -#define CONFIG_ZERO_BOOTDELAY_CHECK
> +/* USB Composite download gadget - g_dnl */
> +#define CONFIG_USBDOWNLOAD_GADGET
> +#define CONFIG_DFU_FUNCTION
> +#define CONFIG_DFU_MMC
>  
> -#define CONFIG_MTD_DEVICE
> -#define CONFIG_MTD_PARTITIONS
> +/* USB Samsung's IDs */
> +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
>  
>  /* Actual modem binary size is 16MiB. Add 2MiB for bad block handling */
>  #define MTDIDS_DEFAULT		"onenand0=samsung-onenand"
> @@ -90,7 +94,34 @@
>  				",12m(modem)"\
>  				",60m(qboot)\0"
>  
> -#define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
> +#define CONFIG_BOOTDELAY		1
> +#define CONFIG_ZERO_BOOTDELAY_CHECK
> +
> +/* 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 CONFIG_DFU_ALT \
> +	"u-boot raw 0x80 0x400;" \
> +	"uImage ext4 0 2;" \
> +	"exynos3-goni.dtb ext4 0 2;" \
exynos3-goni.dtb?

Best Regards,
Jaehoon Chung

> +	""PARTS_ROOT" part 0 5\0"
> +
> +#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"
>  
> @@ -144,18 +175,18 @@
>  	"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" \
> +	"loaduimage=ext4load mmc ${mmcdev}:${mmcbootpart} 0x30007FC0 uImage\0" \
>  	"mmcdev=0\0" \
>  	"mmcbootpart=2\0" \
>  	"mmcrootpart=5\0" \
> +	"partitions=" PARTS_DEFAULT \
>  	"bootblock=9\0" \
>  	"ubiblock=8\0" \
>  	"ubi=enabled\0" \
> -	"opts=always_resume=1"
> +	"opts=always_resume=1\0" \
> +	"dfu_alt_info=" CONFIG_DFU_ALT "\0"
>  
> -/* Miscellaneous configurable options */
>  #define CONFIG_SYS_LONGHELP		/* undef to save memory */
>  #define CONFIG_SYS_HUSH_PARSER		/* use "hush" command parser	*/
>  #define CONFIG_SYS_PROMPT	"Goni # "
> @@ -194,6 +225,7 @@
>  
>  #define CONFIG_CMD_FAT
>  #define CONFIG_CMD_EXT4
> +#define CONFIG_CMD_EXT4_WRITE
>  
>  /* write support for filesystems */
>  #define CONFIG_FAT_WRITE
> 



More information about the U-Boot mailing list