xref: /rk3399_rockchip-uboot/arch/arm/mach-at91/include/mach/atmel_usba_udc.h (revision 4a421a67b6f36678bfd27b7fedc0de35faf94c76)
1af930827SMasahiro Yamada /*
2af930827SMasahiro Yamada  * Copyright (C) 2005-2013 Atmel Corporation
3af930827SMasahiro Yamada  *			   Bo Shen <voice.shen@atmel.com>
4af930827SMasahiro Yamada  *
5af930827SMasahiro Yamada  * SPDX-License-Identifier:	GPL-2.0+
6af930827SMasahiro Yamada  */
7af930827SMasahiro Yamada 
8af930827SMasahiro Yamada #ifndef __ATMEL_USBA_UDC_H__
9af930827SMasahiro Yamada #define __ATMEL_USBA_UDC_H__
10af930827SMasahiro Yamada 
11af930827SMasahiro Yamada #include <linux/usb/atmel_usba_udc.h>
12af930827SMasahiro Yamada 
13af930827SMasahiro Yamada #define EP(nam, idx, maxpkt, maxbk, dma, isoc)		\
14af930827SMasahiro Yamada 	[idx] = {					\
15af930827SMasahiro Yamada 		.name	= nam,				\
16af930827SMasahiro Yamada 		.index	= idx,				\
17af930827SMasahiro Yamada 		.fifo_size	= maxpkt,		\
18af930827SMasahiro Yamada 		.nr_banks	= maxbk,		\
19af930827SMasahiro Yamada 		.can_dma	= dma,			\
20af930827SMasahiro Yamada 		.can_isoc	= isoc,			\
21af930827SMasahiro Yamada 	}
22af930827SMasahiro Yamada 
23af930827SMasahiro Yamada #if defined(CONFIG_AT91SAM9G45) || defined(CONFIG_AT91SAM9M10G45) || \
24af930827SMasahiro Yamada 	defined(CONFIG_AT91SAM9X5)
25af930827SMasahiro Yamada static struct usba_ep_data usba_udc_ep[] = {
26af930827SMasahiro Yamada 	EP("ep0", 0, 64, 1, 0, 0),
27af930827SMasahiro Yamada 	EP("ep1", 1, 1024, 2, 1, 1),
28af930827SMasahiro Yamada 	EP("ep2", 2, 1024, 2, 1, 1),
29af930827SMasahiro Yamada 	EP("ep3", 3, 1024, 3, 1, 0),
30af930827SMasahiro Yamada 	EP("ep4", 4, 1024, 3, 1, 0),
31af930827SMasahiro Yamada 	EP("ep5", 5, 1024, 3, 1, 1),
32af930827SMasahiro Yamada 	EP("ep6", 6, 1024, 3, 1, 1),
33af930827SMasahiro Yamada };
34*75238f23SWenyou Yang #elif defined(CONFIG_SAMA5D2) || defined(CONFIG_SAMA5D3) || \
35*75238f23SWenyou Yang 	defined(CONFIG_SAMA5D4)
36af930827SMasahiro Yamada static struct usba_ep_data usba_udc_ep[] = {
37af930827SMasahiro Yamada 	EP("ep0", 0, 64, 1, 0, 0),
38af930827SMasahiro Yamada 	EP("ep1", 1, 1024, 3, 1, 0),
39af930827SMasahiro Yamada 	EP("ep2", 2, 1024, 3, 1, 0),
40af930827SMasahiro Yamada 	EP("ep3", 3, 1024, 2, 1, 0),
41af930827SMasahiro Yamada 	EP("ep4", 4, 1024, 2, 1, 0),
42af930827SMasahiro Yamada 	EP("ep5", 5, 1024, 2, 1, 0),
43af930827SMasahiro Yamada 	EP("ep6", 6, 1024, 2, 1, 0),
44af930827SMasahiro Yamada 	EP("ep7", 7, 1024, 2, 1, 0),
45af930827SMasahiro Yamada 	EP("ep8", 8, 1024, 2, 0, 0),
46af930827SMasahiro Yamada 	EP("ep9", 9, 1024, 2, 0, 0),
47af930827SMasahiro Yamada 	EP("ep10", 10, 1024, 2, 0, 0),
48af930827SMasahiro Yamada 	EP("ep11", 11, 1024, 2, 0, 0),
49af930827SMasahiro Yamada 	EP("ep12", 12, 1024, 2, 0, 0),
50af930827SMasahiro Yamada 	EP("ep13", 13, 1024, 2, 0, 0),
51af930827SMasahiro Yamada 	EP("ep14", 14, 1024, 2, 0, 0),
52af930827SMasahiro Yamada 	EP("ep15", 15, 1024, 2, 0, 0),
53af930827SMasahiro Yamada };
54af930827SMasahiro Yamada #else
55af930827SMasahiro Yamada # error "NO usba_udc_ep defined"
56af930827SMasahiro Yamada #endif
57af930827SMasahiro Yamada 
58af930827SMasahiro Yamada #undef EP
59af930827SMasahiro Yamada 
60af930827SMasahiro Yamada struct usba_platform_data pdata = {
61af930827SMasahiro Yamada 	.num_ep	= ARRAY_SIZE(usba_udc_ep),
62af930827SMasahiro Yamada 	.ep	= usba_udc_ep,
63af930827SMasahiro Yamada };
64af930827SMasahiro Yamada 
65af930827SMasahiro Yamada #endif
66