[U-Boot] [RFC PATCH 3/3] ARM: atmel: add RNDIS gadget support
Bo Shen
voice.shen at atmel.com
Wed Sep 4 09:42:49 CEST 2013
Hi Andreas,
On 9/4/2013 15:32, Andreas Bießmann wrote:
> Hi Bo, Marek,
>
> On 09/04/2013 04:01 AM, Bo Shen wrote:
>> Hi Marek Vasut,
>>
>> On 09/04/2013 09:55 AM, Marek Vasut wrote:
>>>>> I have considered to put this in driver, however, different Atmel SoC
>>>>> have different attributes for each endpoint and different number of
>>>>> endpoint.
>>>>>
>>>>> for example;
>>>>> at91sam9x5: EP("ep1", 1, 1024, 2, 1, 1)
>>>>> sama5d3x: EP("ep1", 1, 1024, 3, 1, 0)
>>>>>
>>>>> So, if I put this in driver, there will be many #ifdef. If newly SoC
>>>>> added, maybe we will need to add #ifdef again. So, I put it here.
>>> Can you not pull it into some header file at least? Having it in the
>>> board file
>>> will clearly result in duplication.
>>
>> OK, I will put it into header file.
>
> I'm fine with a header too. But for the records, the mentioned file is
> _not_ board code but SoC code.
I will create a header file named atmel_usba_udc.h as other peripheral
(at91_udc.h is reserved for full speed usb device), and put it under
"arm/arm/include/asm/arch-at91/", the contents as following, does it OK?
---8>---
/*
* Copyright (C) 2005-2013 Atmel Corporation
* Bo Shen <voice.shen at atmel.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __ATMEL_USBA_UDC_H__
#define __ATMEL_USBA_UDC_H__
#include <linux/usb/atmel_usba_udc.h>
#define EP(nam, idx, maxpkt, maxbk, dma, isoc) \
[idx] = { \
.name = nam, \
.index = idx, \
.fifo_size = maxpkt, \
.nr_banks = maxbk, \
.can_dma = dma, \
.can_isoc = isoc, \
}
#if defined(CONFIG_AT91SAM9G45) || defined(CONFIG_AT91SAM9M10G45) || \
defined(CONFIG_AT91SAM9X5)
static struct usba_ep_data usba_udc_ep[] = {
EP("ep0", 0, 64, 1, 0, 0),
... ...
EP("ep6", 6, 1024, 3, 1, 1),
};
#elif defined(CONFIG_SAMA5D3)
static struct usba_ep_data usba_udc_ep[] = {
EP("ep0", 0, 64, 1, 0, 0),
..
EP("ep15", 15, 1024, 2, 0, 0),
};
#else
# error "NO usba_udc_ep defined"
#endif
#undef EP
struct usba_platform_data pdata = {
.num_ep = ARRAY_SIZE(usba_udc_ep),
.ep = usba_udc_ep,
};
#endif
---<8---
> Best regards
>
> Andreas Bießmann
>
Best Regards,
Bo Shen
More information about the U-Boot
mailing list