Linux 4.1.18
[linux/fpc-iii.git] / Documentation / devicetree / bindings / usb / atmel-usb.txt
blobde773a00e2d4794553a5807c2aef80f9f07ad0c1
1 Atmel SOC USB controllers
3 OHCI
5 Required 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.
14 usb0: ohci@00500000 {
15         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
16         reg = <0x00500000 0x100000>;
17         interrupts = <20 4>;
18         num-ports = <2>;
21 EHCI
23 Required properties:
24  - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers
25    used in host mode.
27 usb1: ehci@00800000 {
28         compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
29         reg = <0x00800000 0x100000>;
30         interrupts = <22 4>;
33 AT91 USB device controller
35 Required 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
48 Optional properties:
49  - atmel,vbus-gpio: If present, specifies a gpio that needs to be
50    activated for the bus to be powered.
52 usb1: gadget@fffa4000 {
53         compatible = "atmel,at91rm9200-udc";
54         reg = <0xfffa4000 0x4000>;
55         interrupts = <10 4>;
56         atmel,vbus-gpio = <&pioC 5 0>;
59 Atmel High-Speed USB device controller
61 Required properties:
62  - compatible: Should be one of the following
63                "atmel,at91sam9rl-udc"
64                "atmel,at91sam9g45-udc"
65                "atmel,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.
70 Optional properties:
71  - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether
72    vbus is present (USB is connected).
74 Required 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.
82 usb2: 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>;
91         ep0 {
92                 reg = <0>;
93                 atmel,fifo-size = <64>;
94                 atmel,nb-banks = <1>;
95         };
97         ep1 {
98                 reg = <1>;
99                 atmel,fifo-size = <1024>;
100                 atmel,nb-banks = <2>;
101                 atmel,can-dma;
102                 atmel,can-isoc;
103         };
105         ep2 {
106                 reg = <2>;
107                 atmel,fifo-size = <1024>;
108                 atmel,nb-banks = <2>;
109                 atmel,can-dma;
110                 atmel,can-isoc;
111         };
113         ep3 {
114                 reg = <3>;
115                 atmel,fifo-size = <1024>;
116                 atmel,nb-banks = <3>;
117                 atmel,can-dma;
118         };
120         ep4 {
121                 reg = <4>;
122                 atmel,fifo-size = <1024>;
123                 atmel,nb-banks = <3>;
124                 atmel,can-dma;
125         };
127         ep5 {
128                 reg = <5>;
129                 atmel,fifo-size = <1024>;
130                 atmel,nb-banks = <3>;
131                 atmel,can-dma;
132                 atmel,can-isoc;
133         };
135         ep6 {
136                 reg = <6>;
137                 atmel,fifo-size = <1024>;
138                 atmel,nb-banks = <3>;
139                 atmel,can-dma;
140                 atmel,can-isoc;
141         };