Documentation / devicetree / bindings / usb / atmel-usb.txt


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
Atmel SOC USB controllers

OHCI

Required properties:
 - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers
   used in host mode.
 - reg: Address and length of the register set for the device
 - interrupts: Should contain ohci interrupt
 - clocks: Should reference the peripheral, host and system clocks
 - clock-names: Should contain three strings
		"ohci_clk" for the peripheral clock
		"hclk" for the host clock
		"uhpck" for the system clock
 - 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@500000 {
	compatible = "atmel,at91rm9200-ohci", "usb-ohci";
	reg = <0x00500000 0x100000>;
	clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
	clock-names = "ohci_clk", "hclk", "uhpck";
	interrupts = <20 4>;
	num-ports = <2>;
};

EHCI

Required properties:
 - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers
   used in host mode.
 - reg: Address and length of the register set for the device
 - interrupts: Should contain ehci interrupt
 - clocks: Should reference the peripheral and the UTMI clocks
 - clock-names: Should contain two strings
		"ehci_clk" for the peripheral clock
		"usb_clk" for the UTMI clock

Optional properties:
 - phy_type : For multi port host USB controllers, should be one of
   "utmi", or "hsic".

usb1: ehci@800000 {
	compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
	reg = <0x00800000 0x100000>;
	interrupts = <22 4>;
	clocks = <&utmi>, <&uhphs_clk>;
	clock-names = "usb_clk", "ehci_clk";
};

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 contain 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>;
	clocks = <&udc_clk>, <&udpck>;
	clock-names = "pclk", "hclk";
	atmel,vbus-gpio = <&pioC 5 0>;
};

Atmel High-Speed USB device controller

Required properties:
 - compatible: Should be one of the following
	       "atmel,at91sam9rl-udc"
	       "atmel,at91sam9g45-udc"
	       "atmel,sama5d3-udc"
	       "microchip,sam9x60-udc"
	       "microchip,lan9662-udc"
	       For "microchip,lan9662-udc" the fallback "atmel,sama5d3-udc"
	       is required.
 - reg: Address and length of the register set for the device
 - interrupts: Should contain usba interrupt
 - clocks: Should reference the peripheral and host clocks
 - clock-names: Should contain two strings
		"pclk" for the peripheral clock
		"hclk" for the host clock

Deprecated property:
 - 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).

Deprecated 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>;
	clocks = <&utmi>, <&udphs_clk>;
	clock-names = "hclk", "pclk";
	atmel,vbus-gpio = <&pioB 19 0>;
};