xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/usb/octeon-usb.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunOCTEON/OCTEON+ USB BLOCK
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun1) Main node
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun   Required properties:
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun   - compatible: must be "cavium,octeon-5750-usbn"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun   - reg: specifies the physical base address of the USBN block and
10*4882a593Smuzhiyun     the length of the memory mapped region.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun   - #address-cells: specifies the number of cells needed to encode an
13*4882a593Smuzhiyun     address. The value must be 2.
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun   - #size-cells: specifies the number of cells used to represent the size
16*4882a593Smuzhiyun     of an address. The value must be 2.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun   - ranges: specifies the translation between child address space and parent
19*4882a593Smuzhiyun     address space.
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun   - clock-frequency: speed of the USB reference clock. Allowed values are
22*4882a593Smuzhiyun     12000000, 24000000 or 48000000.
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun   - cavium,refclk-type: type of the USB reference clock. Allowed values are
25*4882a593Smuzhiyun     "crystal" or "external".
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun   - refclk-frequency: deprecated, use "clock-frequency".
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun   - refclk-type: deprecated, use "cavium,refclk-type".
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun2) Child node
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun   The main node must have one child node which describes the built-in
34*4882a593Smuzhiyun   USB controller.
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun   Required properties:
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun   - compatible: must be "cavium,octeon-5750-usbc"
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun   - reg: specifies the physical base address of the USBC block and
41*4882a593Smuzhiyun     the length of the memory mapped region.
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun   - interrupts: specifies the interrupt number for the USB controller.
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun3) Example:
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun	usbn: usbn@1180068000000 {
48*4882a593Smuzhiyun		compatible = "cavium,octeon-5750-usbn";
49*4882a593Smuzhiyun		reg = <0x11800 0x68000000 0x0 0x1000>;
50*4882a593Smuzhiyun		ranges; /* Direct mapping */
51*4882a593Smuzhiyun		#address-cells = <2>;
52*4882a593Smuzhiyun		#size-cells = <2>;
53*4882a593Smuzhiyun		clock-frequency = <12000000>;
54*4882a593Smuzhiyun		cavium,refclk-type = "crystal";
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun		usbc@16f0010000000 {
57*4882a593Smuzhiyun			compatible = "cavium,octeon-5750-usbc";
58*4882a593Smuzhiyun			reg = <0x16f00 0x10000000 0x0 0x80000>;
59*4882a593Smuzhiyun			interrupts = <0 56>;
60*4882a593Smuzhiyun		};
61*4882a593Smuzhiyun	};
62*4882a593Smuzhiyun
63