From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Fri, 21 Aug 2015 10:33:19 +0200 Subject: [U-Boot] [PATCH v2] corvus, dfu: add dfu support In-Reply-To: <20150821102524.647109d0@amdc2363> References: <1439906036-18247-1-git-send-email-hs@denx.de> <20150821102524.647109d0@amdc2363> Message-ID: <55D6E24F.9060901@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Lukasz, Am 21.08.2015 um 10:25 schrieb Lukasz Majewski: > Hi Heiko, > > Just some minor comments: > >> add support for DFU on the corvus board. >> >> Signed-off-by: Heiko Schocher >> --- >> >> Changes in v2: >> - rebase to 0d339cf9a969f0c249713d3697e735184f1bd955 >> - fix changes introduced through commit: >> 01acd6abbdd5: usb: USB download gadget and functions config options >> coherent naming >> >> board/siemens/corvus/board.c | 21 +++++++++++++++++++++ >> include/configs/corvus.h | 29 +++++++++++++++++++++++++++-- >> 2 files changed, 48 insertions(+), 2 deletions(-) >> >> diff --git a/board/siemens/corvus/board.c >> b/board/siemens/corvus/board.c index f3f6dae..426d0cd 100644 >> --- a/board/siemens/corvus/board.c >> +++ b/board/siemens/corvus/board.c >> @@ -29,6 +29,10 @@ >> #include >> #include >> >> +#ifdef CONFIG_USB_GADGET_ATMEL_USBA >> +#include >> +#endif >> + >> DECLARE_GLOBAL_DATA_PTR; >> >> static void corvus_nand_hw_init(void) >> @@ -210,6 +214,19 @@ int board_early_init_f(void) >> return 0; >> } >> >> +#ifdef CONFIG_USB_GADGET_ATMEL_USBA >> +/* from ./arch/arm/mach-at91/armv7/sama5d3_devices.c */ >> +void at91_udp_hw_init(void) >> +{ >> + struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC; >> + >> + /* Enable UPLL clock */ >> + writel(AT91_PMC_UPLLEN | AT91_PMC_BIASEN, &pmc->uckr); >> + /* Enable UDPHS clock */ >> + at91_periph_clk_enable(ATMEL_ID_UDPHS); >> +} >> +#endif >> + >> int board_init(void) >> { >> /* address of boot parameters */ >> @@ -230,6 +247,10 @@ int board_init(void) >> #ifdef CONFIG_CMD_USB >> taurus_usb_hw_init(); >> #endif >> +#ifdef CONFIG_USB_GADGET_ATMEL_USBA >> + at91_udp_hw_init(); >> + usba_udc_probe(&pdata); >> +#endif >> return 0; >> } >> >> diff --git a/include/configs/corvus.h b/include/configs/corvus.h >> index 2d2f3c1..2bad20f 100644 >> --- a/include/configs/corvus.h >> +++ b/include/configs/corvus.h >> @@ -113,7 +113,32 @@ >> #define CONFIG_DOS_PARTITION >> #define CONFIG_USB_STORAGE >> >> -#define CONFIG_SYS_LOAD_ADDR 0x72000000 /* >> load address */ +/* USB DFU support */ >> +#define CONFIG_CMD_MTDPARTS >> +#define CONFIG_MTD_DEVICE >> +#define CONFIG_MTD_PARTITIONS >> + >> +#define CONFIG_USB_GADGET >> +#define CONFIG_USB_GADGET_DUALSPEED >> +#define CONFIG_USB_GADGET_ATMEL_USBA >> + >> +/* DFU class support */ >> +#define CONFIG_CMD_DFU >> +#define CONFIG_USB_FUNCTION_DFU >> +#define CONFIG_DFU_NAND >> +#define CONFIG_USB_GADGET_DOWNLOAD >> +#define CONFIG_USB_GADGET_VBUS_DRAW 2 >> +#define CONFIG_SYS_DFU_DATA_BUF_SIZE (1 << 20) > > Please use SZ_1M instead This is done in the follwoing patch ... maybe I should permute them. >> +#define DFU_MANIFEST_POLL_TIMEOUT 25000 >> + >> +/* USB DFU IDs */ >> +#define CONFIG_G_DNL_VENDOR_NUM 0x0908 >> +#define CONFIG_G_DNL_PRODUCT_NUM 0x02d2 >> +#define CONFIG_G_DNL_MANUFACTURER "Siemens AG" >> + >> +#define CONFIG_SYS_CACHELINE_SIZE 0x2000 >> +/* fuer was das ? */ > > Was is das? :-) Hups... remove this. >> +#define CONFIG_SYS_LOAD_ADDR ATMEL_BASE_CS6 >> >> /* bootstrap + u-boot + env in nandflash */ >> #define CONFIG_ENV_IS_IN_NAND >> @@ -146,7 +171,7 @@ >> * Size of malloc() pool >> */ >> #define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + \ >> - 128*1024, 0x1000) >> + 4*1024*1024, 0x1000) > ^^^^^^^^^^^ This also can be rewritten > to use SZ_1M >> /* Defines for SPL */ >> #define CONFIG_SPL_FRAMEWORK >> #define CONFIG_SPL_TEXT_BASE 0x300000 bye, Heiko -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany