xref: /freebsd/sys/contrib/device-tree/Bindings/memory-controllers/qcom,ebi2-peripheral-props.yaml (revision 8ccc0d235c226d84112561d453c49904398d085c)
1*8ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*8ccc0d23SEmmanuel Vadot%YAML 1.2
3*8ccc0d23SEmmanuel Vadot---
4*8ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/memory-controllers/qcom,ebi2-peripheral-props.yaml#
5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8ccc0d23SEmmanuel Vadot
7*8ccc0d23SEmmanuel Vadottitle: Peripheral Properties for Qualcomm External Bus Interface 2 (EBI2)
8*8ccc0d23SEmmanuel Vadot
9*8ccc0d23SEmmanuel Vadotmaintainers:
10*8ccc0d23SEmmanuel Vadot  - Bjorn Andersson <andersson@kernel.org>
11*8ccc0d23SEmmanuel Vadot
12*8ccc0d23SEmmanuel Vadotproperties:
13*8ccc0d23SEmmanuel Vadot  # SLOW chip selects
14*8ccc0d23SEmmanuel Vadot  qcom,xmem-recovery-cycles:
15*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
16*8ccc0d23SEmmanuel Vadot    description: >
17*8ccc0d23SEmmanuel Vadot      The time the memory continues to drive the data bus after OE
18*8ccc0d23SEmmanuel Vadot      is de-asserted, in order to avoid contention on the data bus.
19*8ccc0d23SEmmanuel Vadot      They are inserted when reading one CS and switching to another
20*8ccc0d23SEmmanuel Vadot      CS or read followed by write on the same CS. Minimum value is
21*8ccc0d23SEmmanuel Vadot      actually 1, so a value of 0 will still yield 1 recovery cycle.
22*8ccc0d23SEmmanuel Vadot    minimum: 0
23*8ccc0d23SEmmanuel Vadot    maximum: 15
24*8ccc0d23SEmmanuel Vadot
25*8ccc0d23SEmmanuel Vadot  qcom,xmem-write-hold-cycles:
26*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
27*8ccc0d23SEmmanuel Vadot    description: >
28*8ccc0d23SEmmanuel Vadot      The extra cycles inserted after every write minimum 1. The
29*8ccc0d23SEmmanuel Vadot      data out is driven from the time WE is asserted until CS is
30*8ccc0d23SEmmanuel Vadot      asserted. With a hold of 1 (value = 0), the CS stays active
31*8ccc0d23SEmmanuel Vadot      for 1 extra cycle, etc.
32*8ccc0d23SEmmanuel Vadot    minimum: 0
33*8ccc0d23SEmmanuel Vadot    maximum: 15
34*8ccc0d23SEmmanuel Vadot
35*8ccc0d23SEmmanuel Vadot  qcom,xmem-write-delta-cycles:
36*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
37*8ccc0d23SEmmanuel Vadot    description: >
38*8ccc0d23SEmmanuel Vadot      The initial latency for write cycles inserted for the first
39*8ccc0d23SEmmanuel Vadot      write to a page or burst memory.
40*8ccc0d23SEmmanuel Vadot    minimum: 0
41*8ccc0d23SEmmanuel Vadot    maximum: 255
42*8ccc0d23SEmmanuel Vadot
43*8ccc0d23SEmmanuel Vadot  qcom,xmem-read-delta-cycles:
44*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
45*8ccc0d23SEmmanuel Vadot    description: >
46*8ccc0d23SEmmanuel Vadot      The initial latency for read cycles inserted for the first
47*8ccc0d23SEmmanuel Vadot      read to a page or burst memory.
48*8ccc0d23SEmmanuel Vadot    minimum: 0
49*8ccc0d23SEmmanuel Vadot    maximum: 255
50*8ccc0d23SEmmanuel Vadot
51*8ccc0d23SEmmanuel Vadot  qcom,xmem-write-wait-cycles:
52*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
53*8ccc0d23SEmmanuel Vadot    description: >
54*8ccc0d23SEmmanuel Vadot      The number of wait cycles for every write access.
55*8ccc0d23SEmmanuel Vadot    minimum: 0
56*8ccc0d23SEmmanuel Vadot    maximum: 15
57*8ccc0d23SEmmanuel Vadot
58*8ccc0d23SEmmanuel Vadot  qcom,xmem-read-wait-cycles:
59*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
60*8ccc0d23SEmmanuel Vadot    description: >
61*8ccc0d23SEmmanuel Vadot      The number of wait cycles for every read access.
62*8ccc0d23SEmmanuel Vadot    minimum: 0
63*8ccc0d23SEmmanuel Vadot    maximum: 15
64*8ccc0d23SEmmanuel Vadot
65*8ccc0d23SEmmanuel Vadot
66*8ccc0d23SEmmanuel Vadot  # FAST chip selects
67*8ccc0d23SEmmanuel Vadot  qcom,xmem-address-hold-enable:
68*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
69*8ccc0d23SEmmanuel Vadot    description: >
70*8ccc0d23SEmmanuel Vadot      Holds the address for an extra cycle to meet hold time
71*8ccc0d23SEmmanuel Vadot      requirements with ADV assertion, when set to 1.
72*8ccc0d23SEmmanuel Vadot    enum: [ 0, 1 ]
73*8ccc0d23SEmmanuel Vadot
74*8ccc0d23SEmmanuel Vadot  qcom,xmem-adv-to-oe-recovery-cycles:
75*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
76*8ccc0d23SEmmanuel Vadot    description: >
77*8ccc0d23SEmmanuel Vadot      The number of cycles elapsed before an OE assertion, with
78*8ccc0d23SEmmanuel Vadot      respect to the cycle where ADV (address valid) is asserted.
79*8ccc0d23SEmmanuel Vadot    minimum: 0
80*8ccc0d23SEmmanuel Vadot    maximum: 3
81*8ccc0d23SEmmanuel Vadot
82*8ccc0d23SEmmanuel Vadot  qcom,xmem-read-hold-cycles:
83*8ccc0d23SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
84*8ccc0d23SEmmanuel Vadot    description: >
85*8ccc0d23SEmmanuel Vadot      The length in cycles of the first segment of a read transfer.
86*8ccc0d23SEmmanuel Vadot      For a single read transfer this will be the time from CS
87*8ccc0d23SEmmanuel Vadot      assertion to OE assertion.
88*8ccc0d23SEmmanuel Vadot    minimum: 0
89*8ccc0d23SEmmanuel Vadot    maximum: 15
90*8ccc0d23SEmmanuel Vadot
91*8ccc0d23SEmmanuel VadotadditionalProperties: true
92