0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/memory-controllers/ti,gpmc-child.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: device tree bindings for children of the Texas Instruments GPMC
0008
0009 maintainers:
0010 - Tony Lindgren <tony@atomide.com>
0011 - Roger Quadros <rogerq@kernel.org>
0012
0013 description:
0014 This binding is meant for the child nodes of the GPMC node. The node
0015 represents any device connected to the GPMC bus. It may be a Flash chip,
0016 RAM chip or Ethernet controller, etc. These properties are meant for
0017 configuring the GPMC settings/timings and will accompany the bindings
0018 supported by the respective device.
0019
0020 properties:
0021 reg: true
0022
0023 # GPMC Timing properties for child nodes. All are optional and default to 0.
0024 gpmc,sync-clk-ps:
0025 description: Minimum clock period for synchronous mode
0026 default: 0
0027
0028 # Chip-select signal timings corresponding to GPMC_CONFIG2:
0029 gpmc,cs-on-ns:
0030 description: Assertion time
0031 default: 0
0032
0033 gpmc,cs-rd-off-ns:
0034 description: Read deassertion time
0035 default: 0
0036
0037 gpmc,cs-wr-off-ns:
0038 description: Write deassertion time
0039 default: 0
0040
0041 # ADV signal timings corresponding to GPMC_CONFIG3:
0042 gpmc,adv-on-ns:
0043 description: Assertion time
0044 default: 0
0045
0046 gpmc,adv-rd-off-ns:
0047 description: Read deassertion time
0048 default: 0
0049
0050 gpmc,adv-wr-off-ns:
0051 description: Write deassertion time
0052 default: 0
0053
0054 gpmc,adv-aad-mux-on-ns:
0055 description: Assertion time for AAD
0056 default: 0
0057
0058 gpmc,adv-aad-mux-rd-off-ns:
0059 description: Read deassertion time for AAD
0060 default: 0
0061
0062 gpmc,adv-aad-mux-wr-off-ns:
0063 description: Write deassertion time for AAD
0064 default: 0
0065
0066 # WE signals timings corresponding to GPMC_CONFIG4:
0067 gpmc,we-on-ns:
0068 description: Assertion time
0069 default: 0
0070
0071 gpmc,we-off-ns:
0072 description: Deassertion time
0073 default: 0
0074
0075 # OE signals timings corresponding to GPMC_CONFIG4:
0076 gpmc,oe-on-ns:
0077 description: Assertion time
0078 default: 0
0079
0080 gpmc,oe-off-ns:
0081 description: Deassertion time
0082 default: 0
0083
0084 gpmc,oe-aad-mux-on-ns:
0085 description: Assertion time for AAD
0086 default: 0
0087
0088 gpmc,oe-aad-mux-off-ns:
0089 description: Deassertion time for AAD
0090 default: 0
0091
0092 # Access time and cycle time timings (in nanoseconds) corresponding to
0093 # GPMC_CONFIG5:
0094 gpmc,page-burst-access-ns:
0095 description: Multiple access word delay
0096 default: 0
0097
0098 gpmc,access-ns:
0099 description: Start-cycle to first data valid delay
0100 default: 0
0101
0102 gpmc,rd-cycle-ns:
0103 description: Total read cycle time
0104 default: 0
0105
0106 gpmc,wr-cycle-ns:
0107 description: Total write cycle time
0108 default: 0
0109
0110 gpmc,bus-turnaround-ns:
0111 description: Turn-around time between successive accesses
0112 default: 0
0113
0114 gpmc,cycle2cycle-delay-ns:
0115 description: Delay between chip-select pulses
0116 default: 0
0117
0118 gpmc,clk-activation-ns:
0119 description: GPMC clock activation time
0120 default: 0
0121
0122 gpmc,wait-monitoring-ns:
0123 description: Start of wait monitoring with regard to valid data
0124 default: 0
0125
0126 # Boolean timing parameters. If property is present, parameter is enabled
0127 # otherwise disabled.
0128 gpmc,adv-extra-delay:
0129 description: ADV signal is delayed by half GPMC clock
0130 type: boolean
0131
0132 gpmc,cs-extra-delay:
0133 description: CS signal is delayed by half GPMC clock
0134 type: boolean
0135
0136 gpmc,cycle2cycle-diffcsen:
0137 description: |
0138 Add "cycle2cycle-delay" between successive accesses
0139 to a different CS
0140 type: boolean
0141
0142 gpmc,cycle2cycle-samecsen:
0143 description: |
0144 Add "cycle2cycle-delay" between successive accesses
0145 to the same CS
0146 type: boolean
0147
0148 gpmc,oe-extra-delay:
0149 description: OE signal is delayed by half GPMC clock
0150 type: boolean
0151
0152 gpmc,we-extra-delay:
0153 description: WE signal is delayed by half GPMC clock
0154 type: boolean
0155
0156 gpmc,time-para-granularity:
0157 description: Multiply all access times by 2
0158 type: boolean
0159
0160 # The following two properties are applicable only to OMAP3+ and AM335x:
0161 gpmc,wr-access-ns:
0162 description: |
0163 In synchronous write mode, for single or
0164 burst accesses, defines the number of
0165 GPMC_FCLK cycles from start access time
0166 to the GPMC_CLK rising edge used by the
0167 memory device for the first data capture.
0168 default: 0
0169
0170 gpmc,wr-data-mux-bus-ns:
0171 description: |
0172 In address-data multiplex mode, specifies
0173 the time when the first data is driven on
0174 the address-data bus.
0175 default: 0
0176
0177 # GPMC chip-select settings properties for child nodes. All are optional.
0178 gpmc,burst-length:
0179 description: Page/burst length.
0180 $ref: /schemas/types.yaml#/definitions/uint32
0181 enum: [0, 4, 8, 16]
0182 default: 0
0183
0184 gpmc,burst-wrap:
0185 description: Enables wrap bursting
0186 type: boolean
0187
0188 gpmc,burst-read:
0189 description: Enables read page/burst mode
0190 type: boolean
0191
0192 gpmc,burst-write:
0193 description: Enables write page/burst mode
0194 type: boolean
0195
0196 gpmc,device-width:
0197 description: |
0198 Total width of device(s) connected to a GPMC
0199 chip-select in bytes. The GPMC supports 8-bit
0200 and 16-bit devices and so this property must be
0201 1 or 2.
0202 $ref: /schemas/types.yaml#/definitions/uint32
0203 enum: [1, 2]
0204 default: 1
0205
0206 gpmc,mux-add-data:
0207 description: |
0208 Address and data multiplexing configuration.
0209 Valid values are
0210 0 for Non multiplexed mode
0211 1 for address-address-data multiplexing mode and
0212 2 for address-data multiplexing mode.
0213 $ref: /schemas/types.yaml#/definitions/uint32
0214 enum: [0, 1, 2]
0215
0216 gpmc,sync-read:
0217 description: |
0218 Enables synchronous read. Defaults to asynchronous
0219 is this is not set.
0220 type: boolean
0221
0222 gpmc,sync-write:
0223 description: |
0224 Enables synchronous writes. Defaults to asynchronous
0225 is this is not set.
0226 type: boolean
0227
0228 gpmc,wait-pin:
0229 description: |
0230 Wait-pin used by client. Must be less than "gpmc,num-waitpins".
0231 $ref: /schemas/types.yaml#/definitions/uint32
0232
0233 gpmc,wait-on-read:
0234 description: Enables wait monitoring on reads.
0235 type: boolean
0236
0237 gpmc,wait-on-write:
0238 description: Enables wait monitoring on writes.
0239 type: boolean
0240
0241 required:
0242 - reg
0243
0244 # the GPMC child will have its own native properties
0245 additionalProperties: true