xref: /openbmc/linux/Documentation/devicetree/bindings/phy/phy-hi3798cv200-combphy.txt (revision c13aca79ff3c4af5fd31a5b2743a90eba6e36a26)
1*5669f91aSJianguo SunHiSilicon STB PCIE/SATA/USB3 PHY
2*5669f91aSJianguo Sun
3*5669f91aSJianguo SunRequired properties:
4*5669f91aSJianguo Sun- compatible: Should be "hisilicon,hi3798cv200-combphy"
5*5669f91aSJianguo Sun- reg: Should be the address space for COMBPHY configuration and state
6*5669f91aSJianguo Sun  registers in peripheral controller, e.g. PERI_COMBPHY0_CFG and
7*5669f91aSJianguo Sun  PERI_COMBPHY0_STATE for COMBPHY0 Hi3798CV200 SoC.
8*5669f91aSJianguo Sun- #phy-cells: Should be 1.  The cell number is used to select the phy mode
9*5669f91aSJianguo Sun  as defined in <dt-bindings/phy/phy.h>.
10*5669f91aSJianguo Sun- clocks: The phandle to clock provider and clock specifier pair.
11*5669f91aSJianguo Sun- resets: The phandle to reset controller and reset specifier pair.
12*5669f91aSJianguo Sun
13*5669f91aSJianguo SunRefer to phy/phy-bindings.txt for the generic PHY binding properties.
14*5669f91aSJianguo Sun
15*5669f91aSJianguo SunOptional properties:
16*5669f91aSJianguo Sun- hisilicon,fixed-mode: If the phy device doesn't support mode select
17*5669f91aSJianguo Sun  but a fixed mode setting, the property should be present to specify
18*5669f91aSJianguo Sun  the particular mode.
19*5669f91aSJianguo Sun- hisilicon,mode-select-bits: If the phy device support mode select,
20*5669f91aSJianguo Sun  this property should be present to specify the register bits in
21*5669f91aSJianguo Sun  peripheral controller, as a 3 integers tuple:
22*5669f91aSJianguo Sun  <register_offset bit_shift bit_mask>.
23*5669f91aSJianguo Sun
24*5669f91aSJianguo SunNotes:
25*5669f91aSJianguo Sun- Between hisilicon,fixed-mode and hisilicon,mode-select-bits, one and only
26*5669f91aSJianguo Sun  one of them should be present.
27*5669f91aSJianguo Sun- The device node should be a child of peripheral controller that contains
28*5669f91aSJianguo Sun  COMBPHY configuration/state and PERI_CTRL register used to select PHY mode.
29*5669f91aSJianguo Sun  Refer to arm/hisilicon/hisilicon.txt for the parent peripheral controller
30*5669f91aSJianguo Sun  bindings.
31*5669f91aSJianguo Sun
32*5669f91aSJianguo SunExamples:
33*5669f91aSJianguo Sun
34*5669f91aSJianguo Sunperictrl: peripheral-controller@8a20000 {
35*5669f91aSJianguo Sun	compatible = "hisilicon,hi3798cv200-perictrl", "syscon",
36*5669f91aSJianguo Sun		     "simple-mfd";
37*5669f91aSJianguo Sun	reg = <0x8a20000 0x1000>;
38*5669f91aSJianguo Sun	#address-cells = <1>;
39*5669f91aSJianguo Sun	#size-cells = <1>;
40*5669f91aSJianguo Sun	ranges = <0x0 0x8a20000 0x1000>;
41*5669f91aSJianguo Sun
42*5669f91aSJianguo Sun	combphy0: phy@850 {
43*5669f91aSJianguo Sun		compatible = "hisilicon,hi3798cv200-combphy";
44*5669f91aSJianguo Sun		reg = <0x850 0x8>;
45*5669f91aSJianguo Sun		#phy-cells = <1>;
46*5669f91aSJianguo Sun		clocks = <&crg HISTB_COMBPHY0_CLK>;
47*5669f91aSJianguo Sun		resets = <&crg 0x188 4>;
48*5669f91aSJianguo Sun		hisilicon,fixed-mode = <PHY_TYPE_USB3>;
49*5669f91aSJianguo Sun	};
50*5669f91aSJianguo Sun
51*5669f91aSJianguo Sun	combphy1: phy@858 {
52*5669f91aSJianguo Sun		compatible = "hisilicon,hi3798cv200-combphy";
53*5669f91aSJianguo Sun		reg = <0x858 0x8>;
54*5669f91aSJianguo Sun		#phy-cells = <1>;
55*5669f91aSJianguo Sun		clocks = <&crg HISTB_COMBPHY1_CLK>;
56*5669f91aSJianguo Sun		resets = <&crg 0x188 12>;
57*5669f91aSJianguo Sun		hisilicon,mode-select-bits = <0x0008 11 (0x3 << 11)>;
58*5669f91aSJianguo Sun	};
59*5669f91aSJianguo Sun};
60