1Atmel SOC USB controllers
2
3OHCI
4
5Required properties:
6 - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers
7   used in host mode.
8 - num-ports: Number of ports.
9 - atmel,vbus-gpio: If present, specifies a gpio that needs to be
10   activated for the bus to be powered.
11 - atmel,oc-gpio: If present, specifies a gpio that needs to be
12   activated for the overcurrent detection.
13
14usb0: ohci@00500000 {
15	compatible = "atmel,at91rm9200-ohci", "usb-ohci";
16	reg = <0x00500000 0x100000>;
17	interrupts = <20 4>;
18	num-ports = <2>;
19};
20
21EHCI
22
23Required properties:
24 - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers
25   used in host mode.
26
27usb1: ehci@00800000 {
28	compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
29	reg = <0x00800000 0x100000>;
30	interrupts = <22 4>;
31};
32
33AT91 USB device controller
34
35Required properties:
36 - compatible: Should be one of the following
37	       "atmel,at91rm9200-udc"
38	       "atmel,at91sam9260-udc"
39	       "atmel,at91sam9261-udc"
40	       "atmel,at91sam9263-udc"
41 - reg: Address and length of the register set for the device
42 - interrupts: Should contain macb interrupt
43 - clocks: Should reference the peripheral and the AHB clocks
44 - clock-names: Should contains two strings
45		"pclk" for the peripheral clock
46		"hclk" for the AHB clock
47
48Optional properties:
49 - atmel,vbus-gpio: If present, specifies a gpio that needs to be
50   activated for the bus to be powered.
51
52usb1: gadget@fffa4000 {
53	compatible = "atmel,at91rm9200-udc";
54	reg = <0xfffa4000 0x4000>;
55	interrupts = <10 4>;
56	atmel,vbus-gpio = <&pioC 5 0>;
57};
58
59Atmel High-Speed USB device controller
60
61Required properties:
62 - compatible: Should be one of the following
63	       "at91sam9rl-udc"
64	       "at91sam9g45-udc"
65	       "sama5d3-udc"
66 - reg: Address and length of the register set for the device
67 - interrupts: Should contain usba interrupt
68 - ep childnode: To specify the number of endpoints and their properties.
69
70Optional properties:
71 - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether
72   vbus is present (USB is connected).
73
74Required child node properties:
75 - name: Name of the endpoint.
76 - reg: Num of the endpoint.
77 - atmel,fifo-size: Size of the fifo.
78 - atmel,nb-banks: Number of banks.
79 - atmel,can-dma: Boolean to specify if the endpoint support DMA.
80 - atmel,can-isoc: Boolean to specify if the endpoint support ISOC.
81
82usb2: gadget@fff78000 {
83	#address-cells = <1>;
84	#size-cells = <0>;
85	compatible = "atmel,at91sam9rl-udc";
86	reg = <0x00600000 0x80000
87	       0xfff78000 0x400>;
88	interrupts = <27 4 0>;
89	atmel,vbus-gpio = <&pioB 19 0>;
90
91	ep0 {
92		reg = <0>;
93		atmel,fifo-size = <64>;
94		atmel,nb-banks = <1>;
95	};
96
97	ep1 {
98		reg = <1>;
99		atmel,fifo-size = <1024>;
100		atmel,nb-banks = <2>;
101		atmel,can-dma;
102		atmel,can-isoc;
103	};
104
105	ep2 {
106		reg = <2>;
107		atmel,fifo-size = <1024>;
108		atmel,nb-banks = <2>;
109		atmel,can-dma;
110		atmel,can-isoc;
111	};
112
113	ep3 {
114		reg = <3>;
115		atmel,fifo-size = <1024>;
116		atmel,nb-banks = <3>;
117		atmel,can-dma;
118	};
119
120	ep4 {
121		reg = <4>;
122		atmel,fifo-size = <1024>;
123		atmel,nb-banks = <3>;
124		atmel,can-dma;
125	};
126
127	ep5 {
128		reg = <5>;
129		atmel,fifo-size = <1024>;
130		atmel,nb-banks = <3>;
131		atmel,can-dma;
132		atmel,can-isoc;
133	};
134
135	ep6 {
136		reg = <6>;
137		atmel,fifo-size = <1024>;
138		atmel,nb-banks = <3>;
139		atmel,can-dma;
140		atmel,can-isoc;
141	};
142};
143