rockchip,pcie3-phy.yaml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/phy/rockchip,pcie3-phy.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Rockchip PCIe v3 phy
  7. maintainers:
  8. - Heiko Stuebner <heiko@sntech.de>
  9. properties:
  10. compatible:
  11. enum:
  12. - rockchip,rk3568-pcie3-phy
  13. - rockchip,rk3588-pcie3-phy
  14. reg:
  15. maxItems: 1
  16. clocks:
  17. minItems: 1
  18. maxItems: 3
  19. clock-names:
  20. minItems: 1
  21. maxItems: 3
  22. data-lanes:
  23. description: which lanes (by position) should be mapped to which
  24. controller (value). 0 means lane disabled, higher value means used.
  25. (controller-number +1 )
  26. $ref: /schemas/types.yaml#/definitions/uint32-array
  27. minItems: 2
  28. maxItems: 16
  29. items:
  30. minimum: 0
  31. maximum: 16
  32. "#phy-cells":
  33. const: 0
  34. resets:
  35. maxItems: 1
  36. reset-names:
  37. const: phy
  38. rockchip,phy-grf:
  39. $ref: /schemas/types.yaml#/definitions/phandle
  40. description: phandle to the syscon managing the phy "general register files"
  41. rockchip,pipe-grf:
  42. $ref: /schemas/types.yaml#/definitions/phandle
  43. description: phandle to the syscon managing the pipe "general register files"
  44. rockchip,rx-common-refclk-mode:
  45. description: which lanes (by position) should be configured to run in
  46. RX common reference clock mode. 0 means disabled, 1 means enabled.
  47. $ref: /schemas/types.yaml#/definitions/uint32-array
  48. minItems: 1
  49. maxItems: 16
  50. items:
  51. minimum: 0
  52. maximum: 1
  53. required:
  54. - compatible
  55. - reg
  56. - rockchip,phy-grf
  57. - "#phy-cells"
  58. allOf:
  59. - if:
  60. properties:
  61. compatible:
  62. enum:
  63. - rockchip,rk3588-pcie3-phy
  64. then:
  65. properties:
  66. clocks:
  67. maxItems: 1
  68. clock-names:
  69. items:
  70. - const: pclk
  71. else:
  72. properties:
  73. clocks:
  74. minItems: 3
  75. clock-names:
  76. items:
  77. - const: refclk_m
  78. - const: refclk_n
  79. - const: pclk
  80. additionalProperties: false
  81. examples:
  82. - |
  83. #include <dt-bindings/clock/rk3568-cru.h>
  84. pcie30phy: phy@fe8c0000 {
  85. compatible = "rockchip,rk3568-pcie3-phy";
  86. reg = <0xfe8c0000 0x20000>;
  87. #phy-cells = <0>;
  88. clocks = <&pmucru CLK_PCIE30PHY_REF_M>,
  89. <&pmucru CLK_PCIE30PHY_REF_N>,
  90. <&cru PCLK_PCIE30PHY>;
  91. clock-names = "refclk_m", "refclk_n", "pclk";
  92. resets = <&cru SRST_PCIE30PHY>;
  93. reset-names = "phy";
  94. rockchip,phy-grf = <&pcie30_phy_grf>;
  95. };