Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1TI Keystone Soc USB Controller
2
3DWC3 GLUE
4
5Required properties:
6 - compatible: should be
7 "ti,keystone-dwc3" for Keystone 2 SoCs
8 "ti,am654-dwc3" for AM654 SoC
9 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
10 with 'reg' property.
11 - reg : Address and length of the register set for the USB subsystem on
12 the SOC.
13 - interrupts : The irq number of this device that is used to interrupt the
14 MPU.
15 - ranges: allows valid 1:1 translation between child's address space and
16 parent's address space.
17
18SoC-specific Required Properties:
19The following are mandatory properties for Keystone 2 66AK2HK, 66AK2L and 66AK2E
20SoCs only:
21
22- clocks: Clock ID for USB functional clock.
23- clock-names: Must be "usb".
24
25
26The following are mandatory properties for 66AK2G and AM654:
27
28- power-domains: Should contain a phandle to a PM domain provider node
29 and an args specifier containing the USB device id
30 value. This property is as per the binding,
31 Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
32
33Sub-nodes:
34The dwc3 core should be added as subnode to Keystone DWC3 glue.
35- dwc3 :
36 The binding details of dwc3 can be found in:
37 Documentation/devicetree/bindings/usb/dwc3.txt
38
39Example:
40 usb: usb@2680000 {
41 compatible = "ti,keystone-dwc3";
42 #address-cells = <1>;
43 #size-cells = <1>;
44 reg = <0x2680000 0x10000>;
45 clocks = <&clkusb>;
46 clock-names = "usb";
47 interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
48 ranges;
49
50 dwc3@2690000 {
51 compatible = "synopsys,dwc3";
52 reg = <0x2690000 0x70000>;
53 interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
54 usb-phy = <&usb_phy>, <&usb_phy>;
55 };
56 };