162306a36Sopenharmony_ciAtmel SOC USB controllers 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciOHCI 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciRequired properties: 662306a36Sopenharmony_ci - compatible: Should be "atmel,at91rm9200-ohci" for USB controllers 762306a36Sopenharmony_ci used in host mode. 862306a36Sopenharmony_ci - reg: Address and length of the register set for the device 962306a36Sopenharmony_ci - interrupts: Should contain ohci interrupt 1062306a36Sopenharmony_ci - clocks: Should reference the peripheral, host and system clocks 1162306a36Sopenharmony_ci - clock-names: Should contain three strings 1262306a36Sopenharmony_ci "ohci_clk" for the peripheral clock 1362306a36Sopenharmony_ci "hclk" for the host clock 1462306a36Sopenharmony_ci "uhpck" for the system clock 1562306a36Sopenharmony_ci - num-ports: Number of ports. 1662306a36Sopenharmony_ci - atmel,vbus-gpio: If present, specifies a gpio that needs to be 1762306a36Sopenharmony_ci activated for the bus to be powered. 1862306a36Sopenharmony_ci - atmel,oc-gpio: If present, specifies a gpio that needs to be 1962306a36Sopenharmony_ci activated for the overcurrent detection. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciusb0: ohci@500000 { 2262306a36Sopenharmony_ci compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 2362306a36Sopenharmony_ci reg = <0x00500000 0x100000>; 2462306a36Sopenharmony_ci clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; 2562306a36Sopenharmony_ci clock-names = "ohci_clk", "hclk", "uhpck"; 2662306a36Sopenharmony_ci interrupts = <20 4>; 2762306a36Sopenharmony_ci num-ports = <2>; 2862306a36Sopenharmony_ci}; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciEHCI 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciRequired properties: 3362306a36Sopenharmony_ci - compatible: Should be "atmel,at91sam9g45-ehci" for USB controllers 3462306a36Sopenharmony_ci used in host mode. 3562306a36Sopenharmony_ci - reg: Address and length of the register set for the device 3662306a36Sopenharmony_ci - interrupts: Should contain ehci interrupt 3762306a36Sopenharmony_ci - clocks: Should reference the peripheral and the UTMI clocks 3862306a36Sopenharmony_ci - clock-names: Should contain two strings 3962306a36Sopenharmony_ci "ehci_clk" for the peripheral clock 4062306a36Sopenharmony_ci "usb_clk" for the UTMI clock 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciOptional properties: 4362306a36Sopenharmony_ci - phy_type : For multi port host USB controllers, should be one of 4462306a36Sopenharmony_ci "utmi", or "hsic". 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciusb1: ehci@800000 { 4762306a36Sopenharmony_ci compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 4862306a36Sopenharmony_ci reg = <0x00800000 0x100000>; 4962306a36Sopenharmony_ci interrupts = <22 4>; 5062306a36Sopenharmony_ci clocks = <&utmi>, <&uhphs_clk>; 5162306a36Sopenharmony_ci clock-names = "usb_clk", "ehci_clk"; 5262306a36Sopenharmony_ci}; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciAT91 USB device controller 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciRequired properties: 5762306a36Sopenharmony_ci - compatible: Should be one of the following 5862306a36Sopenharmony_ci "atmel,at91rm9200-udc" 5962306a36Sopenharmony_ci "atmel,at91sam9260-udc" 6062306a36Sopenharmony_ci "atmel,at91sam9261-udc" 6162306a36Sopenharmony_ci "atmel,at91sam9263-udc" 6262306a36Sopenharmony_ci - reg: Address and length of the register set for the device 6362306a36Sopenharmony_ci - interrupts: Should contain macb interrupt 6462306a36Sopenharmony_ci - clocks: Should reference the peripheral and the AHB clocks 6562306a36Sopenharmony_ci - clock-names: Should contain two strings 6662306a36Sopenharmony_ci "pclk" for the peripheral clock 6762306a36Sopenharmony_ci "hclk" for the AHB clock 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ciOptional properties: 7062306a36Sopenharmony_ci - atmel,vbus-gpio: If present, specifies a gpio that needs to be 7162306a36Sopenharmony_ci activated for the bus to be powered. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciusb1: gadget@fffa4000 { 7462306a36Sopenharmony_ci compatible = "atmel,at91rm9200-udc"; 7562306a36Sopenharmony_ci reg = <0xfffa4000 0x4000>; 7662306a36Sopenharmony_ci interrupts = <10 4>; 7762306a36Sopenharmony_ci clocks = <&udc_clk>, <&udpck>; 7862306a36Sopenharmony_ci clock-names = "pclk", "hclk"; 7962306a36Sopenharmony_ci atmel,vbus-gpio = <&pioC 5 0>; 8062306a36Sopenharmony_ci}; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciAtmel High-Speed USB device controller 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ciRequired properties: 8562306a36Sopenharmony_ci - compatible: Should be one of the following 8662306a36Sopenharmony_ci "atmel,at91sam9rl-udc" 8762306a36Sopenharmony_ci "atmel,at91sam9g45-udc" 8862306a36Sopenharmony_ci "atmel,sama5d3-udc" 8962306a36Sopenharmony_ci "microchip,sam9x60-udc" 9062306a36Sopenharmony_ci "microchip,lan9662-udc" 9162306a36Sopenharmony_ci For "microchip,lan9662-udc" the fallback "atmel,sama5d3-udc" 9262306a36Sopenharmony_ci is required. 9362306a36Sopenharmony_ci - reg: Address and length of the register set for the device 9462306a36Sopenharmony_ci - interrupts: Should contain usba interrupt 9562306a36Sopenharmony_ci - clocks: Should reference the peripheral and host clocks 9662306a36Sopenharmony_ci - clock-names: Should contain two strings 9762306a36Sopenharmony_ci "pclk" for the peripheral clock 9862306a36Sopenharmony_ci "hclk" for the host clock 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ciDeprecated property: 10162306a36Sopenharmony_ci - ep childnode: To specify the number of endpoints and their properties. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ciOptional properties: 10462306a36Sopenharmony_ci - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether 10562306a36Sopenharmony_ci vbus is present (USB is connected). 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciDeprecated child node properties: 10862306a36Sopenharmony_ci - name: Name of the endpoint. 10962306a36Sopenharmony_ci - reg: Num of the endpoint. 11062306a36Sopenharmony_ci - atmel,fifo-size: Size of the fifo. 11162306a36Sopenharmony_ci - atmel,nb-banks: Number of banks. 11262306a36Sopenharmony_ci - atmel,can-dma: Boolean to specify if the endpoint support DMA. 11362306a36Sopenharmony_ci - atmel,can-isoc: Boolean to specify if the endpoint support ISOC. 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ciusb2: gadget@fff78000 { 11662306a36Sopenharmony_ci #address-cells = <1>; 11762306a36Sopenharmony_ci #size-cells = <0>; 11862306a36Sopenharmony_ci compatible = "atmel,at91sam9rl-udc"; 11962306a36Sopenharmony_ci reg = <0x00600000 0x80000 12062306a36Sopenharmony_ci 0xfff78000 0x400>; 12162306a36Sopenharmony_ci interrupts = <27 4 0>; 12262306a36Sopenharmony_ci clocks = <&utmi>, <&udphs_clk>; 12362306a36Sopenharmony_ci clock-names = "hclk", "pclk"; 12462306a36Sopenharmony_ci atmel,vbus-gpio = <&pioB 19 0>; 12562306a36Sopenharmony_ci}; 126