summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/usb/atmel-usb.txt
blob: 12183ef47ee48fbee2d5041df8366aa1e778b6e5 (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
Atmel SOC USB controllers

OHCI

Required properties:
 - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers
   used in host mode.
 - reg: Address and length of the register set for the device
 - interrupts: Should contain ohci interrupt
 - clocks: Should reference the peripheral, host and system clocks
 - clock-names: Should contain three strings
		"ohci_clk" for the peripheral clock
		"hclk" for the host clock
		"uhpck" for the system clock
 - 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@500000 {
	compatible = "atmel,at91rm9200-ohci", "usb-ohci";
	reg = <0x00500000 0x100000>;
	clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
	clock-names = "ohci_clk", "hclk", "uhpck";
	interrupts = <20 4>;
	num-ports = <2>;
};

EHCI

Required properties:
 - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers
   used in host mode.
 - reg: Address and length of the register set for the device
 - interrupts: Should contain ehci interrupt
 - clocks: Should reference the peripheral and the UTMI clocks
 - clock-names: Should contain two strings
		"ehci_clk" for the peripheral clock
		"usb_clk" for the UTMI clock

Optional properties:
 - phy_type : For multi port host USB controllers, should be one of
   "utmi", or "hsic".

usb1: ehci@800000 {
	compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
	reg = <0x00800000 0x100000>;
	interrupts = <22 4>;
	clocks = <&utmi>, <&uhphs_clk>;
	clock-names = "usb_clk", "ehci_clk";
};

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 contain 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>;
	clocks = <&udc_clk>, <&udpck>;
	clock-names = "pclk", "hclk";
	atmel,vbus-gpio = <&pioC 5 0>;
};

Atmel High-Speed USB device controller

Required properties:
 - compatible: Should be one of the following
	       "atmel,at91sam9rl-udc"
	       "atmel,at91sam9g45-udc"
	       "atmel,sama5d3-udc"
	       "microchip,sam9x60-udc"
	       "microchip,lan9662-udc"
	       For "microchip,lan9662-udc" the fallback "atmel,sama5d3-udc"
	       is required.
 - reg: Address and length of the register set for the device
 - interrupts: Should contain usba interrupt
 - clocks: Should reference the peripheral and host clocks
 - clock-names: Should contain two strings
		"pclk" for the peripheral clock
		"hclk" for the host clock

Deprecated property:
 - 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).

Deprecated 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>;
	clocks = <&utmi>, <&udphs_clk>;
	clock-names = "hclk", "pclk";
	atmel,vbus-gpio = <&pioB 19 0>;
};