xref: /linux/Documentation/devicetree/bindings/usb/atmel-usb.txt (revision 3932b9ca55b0be314a36d3e84faff3e823c081f5)
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 "atmel,at91rm9200-udc"
37 - reg: Address and length of the register set for the device
38 - interrupts: Should contain macb interrupt
39
40Optional properties:
41 - atmel,vbus-gpio: If present, specifies a gpio that needs to be
42   activated for the bus to be powered.
43
44usb1: gadget@fffa4000 {
45	compatible = "atmel,at91rm9200-udc";
46	reg = <0xfffa4000 0x4000>;
47	interrupts = <10 4>;
48	atmel,vbus-gpio = <&pioC 5 0>;
49};
50
51Atmel High-Speed USB device controller
52
53Required properties:
54 - compatible: Should be "atmel,at91sam9rl-udc"
55 - reg: Address and length of the register set for the device
56 - interrupts: Should contain usba interrupt
57 - ep childnode: To specify the number of endpoints and their properties.
58
59Optional properties:
60 - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether
61   vbus is present (USB is connected).
62
63Required child node properties:
64 - name: Name of the endpoint.
65 - reg: Num of the endpoint.
66 - atmel,fifo-size: Size of the fifo.
67 - atmel,nb-banks: Number of banks.
68 - atmel,can-dma: Boolean to specify if the endpoint support DMA.
69 - atmel,can-isoc: Boolean to specify if the endpoint support ISOC.
70
71usb2: gadget@fff78000 {
72	#address-cells = <1>;
73	#size-cells = <0>;
74	compatible = "atmel,at91sam9rl-udc";
75	reg = <0x00600000 0x80000
76	       0xfff78000 0x400>;
77	interrupts = <27 4 0>;
78	atmel,vbus-gpio = <&pioB 19 0>;
79
80	ep0 {
81		reg = <0>;
82		atmel,fifo-size = <64>;
83		atmel,nb-banks = <1>;
84	};
85
86	ep1 {
87		reg = <1>;
88		atmel,fifo-size = <1024>;
89		atmel,nb-banks = <2>;
90		atmel,can-dma;
91		atmel,can-isoc;
92	};
93
94	ep2 {
95		reg = <2>;
96		atmel,fifo-size = <1024>;
97		atmel,nb-banks = <2>;
98		atmel,can-dma;
99		atmel,can-isoc;
100	};
101
102	ep3 {
103		reg = <3>;
104		atmel,fifo-size = <1024>;
105		atmel,nb-banks = <3>;
106		atmel,can-dma;
107	};
108
109	ep4 {
110		reg = <4>;
111		atmel,fifo-size = <1024>;
112		atmel,nb-banks = <3>;
113		atmel,can-dma;
114	};
115
116	ep5 {
117		reg = <5>;
118		atmel,fifo-size = <1024>;
119		atmel,nb-banks = <3>;
120		atmel,can-dma;
121		atmel,can-isoc;
122	};
123
124	ep6 {
125		reg = <6>;
126		atmel,fifo-size = <1024>;
127		atmel,nb-banks = <3>;
128		atmel,can-dma;
129		atmel,can-isoc;
130	};
131};
132