xref: /freebsd/sys/contrib/device-tree/Bindings/phy/phy-hisi-inno-usb2.txt (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel VadotDevice tree bindings for HiSilicon INNO USB2 PHY
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotRequired properties:
4c66ec88fSEmmanuel Vadot- compatible: Should be one of the following strings:
5c66ec88fSEmmanuel Vadot	"hisilicon,inno-usb2-phy",
6c66ec88fSEmmanuel Vadot	"hisilicon,hi3798cv200-usb2-phy".
7c66ec88fSEmmanuel Vadot- reg: Should be the address space for PHY configuration register in peripheral
8c66ec88fSEmmanuel Vadot  controller, e.g. PERI_USB0 for USB 2.0 PHY01 on Hi3798CV200 SoC.
9c66ec88fSEmmanuel Vadot- clocks: The phandle and clock specifier pair for INNO USB2 PHY device
10c66ec88fSEmmanuel Vadot  reference clock.
11c66ec88fSEmmanuel Vadot- resets: The phandle and reset specifier pair for INNO USB2 PHY device reset
12c66ec88fSEmmanuel Vadot  signal.
13c66ec88fSEmmanuel Vadot- #address-cells: Must be 1.
14c66ec88fSEmmanuel Vadot- #size-cells: Must be 0.
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel VadotThe INNO USB2 PHY device should be a child node of peripheral controller that
17*aa1a8ff2SEmmanuel Vadotcontains the PHY configuration register, and each device supports up to 2 PHY
18c66ec88fSEmmanuel Vadotports which are represented as child nodes of INNO USB2 PHY device.
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel VadotRequired properties for PHY port node:
21c66ec88fSEmmanuel Vadot- reg: The PHY port instance number.
22c66ec88fSEmmanuel Vadot- #phy-cells: Defined by generic PHY bindings.  Must be 0.
23c66ec88fSEmmanuel Vadot- resets: The phandle and reset specifier pair for PHY port reset signal.
24c66ec88fSEmmanuel Vadot
25c66ec88fSEmmanuel VadotRefer to phy/phy-bindings.txt for the generic PHY binding properties
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel VadotExample:
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadotperictrl: peripheral-controller@8a20000 {
30c66ec88fSEmmanuel Vadot	compatible = "hisilicon,hi3798cv200-perictrl", "simple-mfd";
31c66ec88fSEmmanuel Vadot	reg = <0x8a20000 0x1000>;
32c66ec88fSEmmanuel Vadot	#address-cells = <1>;
33c66ec88fSEmmanuel Vadot	#size-cells = <1>;
34c66ec88fSEmmanuel Vadot	ranges = <0x0 0x8a20000 0x1000>;
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot	usb2_phy1: usb2-phy@120 {
37c66ec88fSEmmanuel Vadot		compatible = "hisilicon,hi3798cv200-usb2-phy";
38c66ec88fSEmmanuel Vadot		reg = <0x120 0x4>;
39c66ec88fSEmmanuel Vadot		clocks = <&crg HISTB_USB2_PHY1_REF_CLK>;
40c66ec88fSEmmanuel Vadot		resets = <&crg 0xbc 4>;
41c66ec88fSEmmanuel Vadot		#address-cells = <1>;
42c66ec88fSEmmanuel Vadot		#size-cells = <0>;
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot		usb2_phy1_port0: phy@0 {
45c66ec88fSEmmanuel Vadot			reg = <0>;
46c66ec88fSEmmanuel Vadot			#phy-cells = <0>;
47c66ec88fSEmmanuel Vadot			resets = <&crg 0xbc 8>;
48c66ec88fSEmmanuel Vadot		};
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot		usb2_phy1_port1: phy@1 {
51c66ec88fSEmmanuel Vadot			reg = <1>;
52c66ec88fSEmmanuel Vadot			#phy-cells = <0>;
53c66ec88fSEmmanuel Vadot			resets = <&crg 0xbc 9>;
54c66ec88fSEmmanuel Vadot		};
55c66ec88fSEmmanuel Vadot	};
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot	usb2_phy2: usb2-phy@124 {
58c66ec88fSEmmanuel Vadot		compatible = "hisilicon,hi3798cv200-usb2-phy";
59c66ec88fSEmmanuel Vadot		reg = <0x124 0x4>;
60c66ec88fSEmmanuel Vadot		clocks = <&crg HISTB_USB2_PHY2_REF_CLK>;
61c66ec88fSEmmanuel Vadot		resets = <&crg 0xbc 6>;
62c66ec88fSEmmanuel Vadot		#address-cells = <1>;
63c66ec88fSEmmanuel Vadot		#size-cells = <0>;
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot		usb2_phy2_port0: phy@0 {
66c66ec88fSEmmanuel Vadot			reg = <0>;
67c66ec88fSEmmanuel Vadot			#phy-cells = <0>;
68c66ec88fSEmmanuel Vadot			resets = <&crg 0xbc 10>;
69c66ec88fSEmmanuel Vadot		};
70c66ec88fSEmmanuel Vadot	};
71c66ec88fSEmmanuel Vadot};
72