126 lines · plain
1Atmel SOC USB controllers2 3OHCI4 5Required properties:6 - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers7 used in host mode.8 - reg: Address and length of the register set for the device9 - interrupts: Should contain ohci interrupt10 - clocks: Should reference the peripheral, host and system clocks11 - clock-names: Should contain three strings12 "ohci_clk" for the peripheral clock13 "hclk" for the host clock14 "uhpck" for the system clock15 - num-ports: Number of ports.16 - atmel,vbus-gpio: If present, specifies a gpio that needs to be17 activated for the bus to be powered.18 - atmel,oc-gpio: If present, specifies a gpio that needs to be19 activated for the overcurrent detection.20 21usb0: 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 30EHCI31 32Required properties:33 - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers34 used in host mode.35 - reg: Address and length of the register set for the device36 - interrupts: Should contain ehci interrupt37 - clocks: Should reference the peripheral and the UTMI clocks38 - clock-names: Should contain two strings39 "ehci_clk" for the peripheral clock40 "usb_clk" for the UTMI clock41 42Optional properties:43 - phy_type : For multi port host USB controllers, should be one of44 "utmi", or "hsic".45 46usb1: 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 54AT91 USB device controller55 56Required properties:57 - compatible: Should be one of the following58 "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 device63 - interrupts: Should contain macb interrupt64 - clocks: Should reference the peripheral and the AHB clocks65 - clock-names: Should contain two strings66 "pclk" for the peripheral clock67 "hclk" for the AHB clock68 69Optional properties:70 - atmel,vbus-gpio: If present, specifies a gpio that needs to be71 activated for the bus to be powered.72 73usb1: 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 82Atmel High-Speed USB device controller83 84Required properties:85 - compatible: Should be one of the following86 "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 device94 - interrupts: Should contain usba interrupt95 - clocks: Should reference the peripheral and host clocks96 - clock-names: Should contain two strings97 "pclk" for the peripheral clock98 "hclk" for the host clock99 100Deprecated property:101 - ep childnode: To specify the number of endpoints and their properties.102 103Optional properties:104 - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether105 vbus is present (USB is connected).106 107Deprecated 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 115usb2: gadget@fff78000 {116 #address-cells = <1>;117 #size-cells = <0>;118 compatible = "atmel,at91sam9rl-udc";119 reg = <0x00600000 0x80000120 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};126