ti,gpmc-child.yaml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  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/ti,gpmc-child.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Texas Instruments GPMC Bus Child Nodes
  7. maintainers:
  8. - Tony Lindgren <tony@atomide.com>
  9. - Roger Quadros <rogerq@kernel.org>
  10. description:
  11. This binding is meant for the child nodes of the GPMC node. The node
  12. represents any device connected to the GPMC bus. It may be a Flash chip,
  13. RAM chip or Ethernet controller, etc. These properties are meant for
  14. configuring the GPMC settings/timings and will accompany the bindings
  15. supported by the respective device.
  16. properties:
  17. reg: true
  18. # GPMC Timing properties for child nodes. All are optional and default to 0.
  19. gpmc,sync-clk-ps:
  20. description: Minimum clock period for synchronous mode
  21. default: 0
  22. # Chip-select signal timings corresponding to GPMC_CONFIG2:
  23. gpmc,cs-on-ns:
  24. description: Assertion time
  25. default: 0
  26. gpmc,cs-rd-off-ns:
  27. description: Read deassertion time
  28. default: 0
  29. gpmc,cs-wr-off-ns:
  30. description: Write deassertion time
  31. default: 0
  32. # ADV signal timings corresponding to GPMC_CONFIG3:
  33. gpmc,adv-on-ns:
  34. description: Assertion time
  35. default: 0
  36. gpmc,adv-rd-off-ns:
  37. description: Read deassertion time
  38. default: 0
  39. gpmc,adv-wr-off-ns:
  40. description: Write deassertion time
  41. default: 0
  42. gpmc,adv-aad-mux-on-ns:
  43. description: Assertion time for AAD
  44. default: 0
  45. gpmc,adv-aad-mux-rd-off-ns:
  46. description: Read deassertion time for AAD
  47. default: 0
  48. gpmc,adv-aad-mux-wr-off-ns:
  49. description: Write deassertion time for AAD
  50. default: 0
  51. # WE signals timings corresponding to GPMC_CONFIG4:
  52. gpmc,we-on-ns:
  53. description: Assertion time
  54. default: 0
  55. gpmc,we-off-ns:
  56. description: Deassertion time
  57. default: 0
  58. # OE signals timings corresponding to GPMC_CONFIG4:
  59. gpmc,oe-on-ns:
  60. description: Assertion time
  61. default: 0
  62. gpmc,oe-off-ns:
  63. description: Deassertion time
  64. default: 0
  65. gpmc,oe-aad-mux-on-ns:
  66. description: Assertion time for AAD
  67. default: 0
  68. gpmc,oe-aad-mux-off-ns:
  69. description: Deassertion time for AAD
  70. default: 0
  71. # Access time and cycle time timings (in nanoseconds) corresponding to
  72. # GPMC_CONFIG5:
  73. gpmc,page-burst-access-ns:
  74. description: Multiple access word delay
  75. default: 0
  76. gpmc,access-ns:
  77. description: Start-cycle to first data valid delay
  78. default: 0
  79. gpmc,rd-cycle-ns:
  80. description: Total read cycle time
  81. default: 0
  82. gpmc,wr-cycle-ns:
  83. description: Total write cycle time
  84. default: 0
  85. gpmc,bus-turnaround-ns:
  86. description: Turn-around time between successive accesses
  87. default: 0
  88. gpmc,cycle2cycle-delay-ns:
  89. description: Delay between chip-select pulses
  90. default: 0
  91. gpmc,clk-activation-ns:
  92. description: GPMC clock activation time
  93. default: 0
  94. gpmc,wait-monitoring-ns:
  95. description: Start of wait monitoring with regard to valid data
  96. default: 0
  97. # Boolean timing parameters. If property is present, parameter is enabled
  98. # otherwise disabled.
  99. gpmc,adv-extra-delay:
  100. description: ADV signal is delayed by half GPMC clock
  101. type: boolean
  102. gpmc,cs-extra-delay:
  103. description: CS signal is delayed by half GPMC clock
  104. type: boolean
  105. gpmc,cycle2cycle-diffcsen:
  106. description: |
  107. Add "cycle2cycle-delay" between successive accesses
  108. to a different CS
  109. type: boolean
  110. gpmc,cycle2cycle-samecsen:
  111. description: |
  112. Add "cycle2cycle-delay" between successive accesses
  113. to the same CS
  114. type: boolean
  115. gpmc,oe-extra-delay:
  116. description: OE signal is delayed by half GPMC clock
  117. type: boolean
  118. gpmc,we-extra-delay:
  119. description: WE signal is delayed by half GPMC clock
  120. type: boolean
  121. gpmc,time-para-granularity:
  122. description: Multiply all access times by 2
  123. type: boolean
  124. # The following two properties are applicable only to OMAP3+ and AM335x:
  125. gpmc,wr-access-ns:
  126. description: |
  127. In synchronous write mode, for single or
  128. burst accesses, defines the number of
  129. GPMC_FCLK cycles from start access time
  130. to the GPMC_CLK rising edge used by the
  131. memory device for the first data capture.
  132. default: 0
  133. gpmc,wr-data-mux-bus-ns:
  134. description: |
  135. In address-data multiplex mode, specifies
  136. the time when the first data is driven on
  137. the address-data bus.
  138. default: 0
  139. # GPMC chip-select settings properties for child nodes. All are optional.
  140. gpmc,burst-length:
  141. description: Page/burst length.
  142. $ref: /schemas/types.yaml#/definitions/uint32
  143. enum: [0, 4, 8, 16]
  144. default: 0
  145. gpmc,burst-wrap:
  146. description: Enables wrap bursting
  147. type: boolean
  148. gpmc,burst-read:
  149. description: Enables read page/burst mode
  150. type: boolean
  151. gpmc,burst-write:
  152. description: Enables write page/burst mode
  153. type: boolean
  154. gpmc,device-width:
  155. description: |
  156. Total width of device(s) connected to a GPMC
  157. chip-select in bytes. The GPMC supports 8-bit
  158. and 16-bit devices and so this property must be
  159. 1 or 2.
  160. $ref: /schemas/types.yaml#/definitions/uint32
  161. enum: [1, 2]
  162. default: 1
  163. gpmc,mux-add-data:
  164. description: |
  165. Address and data multiplexing configuration.
  166. Valid values are
  167. 0 for Non multiplexed mode
  168. 1 for address-address-data multiplexing mode and
  169. 2 for address-data multiplexing mode.
  170. $ref: /schemas/types.yaml#/definitions/uint32
  171. enum: [0, 1, 2]
  172. gpmc,sync-read:
  173. description: |
  174. Enables synchronous read. Defaults to asynchronous
  175. is this is not set.
  176. type: boolean
  177. gpmc,sync-write:
  178. description: |
  179. Enables synchronous writes. Defaults to asynchronous
  180. is this is not set.
  181. type: boolean
  182. gpmc,wait-pin:
  183. description: |
  184. Wait-pin used by client. Must be less than "gpmc,num-waitpins".
  185. $ref: /schemas/types.yaml#/definitions/uint32
  186. ti,wait-pin-polarity:
  187. description: |
  188. Set the desired polarity for the selected wait pin.
  189. 0 for active low, 1 for active high.
  190. $ref: /schemas/types.yaml#/definitions/uint32
  191. enum: [0, 1]
  192. gpmc,wait-on-read:
  193. description: Enables wait monitoring on reads.
  194. type: boolean
  195. gpmc,wait-on-write:
  196. description: Enables wait monitoring on writes.
  197. type: boolean
  198. required:
  199. - reg
  200. # the GPMC child will have its own native properties
  201. additionalProperties: true