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 "atmel,at91rm9200-udc"
 - reg: Address and length of the register set for the device
 - interrupts: Should contain macb interrupt

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 "atmel,at91sam9rl-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;
	};
};
