Jean-Christophe PLAGNIOL-VILLARD | 2419730 | 2011-11-21 06:55:18 +0800 | [diff] [blame] | 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. |
Boris Brezillon | b34e96b | 2015-03-17 17:15:48 +0100 | [diff] [blame] | 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 |
Jean-Christophe PLAGNIOL-VILLARD | 2419730 | 2011-11-21 06:55:18 +0800 | [diff] [blame] | 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>; |
Boris Brezillon | b34e96b | 2015-03-17 17:15:48 +0100 | [diff] [blame] | 24 | clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; |
| 25 | clock-names = "ohci_clk", "hclk", "uhpck"; |
Jean-Christophe PLAGNIOL-VILLARD | 2419730 | 2011-11-21 06:55:18 +0800 | [diff] [blame] | 26 | interrupts = <20 4>; |
| 27 | num-ports = <2>; |
| 28 | }; |
Jean-Christophe PLAGNIOL-VILLARD | 9d84300 | 2011-11-22 12:11:13 +0800 | [diff] [blame] | 29 | |
| 30 | EHCI |
| 31 | |
| 32 | Required properties: |
| 33 | - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers |
| 34 | used in host mode. |
Boris Brezillon | b34e96b | 2015-03-17 17:15:48 +0100 | [diff] [blame] | 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 |
Jean-Christophe PLAGNIOL-VILLARD | 9d84300 | 2011-11-22 12:11:13 +0800 | [diff] [blame] | 41 | |
| 42 | usb1: ehci@00800000 { |
| 43 | compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; |
| 44 | reg = <0x00800000 0x100000>; |
| 45 | interrupts = <22 4>; |
Boris Brezillon | b34e96b | 2015-03-17 17:15:48 +0100 | [diff] [blame] | 46 | clocks = <&utmi>, <&uhphs_clk>; |
| 47 | clock-names = "usb_clk", "ehci_clk"; |
Jean-Christophe PLAGNIOL-VILLARD | 9d84300 | 2011-11-22 12:11:13 +0800 | [diff] [blame] | 48 | }; |
Jean-Christophe PLAGNIOL-VILLARD | d1494a3 | 2012-01-28 22:35:36 +0800 | [diff] [blame] | 49 | |
| 50 | AT91 USB device controller |
| 51 | |
| 52 | Required properties: |
Boris Brezillon | 62b986c | 2015-01-14 17:22:03 +0100 | [diff] [blame] | 53 | - compatible: Should be one of the following |
| 54 | "atmel,at91rm9200-udc" |
| 55 | "atmel,at91sam9260-udc" |
| 56 | "atmel,at91sam9261-udc" |
| 57 | "atmel,at91sam9263-udc" |
Jean-Christophe PLAGNIOL-VILLARD | d1494a3 | 2012-01-28 22:35:36 +0800 | [diff] [blame] | 58 | - reg: Address and length of the register set for the device |
| 59 | - interrupts: Should contain macb interrupt |
Boris Brezillon | 31b817b | 2015-01-14 17:21:59 +0100 | [diff] [blame] | 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 |
Jean-Christophe PLAGNIOL-VILLARD | d1494a3 | 2012-01-28 22:35:36 +0800 | [diff] [blame] | 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>; |
Boris Brezillon | b34e96b | 2015-03-17 17:15:48 +0100 | [diff] [blame] | 73 | clocks = <&udc_clk>, <&udpck>; |
| 74 | clock-names = "pclk", "hclk"; |
Jean-Christophe PLAGNIOL-VILLARD | d1494a3 | 2012-01-28 22:35:36 +0800 | [diff] [blame] | 75 | atmel,vbus-gpio = <&pioC 5 0>; |
| 76 | }; |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 77 | |
| 78 | Atmel High-Speed USB device controller |
| 79 | |
| 80 | Required properties: |
Boris Brezillon | 3280e67 | 2015-01-06 14:46:58 +0100 | [diff] [blame] | 81 | - compatible: Should be one of the following |
Nicolas Ferre | 50f0a44 | 2015-06-17 10:59:04 +0200 | [diff] [blame] | 82 | "atmel,at91sam9rl-udc" |
| 83 | "atmel,at91sam9g45-udc" |
| 84 | "atmel,sama5d3-udc" |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 85 | - reg: Address and length of the register set for the device |
| 86 | - interrupts: Should contain usba interrupt |
Boris Brezillon | b34e96b | 2015-03-17 17:15:48 +0100 | [diff] [blame] | 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 |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 91 | - ep childnode: To specify the number of endpoints and their properties. |
| 92 | |
| 93 | Optional properties: |
Alexandre Belloni | 028ab4d | 2014-02-27 16:45:10 +0100 | [diff] [blame] | 94 | - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether |
| 95 | vbus is present (USB is connected). |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 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>; |
Boris Brezillon | b34e96b | 2015-03-17 17:15:48 +0100 | [diff] [blame] | 112 | clocks = <&utmi>, <&udphs_clk>; |
| 113 | clock-names = "hclk", "pclk"; |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 114 | atmel,vbus-gpio = <&pioB 19 0>; |
| 115 | |
Alexandre Belloni | 60ec83e | 2016-07-12 22:45:47 +0200 | [diff] [blame] | 116 | ep@0 { |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 117 | reg = <0>; |
| 118 | atmel,fifo-size = <64>; |
| 119 | atmel,nb-banks = <1>; |
| 120 | }; |
| 121 | |
Alexandre Belloni | 60ec83e | 2016-07-12 22:45:47 +0200 | [diff] [blame] | 122 | ep@1 { |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 123 | reg = <1>; |
| 124 | atmel,fifo-size = <1024>; |
| 125 | atmel,nb-banks = <2>; |
| 126 | atmel,can-dma; |
| 127 | atmel,can-isoc; |
| 128 | }; |
| 129 | |
Alexandre Belloni | 60ec83e | 2016-07-12 22:45:47 +0200 | [diff] [blame] | 130 | ep@2 { |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 131 | reg = <2>; |
| 132 | atmel,fifo-size = <1024>; |
| 133 | atmel,nb-banks = <2>; |
| 134 | atmel,can-dma; |
| 135 | atmel,can-isoc; |
| 136 | }; |
| 137 | |
Alexandre Belloni | 60ec83e | 2016-07-12 22:45:47 +0200 | [diff] [blame] | 138 | ep@3 { |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 139 | reg = <3>; |
| 140 | atmel,fifo-size = <1024>; |
| 141 | atmel,nb-banks = <3>; |
| 142 | atmel,can-dma; |
| 143 | }; |
| 144 | |
Alexandre Belloni | 60ec83e | 2016-07-12 22:45:47 +0200 | [diff] [blame] | 145 | ep@4 { |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 146 | reg = <4>; |
| 147 | atmel,fifo-size = <1024>; |
| 148 | atmel,nb-banks = <3>; |
| 149 | atmel,can-dma; |
| 150 | }; |
| 151 | |
Alexandre Belloni | 60ec83e | 2016-07-12 22:45:47 +0200 | [diff] [blame] | 152 | ep@5 { |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 153 | reg = <5>; |
| 154 | atmel,fifo-size = <1024>; |
| 155 | atmel,nb-banks = <3>; |
| 156 | atmel,can-dma; |
| 157 | atmel,can-isoc; |
| 158 | }; |
| 159 | |
Alexandre Belloni | 60ec83e | 2016-07-12 22:45:47 +0200 | [diff] [blame] | 160 | ep@6 { |
Jean-Christophe PLAGNIOL-VILLARD | 4a3ae93 | 2013-05-03 20:22:57 +0800 | [diff] [blame] | 161 | reg = <6>; |
| 162 | atmel,fifo-size = <1024>; |
| 163 | atmel,nb-banks = <3>; |
| 164 | atmel,can-dma; |
| 165 | atmel,can-isoc; |
| 166 | }; |
| 167 | }; |