Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/phy/ti,phy-am654-serdes.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: TI AM654 SERDES binding
0008 
0009 description:
0010   This binding describes the TI AM654 SERDES. AM654 SERDES can be configured
0011   to be used with either PCIe or USB or SGMII.
0012 
0013 maintainers:
0014   - Kishon Vijay Abraham I <kishon@ti.com>
0015 
0016 properties:
0017   compatible:
0018     enum:
0019       - ti,phy-am654-serdes
0020 
0021   reg:
0022     maxItems: 1
0023 
0024   reg-names:
0025     items:
0026       - const: serdes
0027 
0028   power-domains:
0029     maxItems: 1
0030 
0031   clocks:
0032     maxItems: 3
0033     description:
0034       Three input clocks referring to left input reference clock, refclk and right input reference
0035       clock.
0036 
0037   assigned-clocks:
0038     $ref: "/schemas/types.yaml#/definitions/phandle-array"
0039   assigned-clock-parents:
0040     $ref: "/schemas/types.yaml#/definitions/phandle-array"
0041 
0042   '#phy-cells':
0043     const: 2
0044     description:
0045       The 1st cell corresponds to the phy type (should be one of the types specified in
0046       include/dt-bindings/phy/phy.h) and the 2nd cell should be the serdes lane function.
0047 
0048   ti,serdes-clk:
0049     description: Phandle to the SYSCON entry required for configuring SERDES clock selection.
0050     $ref: /schemas/types.yaml#/definitions/phandle
0051 
0052   '#clock-cells':
0053     const: 1
0054 
0055   mux-controls:
0056     maxItems: 1
0057     description: Phandle to the SYSCON entry required for configuring SERDES lane function.
0058 
0059   clock-output-names:
0060     oneOf:
0061       - description: Clock output names for SERDES 0
0062         items:
0063           - const: serdes0_cmu_refclk
0064           - const: serdes0_lo_refclk
0065           - const: serdes0_ro_refclk
0066       - description: Clock output names for SERDES 1
0067         items:
0068           - const: serdes1_cmu_refclk
0069           - const: serdes1_lo_refclk
0070           - const: serdes1_ro_refclk
0071 
0072 required:
0073   - compatible
0074   - reg
0075   - power-domains
0076   - clocks
0077   - assigned-clocks
0078   - assigned-clock-parents
0079   - ti,serdes-clk
0080   - mux-controls
0081   - clock-output-names
0082 
0083 additionalProperties: false
0084 
0085 examples:
0086   - |
0087     #include <dt-bindings/phy/phy-am654-serdes.h>
0088 
0089     serdes0: serdes@900000 {
0090       compatible = "ti,phy-am654-serdes";
0091       reg = <0x900000 0x2000>;
0092       reg-names = "serdes";
0093       #phy-cells = <2>;
0094       power-domains = <&k3_pds 153>;
0095       clocks = <&k3_clks 153 4>, <&k3_clks 153 1>,
0096                <&serdes1 AM654_SERDES_LO_REFCLK>;
0097       clock-output-names = "serdes0_cmu_refclk", "serdes0_lo_refclk", "serdes0_ro_refclk";
0098       assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
0099       assigned-clock-parents = <&k3_clks 153 8>, <&k3_clks 153 4>;
0100       ti,serdes-clk = <&serdes0_clk>;
0101       mux-controls = <&serdes_mux 0>;
0102       #clock-cells = <1>;
0103     };