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