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