1 Atmel SOC USB controllers 1 Atmel SOC USB controllers 2 2 3 OHCI 3 OHCI 4 4 5 Required properties: 5 Required properties: 6 - compatible: Should be "atmel,at91rm9200-ohc 6 - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers 7 used in host mode. 7 used in host mode. 8 - reg: Address and length of the register set 8 - reg: Address and length of the register set for the device 9 - interrupts: Should contain ohci interrupt !! 9 - interrupts: Should contain ehci interrupt 10 - clocks: Should reference the peripheral, ho 10 - clocks: Should reference the peripheral, host and system clocks 11 - clock-names: Should contain three strings !! 11 - clock-names: Should contains two strings 12 "ohci_clk" for the peripheral 12 "ohci_clk" for the peripheral clock 13 "hclk" for the host clock 13 "hclk" for the host clock 14 "uhpck" for the system clock 14 "uhpck" for the system clock 15 - num-ports: Number of ports. 15 - num-ports: Number of ports. 16 - atmel,vbus-gpio: If present, specifies a gp 16 - atmel,vbus-gpio: If present, specifies a gpio that needs to be 17 activated for the bus to be powered. 17 activated for the bus to be powered. 18 - atmel,oc-gpio: If present, specifies a gpio 18 - atmel,oc-gpio: If present, specifies a gpio that needs to be 19 activated for the overcurrent detection. 19 activated for the overcurrent detection. 20 20 21 usb0: ohci@500000 { !! 21 usb0: ohci@00500000 { 22 compatible = "atmel,at91rm9200-ohci", 22 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 23 reg = <0x00500000 0x100000>; 23 reg = <0x00500000 0x100000>; 24 clocks = <&uhphs_clk>, <&uhphs_clk>, < 24 clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; 25 clock-names = "ohci_clk", "hclk", "uhp 25 clock-names = "ohci_clk", "hclk", "uhpck"; 26 interrupts = <20 4>; 26 interrupts = <20 4>; 27 num-ports = <2>; 27 num-ports = <2>; 28 }; 28 }; 29 29 30 EHCI 30 EHCI 31 31 32 Required properties: 32 Required properties: 33 - compatible: Should be "atmel,at91sam9g45-eh 33 - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers 34 used in host mode. 34 used in host mode. 35 - reg: Address and length of the register set 35 - reg: Address and length of the register set for the device 36 - interrupts: Should contain ehci interrupt 36 - interrupts: Should contain ehci interrupt 37 - clocks: Should reference the peripheral and 37 - clocks: Should reference the peripheral and the UTMI clocks 38 - clock-names: Should contain two strings !! 38 - clock-names: Should contains two strings 39 "ehci_clk" for the peripheral 39 "ehci_clk" for the peripheral clock 40 "usb_clk" for the UTMI clock 40 "usb_clk" for the UTMI clock 41 41 42 Optional properties: !! 42 usb1: ehci@00800000 { 43 - phy_type : For multi port host USB controll << 44 "utmi", or "hsic". << 45 << 46 usb1: ehci@800000 { << 47 compatible = "atmel,at91sam9g45-ehci", 43 compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 48 reg = <0x00800000 0x100000>; 44 reg = <0x00800000 0x100000>; 49 interrupts = <22 4>; 45 interrupts = <22 4>; 50 clocks = <&utmi>, <&uhphs_clk>; 46 clocks = <&utmi>, <&uhphs_clk>; 51 clock-names = "usb_clk", "ehci_clk"; 47 clock-names = "usb_clk", "ehci_clk"; 52 }; 48 }; 53 49 54 AT91 USB device controller 50 AT91 USB device controller 55 51 56 Required properties: 52 Required properties: 57 - compatible: Should be one of the following 53 - compatible: Should be one of the following 58 "atmel,at91rm9200-udc" 54 "atmel,at91rm9200-udc" 59 "atmel,at91sam9260-udc" 55 "atmel,at91sam9260-udc" 60 "atmel,at91sam9261-udc" 56 "atmel,at91sam9261-udc" 61 "atmel,at91sam9263-udc" 57 "atmel,at91sam9263-udc" 62 - reg: Address and length of the register set 58 - reg: Address and length of the register set for the device 63 - interrupts: Should contain macb interrupt 59 - interrupts: Should contain macb interrupt 64 - clocks: Should reference the peripheral and 60 - clocks: Should reference the peripheral and the AHB clocks 65 - clock-names: Should contain two strings !! 61 - clock-names: Should contains two strings 66 "pclk" for the peripheral cloc 62 "pclk" for the peripheral clock 67 "hclk" for the AHB clock 63 "hclk" for the AHB clock 68 64 69 Optional properties: 65 Optional properties: 70 - atmel,vbus-gpio: If present, specifies a gp 66 - atmel,vbus-gpio: If present, specifies a gpio that needs to be 71 activated for the bus to be powered. 67 activated for the bus to be powered. 72 68 73 usb1: gadget@fffa4000 { 69 usb1: gadget@fffa4000 { 74 compatible = "atmel,at91rm9200-udc"; 70 compatible = "atmel,at91rm9200-udc"; 75 reg = <0xfffa4000 0x4000>; 71 reg = <0xfffa4000 0x4000>; 76 interrupts = <10 4>; 72 interrupts = <10 4>; 77 clocks = <&udc_clk>, <&udpck>; 73 clocks = <&udc_clk>, <&udpck>; 78 clock-names = "pclk", "hclk"; 74 clock-names = "pclk", "hclk"; 79 atmel,vbus-gpio = <&pioC 5 0>; 75 atmel,vbus-gpio = <&pioC 5 0>; 80 }; 76 }; 81 77 82 Atmel High-Speed USB device controller 78 Atmel High-Speed USB device controller 83 79 84 Required properties: 80 Required properties: 85 - compatible: Should be one of the following 81 - compatible: Should be one of the following 86 "atmel,at91sam9rl-udc" 82 "atmel,at91sam9rl-udc" 87 "atmel,at91sam9g45-udc" 83 "atmel,at91sam9g45-udc" 88 "atmel,sama5d3-udc" 84 "atmel,sama5d3-udc" 89 "microchip,sam9x60-udc" << 90 "microchip,lan9662-udc" << 91 For "microchip,lan9662-udc" the << 92 is required. << 93 - reg: Address and length of the register set 85 - reg: Address and length of the register set for the device 94 - interrupts: Should contain usba interrupt 86 - interrupts: Should contain usba interrupt 95 - clocks: Should reference the peripheral and 87 - clocks: Should reference the peripheral and host clocks 96 - clock-names: Should contain two strings !! 88 - clock-names: Should contains two strings 97 "pclk" for the peripheral cloc 89 "pclk" for the peripheral clock 98 "hclk" for the host clock 90 "hclk" for the host clock 99 << 100 Deprecated property: << 101 - ep childnode: To specify the number of endp 91 - ep childnode: To specify the number of endpoints and their properties. 102 92 103 Optional properties: 93 Optional properties: 104 - atmel,vbus-gpio: If present, specifies a gp 94 - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether 105 vbus is present (USB is connected). 95 vbus is present (USB is connected). 106 96 107 Deprecated child node properties: !! 97 Required child node properties: 108 - name: Name of the endpoint. 98 - name: Name of the endpoint. 109 - reg: Num of the endpoint. 99 - reg: Num of the endpoint. 110 - atmel,fifo-size: Size of the fifo. 100 - atmel,fifo-size: Size of the fifo. 111 - atmel,nb-banks: Number of banks. 101 - atmel,nb-banks: Number of banks. 112 - atmel,can-dma: Boolean to specify if the en 102 - atmel,can-dma: Boolean to specify if the endpoint support DMA. 113 - atmel,can-isoc: Boolean to specify if the e 103 - atmel,can-isoc: Boolean to specify if the endpoint support ISOC. 114 104 115 usb2: gadget@fff78000 { 105 usb2: gadget@fff78000 { 116 #address-cells = <1>; 106 #address-cells = <1>; 117 #size-cells = <0>; 107 #size-cells = <0>; 118 compatible = "atmel,at91sam9rl-udc"; 108 compatible = "atmel,at91sam9rl-udc"; 119 reg = <0x00600000 0x80000 109 reg = <0x00600000 0x80000 120 0xfff78000 0x400>; 110 0xfff78000 0x400>; 121 interrupts = <27 4 0>; 111 interrupts = <27 4 0>; 122 clocks = <&utmi>, <&udphs_clk>; 112 clocks = <&utmi>, <&udphs_clk>; 123 clock-names = "hclk", "pclk"; 113 clock-names = "hclk", "pclk"; 124 atmel,vbus-gpio = <&pioB 19 0>; 114 atmel,vbus-gpio = <&pioB 19 0>; >> 115 >> 116 ep0 { >> 117 reg = <0>; >> 118 atmel,fifo-size = <64>; >> 119 atmel,nb-banks = <1>; >> 120 }; >> 121 >> 122 ep1 { >> 123 reg = <1>; >> 124 atmel,fifo-size = <1024>; >> 125 atmel,nb-banks = <2>; >> 126 atmel,can-dma; >> 127 atmel,can-isoc; >> 128 }; >> 129 >> 130 ep2 { >> 131 reg = <2>; >> 132 atmel,fifo-size = <1024>; >> 133 atmel,nb-banks = <2>; >> 134 atmel,can-dma; >> 135 atmel,can-isoc; >> 136 }; >> 137 >> 138 ep3 { >> 139 reg = <3>; >> 140 atmel,fifo-size = <1024>; >> 141 atmel,nb-banks = <3>; >> 142 atmel,can-dma; >> 143 }; >> 144 >> 145 ep4 { >> 146 reg = <4>; >> 147 atmel,fifo-size = <1024>; >> 148 atmel,nb-banks = <3>; >> 149 atmel,can-dma; >> 150 }; >> 151 >> 152 ep5 { >> 153 reg = <5>; >> 154 atmel,fifo-size = <1024>; >> 155 atmel,nb-banks = <3>; >> 156 atmel,can-dma; >> 157 atmel,can-isoc; >> 158 }; >> 159 >> 160 ep6 { >> 161 reg = <6>; >> 162 atmel,fifo-size = <1024>; >> 163 atmel,nb-banks = <3>; >> 164 atmel,can-dma; >> 165 atmel,can-isoc; >> 166 }; 125 }; 167 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.