ufs-common.yaml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/ufs/ufs-common.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Common properties for Universal Flash Storage (UFS) Host Controllers
  7. maintainers:
  8. - Alim Akhtar <alim.akhtar@samsung.com>
  9. - Avri Altman <avri.altman@wdc.com>
  10. properties:
  11. clocks: true
  12. clock-names: true
  13. freq-table-hz:
  14. items:
  15. items:
  16. - description: Minimum frequency for given clock in Hz
  17. - description: Maximum frequency for given clock in Hz
  18. deprecated: true
  19. description: |
  20. Preferred is operating-points-v2.
  21. Array of <min max> operating frequencies in Hz stored in the same order
  22. as the clocks property. If either this property or operating-points-v2 is
  23. not defined or a value in the array is "0" then it is assumed that the
  24. frequency is set by the parent clock or a fixed rate clock source.
  25. operating-points-v2:
  26. description:
  27. Preferred over freq-table-hz.
  28. If present, each OPP must contain array of frequencies stored in the same
  29. order for each clock. If clock frequency in the array is "0" then it is
  30. assumed that the frequency is set by the parent clock or a fixed rate
  31. clock source.
  32. opp-table:
  33. type: object
  34. interrupts:
  35. maxItems: 1
  36. lanes-per-direction:
  37. $ref: /schemas/types.yaml#/definitions/uint32
  38. enum: [1, 2]
  39. default: 2
  40. description:
  41. Number of lanes available per direction. Note that it is assumed that
  42. the same number of lanes are used in both directions at once.
  43. vdd-hba-supply:
  44. description:
  45. Phandle to UFS host controller supply regulator node.
  46. vcc-supply:
  47. description:
  48. Phandle to VCC supply regulator node.
  49. vccq-supply:
  50. description:
  51. Phandle to VCCQ supply regulator node.
  52. vccq2-supply:
  53. description:
  54. Phandle to VCCQ2 supply regulator node.
  55. vcc-supply-1p8:
  56. type: boolean
  57. description:
  58. For embedded UFS devices, valid VCC range is 1.7-1.95V or 2.7-3.6V. This
  59. boolean property when set, specifies to use low voltage range of
  60. 1.7-1.95V. Note for external UFS cards this property is invalid and valid
  61. VCC range is always 2.7-3.6V.
  62. vcc-max-microamp:
  63. description:
  64. Specifies max. load that can be drawn from VCC supply.
  65. vccq-max-microamp:
  66. description:
  67. Specifies max. load that can be drawn from VCCQ supply.
  68. vccq2-max-microamp:
  69. description:
  70. Specifies max. load that can be drawn from VCCQ2 supply.
  71. msi-parent: true
  72. limit-hs-gear:
  73. $ref: /schemas/types.yaml#/definitions/uint32
  74. minimum: 1
  75. maximum: 6
  76. default: 6
  77. description:
  78. Restricts the maximum HS gear used in both TX and RX directions.
  79. limit-gear-rate:
  80. $ref: /schemas/types.yaml#/definitions/string
  81. enum: [rate-a, rate-b]
  82. default: rate-b
  83. description:
  84. Restricts the UFS controller to rate-a or rate-b for both TX and
  85. RX directions.
  86. dependencies:
  87. freq-table-hz: [ clocks ]
  88. operating-points-v2: [ clocks, clock-names ]
  89. required:
  90. - interrupts
  91. allOf:
  92. - if:
  93. required:
  94. - freq-table-hz
  95. then:
  96. properties:
  97. operating-points-v2: false
  98. - if:
  99. required:
  100. - operating-points-v2
  101. then:
  102. properties:
  103. freq-table-hz: false
  104. additionalProperties: true