xref: /linux/Documentation/devicetree/bindings/phy/ti,phy-am654-serdes.yaml (revision b70ee49c98d0e550b324afe869d3d17fec6190f5)
1*b70ee49cSKishon Vijay Abraham I# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*b70ee49cSKishon Vijay Abraham I%YAML 1.2
3*b70ee49cSKishon Vijay Abraham I---
4*b70ee49cSKishon Vijay Abraham I$id: http://devicetree.org/schemas/phy/ti,phy-am654-serdes.yaml#
5*b70ee49cSKishon Vijay Abraham I$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b70ee49cSKishon Vijay Abraham I
7*b70ee49cSKishon Vijay Abraham Ititle: TI AM654 SERDES binding
8*b70ee49cSKishon Vijay Abraham I
9*b70ee49cSKishon Vijay Abraham Idescription:
10*b70ee49cSKishon Vijay Abraham I  This binding describes the TI AM654 SERDES. AM654 SERDES can be configured
11*b70ee49cSKishon Vijay Abraham I  to be used with either PCIe or USB or SGMII.
12*b70ee49cSKishon Vijay Abraham I
13*b70ee49cSKishon Vijay Abraham Imaintainers:
14*b70ee49cSKishon Vijay Abraham I  - Kishon Vijay Abraham I <kishon@ti.com>
15*b70ee49cSKishon Vijay Abraham I
16*b70ee49cSKishon Vijay Abraham Iproperties:
17*b70ee49cSKishon Vijay Abraham I  compatible:
18*b70ee49cSKishon Vijay Abraham I    enum:
19*b70ee49cSKishon Vijay Abraham I      - ti,phy-am654-serdes
20*b70ee49cSKishon Vijay Abraham I
21*b70ee49cSKishon Vijay Abraham I  reg:
22*b70ee49cSKishon Vijay Abraham I    maxItems: 1
23*b70ee49cSKishon Vijay Abraham I
24*b70ee49cSKishon Vijay Abraham I  reg-names:
25*b70ee49cSKishon Vijay Abraham I    items:
26*b70ee49cSKishon Vijay Abraham I      - const: serdes
27*b70ee49cSKishon Vijay Abraham I
28*b70ee49cSKishon Vijay Abraham I  power-domains:
29*b70ee49cSKishon Vijay Abraham I    maxItems: 1
30*b70ee49cSKishon Vijay Abraham I
31*b70ee49cSKishon Vijay Abraham I  clocks:
32*b70ee49cSKishon Vijay Abraham I    maxItems: 3
33*b70ee49cSKishon Vijay Abraham I    description:
34*b70ee49cSKishon Vijay Abraham I      Three input clocks referring to left input reference clock, refclk and right input reference
35*b70ee49cSKishon Vijay Abraham I      clock.
36*b70ee49cSKishon Vijay Abraham I
37*b70ee49cSKishon Vijay Abraham I  assigned-clocks:
38*b70ee49cSKishon Vijay Abraham I    $ref: "/schemas/types.yaml#/definitions/phandle-array"
39*b70ee49cSKishon Vijay Abraham I  assigned-clock-parents:
40*b70ee49cSKishon Vijay Abraham I    $ref: "/schemas/types.yaml#/definitions/phandle-array"
41*b70ee49cSKishon Vijay Abraham I
42*b70ee49cSKishon Vijay Abraham I  '#phy-cells':
43*b70ee49cSKishon Vijay Abraham I    const: 2
44*b70ee49cSKishon Vijay Abraham I    description:
45*b70ee49cSKishon Vijay Abraham I      The 1st cell corresponds to the phy type (should be one of the types specified in
46*b70ee49cSKishon Vijay Abraham I      include/dt-bindings/phy/phy.h) and the 2nd cell should be the serdes lane function.
47*b70ee49cSKishon Vijay Abraham I
48*b70ee49cSKishon Vijay Abraham I  ti,serdes-clk:
49*b70ee49cSKishon Vijay Abraham I    description: Phandle to the SYSCON entry required for configuring SERDES clock selection.
50*b70ee49cSKishon Vijay Abraham I    $ref: /schemas/types.yaml#/definitions/phandle
51*b70ee49cSKishon Vijay Abraham I
52*b70ee49cSKishon Vijay Abraham I  '#clock-cells':
53*b70ee49cSKishon Vijay Abraham I    const: 1
54*b70ee49cSKishon Vijay Abraham I
55*b70ee49cSKishon Vijay Abraham I  mux-controls:
56*b70ee49cSKishon Vijay Abraham I    maxItems: 1
57*b70ee49cSKishon Vijay Abraham I    description: Phandle to the SYSCON entry required for configuring SERDES lane function.
58*b70ee49cSKishon Vijay Abraham I
59*b70ee49cSKishon Vijay Abraham I  clock-output-names:
60*b70ee49cSKishon Vijay Abraham I    oneOf:
61*b70ee49cSKishon Vijay Abraham I      - description: Clock output names for SERDES 0
62*b70ee49cSKishon Vijay Abraham I        items:
63*b70ee49cSKishon Vijay Abraham I          - const: serdes0_cmu_refclk
64*b70ee49cSKishon Vijay Abraham I          - const: serdes0_lo_refclk
65*b70ee49cSKishon Vijay Abraham I          - const: serdes0_ro_refclk
66*b70ee49cSKishon Vijay Abraham I      - description: Clock output names for SERDES 1
67*b70ee49cSKishon Vijay Abraham I        items:
68*b70ee49cSKishon Vijay Abraham I          - const: serdes1_cmu_refclk
69*b70ee49cSKishon Vijay Abraham I          - const: serdes1_lo_refclk
70*b70ee49cSKishon Vijay Abraham I          - const: serdes1_ro_refclk
71*b70ee49cSKishon Vijay Abraham I
72*b70ee49cSKishon Vijay Abraham Irequired:
73*b70ee49cSKishon Vijay Abraham I  - compatible
74*b70ee49cSKishon Vijay Abraham I  - reg
75*b70ee49cSKishon Vijay Abraham I  - power-domains
76*b70ee49cSKishon Vijay Abraham I  - clocks
77*b70ee49cSKishon Vijay Abraham I  - assigned-clocks
78*b70ee49cSKishon Vijay Abraham I  - assigned-clock-parents
79*b70ee49cSKishon Vijay Abraham I  - ti,serdes-clk
80*b70ee49cSKishon Vijay Abraham I  - mux-controls
81*b70ee49cSKishon Vijay Abraham I  - clock-output-names
82*b70ee49cSKishon Vijay Abraham I
83*b70ee49cSKishon Vijay Abraham IadditionalProperties: false
84*b70ee49cSKishon Vijay Abraham I
85*b70ee49cSKishon Vijay Abraham Iexamples:
86*b70ee49cSKishon Vijay Abraham I  - |
87*b70ee49cSKishon Vijay Abraham I    #include <dt-bindings/phy/phy-am654-serdes.h>
88*b70ee49cSKishon Vijay Abraham I
89*b70ee49cSKishon Vijay Abraham I    serdes0: serdes@900000 {
90*b70ee49cSKishon Vijay Abraham I      compatible = "ti,phy-am654-serdes";
91*b70ee49cSKishon Vijay Abraham I      reg = <0x900000 0x2000>;
92*b70ee49cSKishon Vijay Abraham I      reg-names = "serdes";
93*b70ee49cSKishon Vijay Abraham I      #phy-cells = <2>;
94*b70ee49cSKishon Vijay Abraham I      power-domains = <&k3_pds 153>;
95*b70ee49cSKishon Vijay Abraham I      clocks = <&k3_clks 153 4>, <&k3_clks 153 1>,
96*b70ee49cSKishon Vijay Abraham I               <&serdes1 AM654_SERDES_LO_REFCLK>;
97*b70ee49cSKishon Vijay Abraham I      clock-output-names = "serdes0_cmu_refclk", "serdes0_lo_refclk", "serdes0_ro_refclk";
98*b70ee49cSKishon Vijay Abraham I      assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
99*b70ee49cSKishon Vijay Abraham I      assigned-clock-parents = <&k3_clks 153 8>, <&k3_clks 153 4>;
100*b70ee49cSKishon Vijay Abraham I      ti,serdes-clk = <&serdes0_clk>;
101*b70ee49cSKishon Vijay Abraham I      mux-controls = <&serdes_mux 0>;
102*b70ee49cSKishon Vijay Abraham I      #clock-cells = <1>;
103*b70ee49cSKishon Vijay Abraham I    };
104