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