18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28cc087a1SEmmanuel Vadot%YAML 1.2
38cc087a1SEmmanuel Vadot---
48cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/memory-controllers/ti,gpmc-child.yaml#
58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: Texas Instruments GPMC Bus Child Nodes
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotmaintainers:
108cc087a1SEmmanuel Vadot  - Tony Lindgren <tony@atomide.com>
118cc087a1SEmmanuel Vadot  - Roger Quadros <rogerq@kernel.org>
128cc087a1SEmmanuel Vadot
138cc087a1SEmmanuel Vadotdescription:
148cc087a1SEmmanuel Vadot  This binding is meant for the child nodes of the GPMC node. The node
158cc087a1SEmmanuel Vadot  represents any device connected to the GPMC bus. It may be a Flash chip,
168cc087a1SEmmanuel Vadot  RAM chip or Ethernet controller, etc. These properties are meant for
178cc087a1SEmmanuel Vadot  configuring the GPMC settings/timings and will accompany the bindings
188cc087a1SEmmanuel Vadot  supported by the respective device.
198cc087a1SEmmanuel Vadot
208cc087a1SEmmanuel Vadotproperties:
218cc087a1SEmmanuel Vadot  reg: true
228cc087a1SEmmanuel Vadot
238cc087a1SEmmanuel Vadot# GPMC Timing properties for child nodes. All are optional and default to 0.
248cc087a1SEmmanuel Vadot  gpmc,sync-clk-ps:
258cc087a1SEmmanuel Vadot    description: Minimum clock period for synchronous mode
268cc087a1SEmmanuel Vadot    default: 0
278cc087a1SEmmanuel Vadot
288cc087a1SEmmanuel Vadot# Chip-select signal timings corresponding to GPMC_CONFIG2:
298cc087a1SEmmanuel Vadot  gpmc,cs-on-ns:
308cc087a1SEmmanuel Vadot    description: Assertion time
318cc087a1SEmmanuel Vadot    default: 0
328cc087a1SEmmanuel Vadot
338cc087a1SEmmanuel Vadot  gpmc,cs-rd-off-ns:
348cc087a1SEmmanuel Vadot    description: Read deassertion time
358cc087a1SEmmanuel Vadot    default: 0
368cc087a1SEmmanuel Vadot
378cc087a1SEmmanuel Vadot  gpmc,cs-wr-off-ns:
388cc087a1SEmmanuel Vadot    description: Write deassertion time
398cc087a1SEmmanuel Vadot    default: 0
408cc087a1SEmmanuel Vadot
418cc087a1SEmmanuel Vadot# ADV signal timings corresponding to GPMC_CONFIG3:
428cc087a1SEmmanuel Vadot  gpmc,adv-on-ns:
438cc087a1SEmmanuel Vadot    description: Assertion time
448cc087a1SEmmanuel Vadot    default: 0
458cc087a1SEmmanuel Vadot
468cc087a1SEmmanuel Vadot  gpmc,adv-rd-off-ns:
478cc087a1SEmmanuel Vadot    description: Read deassertion time
488cc087a1SEmmanuel Vadot    default: 0
498cc087a1SEmmanuel Vadot
508cc087a1SEmmanuel Vadot  gpmc,adv-wr-off-ns:
518cc087a1SEmmanuel Vadot    description: Write deassertion time
528cc087a1SEmmanuel Vadot    default: 0
538cc087a1SEmmanuel Vadot
548cc087a1SEmmanuel Vadot  gpmc,adv-aad-mux-on-ns:
558cc087a1SEmmanuel Vadot    description: Assertion time for AAD
568cc087a1SEmmanuel Vadot    default: 0
578cc087a1SEmmanuel Vadot
588cc087a1SEmmanuel Vadot  gpmc,adv-aad-mux-rd-off-ns:
598cc087a1SEmmanuel Vadot    description: Read deassertion time for AAD
608cc087a1SEmmanuel Vadot    default: 0
618cc087a1SEmmanuel Vadot
628cc087a1SEmmanuel Vadot  gpmc,adv-aad-mux-wr-off-ns:
638cc087a1SEmmanuel Vadot    description: Write deassertion time for AAD
648cc087a1SEmmanuel Vadot    default: 0
658cc087a1SEmmanuel Vadot
668cc087a1SEmmanuel Vadot# WE signals timings corresponding to GPMC_CONFIG4:
678cc087a1SEmmanuel Vadot  gpmc,we-on-ns:
688cc087a1SEmmanuel Vadot    description: Assertion time
698cc087a1SEmmanuel Vadot    default: 0
708cc087a1SEmmanuel Vadot
718cc087a1SEmmanuel Vadot  gpmc,we-off-ns:
728cc087a1SEmmanuel Vadot    description: Deassertion time
738cc087a1SEmmanuel Vadot    default: 0
748cc087a1SEmmanuel Vadot
758cc087a1SEmmanuel Vadot# OE signals timings corresponding to GPMC_CONFIG4:
768cc087a1SEmmanuel Vadot  gpmc,oe-on-ns:
778cc087a1SEmmanuel Vadot    description: Assertion time
788cc087a1SEmmanuel Vadot    default: 0
798cc087a1SEmmanuel Vadot
808cc087a1SEmmanuel Vadot  gpmc,oe-off-ns:
818cc087a1SEmmanuel Vadot    description: Deassertion time
828cc087a1SEmmanuel Vadot    default: 0
838cc087a1SEmmanuel Vadot
848cc087a1SEmmanuel Vadot  gpmc,oe-aad-mux-on-ns:
858cc087a1SEmmanuel Vadot    description: Assertion time for AAD
868cc087a1SEmmanuel Vadot    default: 0
878cc087a1SEmmanuel Vadot
888cc087a1SEmmanuel Vadot  gpmc,oe-aad-mux-off-ns:
898cc087a1SEmmanuel Vadot    description: Deassertion time for AAD
908cc087a1SEmmanuel Vadot    default: 0
918cc087a1SEmmanuel Vadot
928cc087a1SEmmanuel Vadot# Access time and cycle time timings (in nanoseconds) corresponding to
938cc087a1SEmmanuel Vadot# GPMC_CONFIG5:
948cc087a1SEmmanuel Vadot  gpmc,page-burst-access-ns:
958cc087a1SEmmanuel Vadot    description: Multiple access word delay
968cc087a1SEmmanuel Vadot    default: 0
978cc087a1SEmmanuel Vadot
988cc087a1SEmmanuel Vadot  gpmc,access-ns:
998cc087a1SEmmanuel Vadot    description: Start-cycle to first data valid delay
1008cc087a1SEmmanuel Vadot    default: 0
1018cc087a1SEmmanuel Vadot
1028cc087a1SEmmanuel Vadot  gpmc,rd-cycle-ns:
1038cc087a1SEmmanuel Vadot    description: Total read cycle time
1048cc087a1SEmmanuel Vadot    default: 0
1058cc087a1SEmmanuel Vadot
1068cc087a1SEmmanuel Vadot  gpmc,wr-cycle-ns:
1078cc087a1SEmmanuel Vadot    description: Total write cycle time
1088cc087a1SEmmanuel Vadot    default: 0
1098cc087a1SEmmanuel Vadot
1108cc087a1SEmmanuel Vadot  gpmc,bus-turnaround-ns:
1118cc087a1SEmmanuel Vadot    description: Turn-around time between successive accesses
1128cc087a1SEmmanuel Vadot    default: 0
1138cc087a1SEmmanuel Vadot
1148cc087a1SEmmanuel Vadot  gpmc,cycle2cycle-delay-ns:
1158cc087a1SEmmanuel Vadot    description: Delay between chip-select pulses
1168cc087a1SEmmanuel Vadot    default: 0
1178cc087a1SEmmanuel Vadot
1188cc087a1SEmmanuel Vadot  gpmc,clk-activation-ns:
1198cc087a1SEmmanuel Vadot    description: GPMC clock activation time
1208cc087a1SEmmanuel Vadot    default: 0
1218cc087a1SEmmanuel Vadot
1228cc087a1SEmmanuel Vadot  gpmc,wait-monitoring-ns:
1238cc087a1SEmmanuel Vadot    description: Start of wait monitoring with regard to valid data
1248cc087a1SEmmanuel Vadot    default: 0
1258cc087a1SEmmanuel Vadot
1268cc087a1SEmmanuel Vadot# Boolean timing parameters. If property is present, parameter is enabled
1278cc087a1SEmmanuel Vadot# otherwise disabled.
1288cc087a1SEmmanuel Vadot  gpmc,adv-extra-delay:
1298cc087a1SEmmanuel Vadot    description: ADV signal is delayed by half GPMC clock
1308cc087a1SEmmanuel Vadot    type: boolean
1318cc087a1SEmmanuel Vadot
1328cc087a1SEmmanuel Vadot  gpmc,cs-extra-delay:
1338cc087a1SEmmanuel Vadot    description: CS signal is delayed by half GPMC clock
1348cc087a1SEmmanuel Vadot    type: boolean
1358cc087a1SEmmanuel Vadot
1368cc087a1SEmmanuel Vadot  gpmc,cycle2cycle-diffcsen:
1378cc087a1SEmmanuel Vadot    description: |
1388cc087a1SEmmanuel Vadot      Add "cycle2cycle-delay" between successive accesses
1398cc087a1SEmmanuel Vadot      to a different CS
1408cc087a1SEmmanuel Vadot    type: boolean
1418cc087a1SEmmanuel Vadot
1428cc087a1SEmmanuel Vadot  gpmc,cycle2cycle-samecsen:
1438cc087a1SEmmanuel Vadot    description: |
1448cc087a1SEmmanuel Vadot      Add "cycle2cycle-delay" between successive accesses
1458cc087a1SEmmanuel Vadot      to the same CS
1468cc087a1SEmmanuel Vadot    type: boolean
1478cc087a1SEmmanuel Vadot
1488cc087a1SEmmanuel Vadot  gpmc,oe-extra-delay:
1498cc087a1SEmmanuel Vadot    description: OE signal is delayed by half GPMC clock
1508cc087a1SEmmanuel Vadot    type: boolean
1518cc087a1SEmmanuel Vadot
1528cc087a1SEmmanuel Vadot  gpmc,we-extra-delay:
1538cc087a1SEmmanuel Vadot    description: WE signal is delayed by half GPMC clock
1548cc087a1SEmmanuel Vadot    type: boolean
1558cc087a1SEmmanuel Vadot
1568cc087a1SEmmanuel Vadot  gpmc,time-para-granularity:
1578cc087a1SEmmanuel Vadot    description: Multiply all access times by 2
1588cc087a1SEmmanuel Vadot    type: boolean
1598cc087a1SEmmanuel Vadot
1608cc087a1SEmmanuel Vadot# The following two properties are applicable only to OMAP3+ and AM335x:
1618cc087a1SEmmanuel Vadot  gpmc,wr-access-ns:
1628cc087a1SEmmanuel Vadot    description: |
1638cc087a1SEmmanuel Vadot      In synchronous write mode, for single or
1648cc087a1SEmmanuel Vadot      burst accesses, defines the number of
1658cc087a1SEmmanuel Vadot      GPMC_FCLK cycles from start access time
1668cc087a1SEmmanuel Vadot      to the GPMC_CLK rising edge used by the
1678cc087a1SEmmanuel Vadot      memory device for the first data capture.
1688cc087a1SEmmanuel Vadot    default: 0
1698cc087a1SEmmanuel Vadot
1708cc087a1SEmmanuel Vadot  gpmc,wr-data-mux-bus-ns:
1718cc087a1SEmmanuel Vadot    description: |
1728cc087a1SEmmanuel Vadot      In address-data multiplex mode, specifies
1738cc087a1SEmmanuel Vadot      the time when the first data is driven on
1748cc087a1SEmmanuel Vadot      the address-data bus.
1758cc087a1SEmmanuel Vadot    default: 0
1768cc087a1SEmmanuel Vadot
1778cc087a1SEmmanuel Vadot# GPMC chip-select settings properties for child nodes. All are optional.
1788cc087a1SEmmanuel Vadot  gpmc,burst-length:
1798cc087a1SEmmanuel Vadot    description: Page/burst length.
1808cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
1818cc087a1SEmmanuel Vadot    enum: [0, 4, 8, 16]
1828cc087a1SEmmanuel Vadot    default: 0
1838cc087a1SEmmanuel Vadot
1848cc087a1SEmmanuel Vadot  gpmc,burst-wrap:
1858cc087a1SEmmanuel Vadot    description: Enables wrap bursting
1868cc087a1SEmmanuel Vadot    type: boolean
1878cc087a1SEmmanuel Vadot
1888cc087a1SEmmanuel Vadot  gpmc,burst-read:
1898cc087a1SEmmanuel Vadot    description: Enables read page/burst mode
1908cc087a1SEmmanuel Vadot    type: boolean
1918cc087a1SEmmanuel Vadot
1928cc087a1SEmmanuel Vadot  gpmc,burst-write:
1938cc087a1SEmmanuel Vadot    description: Enables write page/burst mode
1948cc087a1SEmmanuel Vadot    type: boolean
1958cc087a1SEmmanuel Vadot
1968cc087a1SEmmanuel Vadot  gpmc,device-width:
1978cc087a1SEmmanuel Vadot    description: |
1988cc087a1SEmmanuel Vadot      Total width of device(s) connected to a GPMC
1998cc087a1SEmmanuel Vadot      chip-select in bytes. The GPMC supports 8-bit
2008cc087a1SEmmanuel Vadot      and 16-bit devices and so this property must be
2018cc087a1SEmmanuel Vadot      1 or 2.
2028cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
2038cc087a1SEmmanuel Vadot    enum: [1, 2]
2048cc087a1SEmmanuel Vadot    default: 1
2058cc087a1SEmmanuel Vadot
2068cc087a1SEmmanuel Vadot  gpmc,mux-add-data:
2078cc087a1SEmmanuel Vadot    description: |
2088cc087a1SEmmanuel Vadot      Address and data multiplexing configuration.
2098cc087a1SEmmanuel Vadot      Valid values are
2108cc087a1SEmmanuel Vadot      0 for Non multiplexed mode
2118cc087a1SEmmanuel Vadot      1 for address-address-data multiplexing mode and
2128cc087a1SEmmanuel Vadot      2 for address-data multiplexing mode.
2138cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
2148cc087a1SEmmanuel Vadot    enum: [0, 1, 2]
2158cc087a1SEmmanuel Vadot
2168cc087a1SEmmanuel Vadot  gpmc,sync-read:
2178cc087a1SEmmanuel Vadot    description: |
2188cc087a1SEmmanuel Vadot      Enables synchronous read. Defaults to asynchronous
2198cc087a1SEmmanuel Vadot      is this is not set.
2208cc087a1SEmmanuel Vadot    type: boolean
2218cc087a1SEmmanuel Vadot
2228cc087a1SEmmanuel Vadot  gpmc,sync-write:
2238cc087a1SEmmanuel Vadot    description: |
2248cc087a1SEmmanuel Vadot      Enables synchronous writes. Defaults to asynchronous
2258cc087a1SEmmanuel Vadot      is this is not set.
2268cc087a1SEmmanuel Vadot    type: boolean
2278cc087a1SEmmanuel Vadot
2288cc087a1SEmmanuel Vadot  gpmc,wait-pin:
2298cc087a1SEmmanuel Vadot    description: |
2308cc087a1SEmmanuel Vadot      Wait-pin used by client. Must be less than "gpmc,num-waitpins".
2318cc087a1SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
2328cc087a1SEmmanuel Vadot
233*8bab661aSEmmanuel Vadot  ti,wait-pin-polarity:
234*8bab661aSEmmanuel Vadot    description: |
235*8bab661aSEmmanuel Vadot      Set the desired polarity for the selected wait pin.
236*8bab661aSEmmanuel Vadot      0 for active low, 1 for active high.
237*8bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
238*8bab661aSEmmanuel Vadot    enum: [0, 1]
239*8bab661aSEmmanuel Vadot
2408cc087a1SEmmanuel Vadot  gpmc,wait-on-read:
2418cc087a1SEmmanuel Vadot    description: Enables wait monitoring on reads.
2428cc087a1SEmmanuel Vadot    type: boolean
2438cc087a1SEmmanuel Vadot
2448cc087a1SEmmanuel Vadot  gpmc,wait-on-write:
2458cc087a1SEmmanuel Vadot    description: Enables wait monitoring on writes.
2468cc087a1SEmmanuel Vadot    type: boolean
2478cc087a1SEmmanuel Vadot
2488cc087a1SEmmanuel Vadotrequired:
2498cc087a1SEmmanuel Vadot  - reg
2508cc087a1SEmmanuel Vadot
2518cc087a1SEmmanuel Vadot# the GPMC child will have its own native properties
2528cc087a1SEmmanuel VadotadditionalProperties: true
253