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