jedec,lpddr3.yaml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr3.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: LPDDR3 SDRAM compliant to JEDEC JESD209-3
  7. maintainers:
  8. - Krzysztof Kozlowski <krzk@kernel.org>
  9. allOf:
  10. - $ref: jedec,lpddr-props.yaml#
  11. properties:
  12. compatible:
  13. oneOf:
  14. - items:
  15. - enum:
  16. - samsung,K3QF2F20DB
  17. - const: jedec,lpddr3
  18. - items:
  19. - pattern: "^lpddr3-[0-9a-f]{2},[0-9a-f]{4}$"
  20. - const: jedec,lpddr3
  21. '#address-cells':
  22. const: 1
  23. deprecated: true
  24. manufacturer-id:
  25. $ref: /schemas/types.yaml#/definitions/uint32
  26. description: |
  27. Manufacturer ID value read from Mode Register 5. The property is
  28. deprecated, manufacturer should be derived from the compatible.
  29. deprecated: true
  30. '#size-cells':
  31. const: 0
  32. deprecated: true
  33. tCKE-min-tck:
  34. $ref: /schemas/types.yaml#/definitions/uint32
  35. maximum: 15
  36. description: |
  37. CKE minimum pulse width (HIGH and LOW pulse width) in terms of number
  38. of clock cycles.
  39. tCKESR-min-tck:
  40. $ref: /schemas/types.yaml#/definitions/uint32
  41. maximum: 15
  42. description: |
  43. CKE minimum pulse width during SELF REFRESH (low pulse width during
  44. SELF REFRESH) in terms of number of clock cycles.
  45. tDQSCK-min-tck:
  46. $ref: /schemas/types.yaml#/definitions/uint32
  47. maximum: 15
  48. description: |
  49. DQS output data access time from CK_t/CK_c in terms of number of clock
  50. cycles.
  51. tFAW-min-tck:
  52. $ref: /schemas/types.yaml#/definitions/uint32
  53. maximum: 63
  54. description: |
  55. Four-bank activate window in terms of number of clock cycles.
  56. tMRD-min-tck:
  57. $ref: /schemas/types.yaml#/definitions/uint32
  58. maximum: 15
  59. description: |
  60. Mode register set command delay in terms of number of clock cycles.
  61. tR2R-C2C-min-tck:
  62. $ref: /schemas/types.yaml#/definitions/uint32
  63. enum: [0, 1]
  64. description: |
  65. Additional READ-to-READ delay in chip-to-chip cases in terms of number
  66. of clock cycles.
  67. tRAS-min-tck:
  68. $ref: /schemas/types.yaml#/definitions/uint32
  69. maximum: 63
  70. description: |
  71. Row active time in terms of number of clock cycles.
  72. tRC-min-tck:
  73. $ref: /schemas/types.yaml#/definitions/uint32
  74. maximum: 63
  75. description: |
  76. ACTIVATE-to-ACTIVATE command period in terms of number of clock cycles.
  77. tRCD-min-tck:
  78. $ref: /schemas/types.yaml#/definitions/uint32
  79. maximum: 15
  80. description: |
  81. RAS-to-CAS delay in terms of number of clock cycles.
  82. tRFC-min-tck:
  83. $ref: /schemas/types.yaml#/definitions/uint32
  84. maximum: 255
  85. description: |
  86. Refresh Cycle time in terms of number of clock cycles.
  87. tRL-min-tck:
  88. $ref: /schemas/types.yaml#/definitions/uint32
  89. maximum: 15
  90. description: |
  91. READ data latency in terms of number of clock cycles.
  92. tRPab-min-tck:
  93. $ref: /schemas/types.yaml#/definitions/uint32
  94. maximum: 15
  95. description: |
  96. Row precharge time (all banks) in terms of number of clock cycles.
  97. tRPpb-min-tck:
  98. $ref: /schemas/types.yaml#/definitions/uint32
  99. maximum: 15
  100. description: |
  101. Row precharge time (single banks) in terms of number of clock cycles.
  102. tRRD-min-tck:
  103. $ref: /schemas/types.yaml#/definitions/uint32
  104. maximum: 15
  105. description: |
  106. Active bank A to active bank B in terms of number of clock cycles.
  107. tRTP-min-tck:
  108. $ref: /schemas/types.yaml#/definitions/uint32
  109. maximum: 15
  110. description: |
  111. Internal READ to PRECHARGE command delay in terms of number of clock
  112. cycles.
  113. tW2W-C2C-min-tck:
  114. $ref: /schemas/types.yaml#/definitions/uint32
  115. enum: [0, 1]
  116. description: |
  117. Additional WRITE-to-WRITE delay in chip-to-chip cases in terms of number
  118. of clock cycles.
  119. tWL-min-tck:
  120. $ref: /schemas/types.yaml#/definitions/uint32
  121. maximum: 15
  122. description: |
  123. WRITE data latency in terms of number of clock cycles.
  124. tWR-min-tck:
  125. $ref: /schemas/types.yaml#/definitions/uint32
  126. maximum: 15
  127. description: |
  128. WRITE recovery time in terms of number of clock cycles.
  129. tWTR-min-tck:
  130. $ref: /schemas/types.yaml#/definitions/uint32
  131. maximum: 15
  132. description: |
  133. Internal WRITE-to-READ command delay in terms of number of clock cycles.
  134. tXP-min-tck:
  135. $ref: /schemas/types.yaml#/definitions/uint32
  136. maximum: 255
  137. description: |
  138. Exit power-down to next valid command delay in terms of number of clock
  139. cycles.
  140. tXSR-min-tck:
  141. $ref: /schemas/types.yaml#/definitions/uint32
  142. maximum: 1023
  143. description: |
  144. SELF REFRESH exit to next valid command delay in terms of number of clock
  145. cycles.
  146. patternProperties:
  147. "^timings((-[0-9])+|(@[0-9a-f]+))?$":
  148. $ref: jedec,lpddr3-timings.yaml
  149. description: |
  150. The lpddr3 node may have one or more child nodes with timings.
  151. Each timing node provides AC timing parameters of the device for a given
  152. speed-bin. The user may provide the timings for as many speed-bins as is
  153. required.
  154. required:
  155. - compatible
  156. - density
  157. - io-width
  158. unevaluatedProperties: false
  159. examples:
  160. - |
  161. lpddr3 {
  162. compatible = "samsung,K3QF2F20DB", "jedec,lpddr3";
  163. density = <16384>;
  164. io-width = <32>;
  165. tCKE-min-tck = <2>;
  166. tCKESR-min-tck = <2>;
  167. tDQSCK-min-tck = <5>;
  168. tFAW-min-tck = <5>;
  169. tMRD-min-tck = <5>;
  170. tR2R-C2C-min-tck = <0>;
  171. tRAS-min-tck = <5>;
  172. tRC-min-tck = <6>;
  173. tRCD-min-tck = <3>;
  174. tRFC-min-tck = <17>;
  175. tRL-min-tck = <14>;
  176. tRPab-min-tck = <2>;
  177. tRPpb-min-tck = <2>;
  178. tRRD-min-tck = <2>;
  179. tRTP-min-tck = <2>;
  180. tW2W-C2C-min-tck = <0>;
  181. tWL-min-tck = <8>;
  182. tWR-min-tck = <7>;
  183. tWTR-min-tck = <2>;
  184. tXP-min-tck = <2>;
  185. tXSR-min-tck = <12>;
  186. timings {
  187. compatible = "jedec,lpddr3-timings";
  188. max-freq = <800000000>;
  189. min-freq = <100000000>;
  190. tCKE = <3750>;
  191. tCKESR = <3750>;
  192. tFAW = <25000>;
  193. tMRD = <7000>;
  194. tR2R-C2C = <0>;
  195. tRAS = <23000>;
  196. tRC = <33750>;
  197. tRCD = <10000>;
  198. tRFC = <65000>;
  199. tRPab = <12000>;
  200. tRPpb = <12000>;
  201. tRRD = <6000>;
  202. tRTP = <3750>;
  203. tW2W-C2C = <0>;
  204. tWR = <7500>;
  205. tWTR = <3750>;
  206. tXP = <3750>;
  207. tXSR = <70000>;
  208. };
  209. };