Atmel SOC USB controllers OHCI Required properties: - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers used in host mode. - 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@00500000 { compatible = "atmel,at91rm9200-ohci", "usb-ohci"; reg = <0x00500000 0x100000>; interrupts = <20 4>; num-ports = <2>; }; EHCI Required properties: - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers used in host mode. usb1: ehci@00800000 { compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; reg = <0x00800000 0x100000>; interrupts = <22 4>; }; 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 contains 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>; atmel,vbus-gpio = <&pioC 5 0>; }; Atmel High-Speed USB device controller Required properties: - compatible: Should be one of the following "at91sam9rl-udc" "at91sam9g45-udc" "sama5d3-udc" - reg: Address and length of the register set for the device - interrupts: Should contain usba interrupt - 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). Required 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>; atmel,vbus-gpio = <&pioB 19 0>; ep0 { reg = <0>; atmel,fifo-size = <64>; atmel,nb-banks = <1>; }; ep1 { reg = <1>; atmel,fifo-size = <1024>; atmel,nb-banks = <2>; atmel,can-dma; atmel,can-isoc; }; ep2 { reg = <2>; atmel,fifo-size = <1024>; atmel,nb-banks = <2>; atmel,can-dma; atmel,can-isoc; }; ep3 { reg = <3>; atmel,fifo-size = <1024>; atmel,nb-banks = <3>; atmel,can-dma; }; ep4 { reg = <4>; atmel,fifo-size = <1024>; atmel,nb-banks = <3>; atmel,can-dma; }; ep5 { reg = <5>; atmel,fifo-size = <1024>; atmel,nb-banks = <3>; atmel,can-dma; atmel,can-isoc; }; ep6 { reg = <6>; atmel,fifo-size = <1024>; atmel,nb-banks = <3>; atmel,can-dma; atmel,can-isoc; }; };