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 - reg: Address and length of the register set for the device 9 - interrupts: Should contain ohci interrupt 10 - clocks: Should reference the peripheral, host and system clocks 11 - clock-names: Should contain three strings 12 "ohci_clk" for the peripheral clock 13 "hclk" for the host clock 14 "uhpck" for the system clock 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 21usb0: ohci@500000 { 22 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 23 reg = <0x00500000 0x100000>; 24 clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; 25 clock-names = "ohci_clk", "hclk", "uhpck"; 26 interrupts = <20 4>; 27 num-ports = <2>; 28}; 29 30EHCI 31 32Required properties: 33 - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers 34 used in host mode. 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 contain two strings 39 "ehci_clk" for the peripheral clock 40 "usb_clk" for the UTMI clock 41 42Optional properties: 43 - phy_type : For multi port host USB controllers, should be one of 44 "utmi", or "hsic". 45 46usb1: ehci@800000 { 47 compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 48 reg = <0x00800000 0x100000>; 49 interrupts = <22 4>; 50 clocks = <&utmi>, <&uhphs_clk>; 51 clock-names = "usb_clk", "ehci_clk"; 52}; 53 54AT91 USB device controller 55 56Required properties: 57 - compatible: Should be one of the following 58 "atmel,at91rm9200-udc" 59 "atmel,at91sam9260-udc" 60 "atmel,at91sam9261-udc" 61 "atmel,at91sam9263-udc" 62 - reg: Address and length of the register set for the device 63 - interrupts: Should contain macb interrupt 64 - clocks: Should reference the peripheral and the AHB clocks 65 - clock-names: Should contain two strings 66 "pclk" for the peripheral clock 67 "hclk" for the AHB clock 68 69Optional properties: 70 - atmel,vbus-gpio: If present, specifies a gpio that needs to be 71 activated for the bus to be powered. 72 73usb1: gadget@fffa4000 { 74 compatible = "atmel,at91rm9200-udc"; 75 reg = <0xfffa4000 0x4000>; 76 interrupts = <10 4>; 77 clocks = <&udc_clk>, <&udpck>; 78 clock-names = "pclk", "hclk"; 79 atmel,vbus-gpio = <&pioC 5 0>; 80}; 81 82Atmel High-Speed USB device controller 83 84Required properties: 85 - compatible: Should be one of the following 86 "atmel,at91sam9rl-udc" 87 "atmel,at91sam9g45-udc" 88 "atmel,sama5d3-udc" 89 "microchip,sam9x60-udc" 90 - reg: Address and length of the register set for the device 91 - interrupts: Should contain usba interrupt 92 - clocks: Should reference the peripheral and host clocks 93 - clock-names: Should contain two strings 94 "pclk" for the peripheral clock 95 "hclk" for the host clock 96 97Deprecated property: 98 - ep childnode: To specify the number of endpoints and their properties. 99 100Optional properties: 101 - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether 102 vbus is present (USB is connected). 103 104Deprecated child node properties: 105 - name: Name of the endpoint. 106 - reg: Num of the endpoint. 107 - atmel,fifo-size: Size of the fifo. 108 - atmel,nb-banks: Number of banks. 109 - atmel,can-dma: Boolean to specify if the endpoint support DMA. 110 - atmel,can-isoc: Boolean to specify if the endpoint support ISOC. 111 112usb2: gadget@fff78000 { 113 #address-cells = <1>; 114 #size-cells = <0>; 115 compatible = "atmel,at91sam9rl-udc"; 116 reg = <0x00600000 0x80000 117 0xfff78000 0x400>; 118 interrupts = <27 4 0>; 119 clocks = <&utmi>, <&udphs_clk>; 120 clock-names = "hclk", "pclk"; 121 atmel,vbus-gpio = <&pioB 19 0>; 122}; 123