ti,phy-am654-serdes.yaml 2.5 KB

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