summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/usb/atmel-usb.txt
blob: e180d56c75dbed57994ed9f600446ed228d33dca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
Atmel SOC USB controllers

OHCI

Required properties:
 - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers
   used in host mode.
 - num-ports: Number of ports.
 - atmel,vbus-gpio: If present, specifies a gpio that needs to be
   activated for the bus to be powered.
 - atmel,oc-gpio: If present, specifies a gpio that needs to be
   activated for the overcurrent detection.

usb0: ohci@00500000 {
	compatible = "atmel,at91rm9200-ohci", "usb-ohci";
	reg = <0x00500000 0x100000>;
	interrupts = <20 4>;
	num-ports = <2>;
};

EHCI

Required properties:
 - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers
   used in host mode.

usb1: ehci@00800000 {
	compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
	reg = <0x00800000 0x100000>;
	interrupts = <22 4>;
};

AT91 USB device controller

Required properties:
 - compatible: Should be one of the following
	       "atmel,at91rm9200-udc"
	       "atmel,at91sam9260-udc"
	       "atmel,at91sam9261-udc"
	       "atmel,at91sam9263-udc"
 - reg: Address and length of the register set for the device
 - interrupts: Should contain macb interrupt
 - clocks: Should reference the peripheral and the AHB clocks
 - clock-names: Should contains two strings
		"pclk" for the peripheral clock
		"hclk" for the AHB clock

Optional properties:
 - atmel,vbus-gpio: If present, specifies a gpio that needs to be
   activated for the bus to be powered.

usb1: gadget@fffa4000 {
	compatible = "atmel,at91rm9200-udc";
	reg = <0xfffa4000 0x4000>;
	interrupts = <10 4>;
	atmel,vbus-gpio = <&pioC 5 0>;
};

Atmel High-Speed USB device controller

Required properties:
 - compatible: Should be one of the following
	       "at91sam9rl-udc"
	       "at91sam9g45-udc"
	       "sama5d3-udc"
 - reg: Address and length of the register set for the device
 - interrupts: Should contain usba interrupt
 - ep childnode: To specify the number of endpoints and their properties.

Optional properties:
 - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether
   vbus is present (USB is connected).

Required child node properties:
 - name: Name of the endpoint.
 - reg: Num of the endpoint.
 - atmel,fifo-size: Size of the fifo.
 - atmel,nb-banks: Number of banks.
 - atmel,can-dma: Boolean to specify if the endpoint support DMA.
 - atmel,can-isoc: Boolean to specify if the endpoint support ISOC.

usb2: gadget@fff78000 {
	#address-cells = <1>;
	#size-cells = <0>;
	compatible = "atmel,at91sam9rl-udc";
	reg = <0x00600000 0x80000
	       0xfff78000 0x400>;
	interrupts = <27 4 0>;
	atmel,vbus-gpio = <&pioB 19 0>;

	ep0 {
		reg = <0>;
		atmel,fifo-size = <64>;
		atmel,nb-banks = <1>;
	};

	ep1 {
		reg = <1>;
		atmel,fifo-size = <1024>;
		atmel,nb-banks = <2>;
		atmel,can-dma;
		atmel,can-isoc;
	};

	ep2 {
		reg = <2>;
		atmel,fifo-size = <1024>;
		atmel,nb-banks = <2>;
		atmel,can-dma;
		atmel,can-isoc;
	};

	ep3 {
		reg = <3>;
		atmel,fifo-size = <1024>;
		atmel,nb-banks = <3>;
		atmel,can-dma;
	};

	ep4 {
		reg = <4>;
		atmel,fifo-size = <1024>;
		atmel,nb-banks = <3>;
		atmel,can-dma;
	};

	ep5 {
		reg = <5>;
		atmel,fifo-size = <1024>;
		atmel,nb-banks = <3>;
		atmel,can-dma;
		atmel,can-isoc;
	};

	ep6 {
		reg = <6>;
		atmel,fifo-size = <1024>;
		atmel,nb-banks = <3>;
		atmel,can-dma;
		atmel,can-isoc;
	};
};