Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame^] | 1 | Atmel SOC USB controllers |
| 2 | |
| 3 | OHCI |
| 4 | |
| 5 | Required 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 | |
| 21 | usb0: 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 | |
| 30 | EHCI |
| 31 | |
| 32 | Required 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 | |
| 42 | Optional properties: |
| 43 | - phy_type : For multi port host USB controllers, should be one of |
| 44 | "utmi", or "hsic". |
| 45 | |
| 46 | usb1: 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 | |
| 54 | AT91 USB device controller |
| 55 | |
| 56 | Required 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 | |
| 69 | Optional properties: |
| 70 | - atmel,vbus-gpio: If present, specifies a gpio that needs to be |
| 71 | activated for the bus to be powered. |
| 72 | |
| 73 | usb1: 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 | |
| 82 | Atmel High-Speed USB device controller |
| 83 | |
| 84 | Required 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 | "microchip,lan9662-udc" |
| 91 | For "microchip,lan9662-udc" the fallback "atmel,sama5d3-udc" |
| 92 | is required. |
| 93 | - reg: Address and length of the register set for the device |
| 94 | - interrupts: Should contain usba interrupt |
| 95 | - clocks: Should reference the peripheral and host clocks |
| 96 | - clock-names: Should contain two strings |
| 97 | "pclk" for the peripheral clock |
| 98 | "hclk" for the host clock |
| 99 | |
| 100 | Deprecated property: |
| 101 | - ep childnode: To specify the number of endpoints and their properties. |
| 102 | |
| 103 | Optional properties: |
| 104 | - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether |
| 105 | vbus is present (USB is connected). |
| 106 | |
| 107 | Deprecated child node properties: |
| 108 | - name: Name of the endpoint. |
| 109 | - reg: Num of the endpoint. |
| 110 | - atmel,fifo-size: Size of the fifo. |
| 111 | - atmel,nb-banks: Number of banks. |
| 112 | - atmel,can-dma: Boolean to specify if the endpoint support DMA. |
| 113 | - atmel,can-isoc: Boolean to specify if the endpoint support ISOC. |
| 114 | |
| 115 | usb2: gadget@fff78000 { |
| 116 | #address-cells = <1>; |
| 117 | #size-cells = <0>; |
| 118 | compatible = "atmel,at91sam9rl-udc"; |
| 119 | reg = <0x00600000 0x80000 |
| 120 | 0xfff78000 0x400>; |
| 121 | interrupts = <27 4 0>; |
| 122 | clocks = <&utmi>, <&udphs_clk>; |
| 123 | clock-names = "hclk", "pclk"; |
| 124 | atmel,vbus-gpio = <&pioB 19 0>; |
| 125 | }; |