xref: /freebsd/sys/contrib/device-tree/Bindings/memory-controllers/ddr/jedec,lpddr3-timings.yaml (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1*c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c9ccf3a3SEmmanuel Vadot%YAML 1.2
3*c9ccf3a3SEmmanuel Vadot---
4*c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/memory-controllers/ddr/jedec,lpddr3-timings.yaml#
5*c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c9ccf3a3SEmmanuel Vadot
7*c9ccf3a3SEmmanuel Vadottitle: LPDDR3 SDRAM AC timing parameters for a given speed-bin
8*c9ccf3a3SEmmanuel Vadot
9*c9ccf3a3SEmmanuel Vadotmaintainers:
10*c9ccf3a3SEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
11*c9ccf3a3SEmmanuel Vadot
12*c9ccf3a3SEmmanuel Vadotproperties:
13*c9ccf3a3SEmmanuel Vadot  compatible:
14*c9ccf3a3SEmmanuel Vadot    const: jedec,lpddr3-timings
15*c9ccf3a3SEmmanuel Vadot
16*c9ccf3a3SEmmanuel Vadot  reg:
17*c9ccf3a3SEmmanuel Vadot    maxItems: 1
18*c9ccf3a3SEmmanuel Vadot    description: |
19*c9ccf3a3SEmmanuel Vadot      Maximum DDR clock frequency for the speed-bin, in Hz.
20*c9ccf3a3SEmmanuel Vadot      Property is deprecated, use max-freq.
21*c9ccf3a3SEmmanuel Vadot    deprecated: true
22*c9ccf3a3SEmmanuel Vadot
23*c9ccf3a3SEmmanuel Vadot  max-freq:
24*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
25*c9ccf3a3SEmmanuel Vadot    description: |
26*c9ccf3a3SEmmanuel Vadot      Maximum DDR clock frequency for the speed-bin, in Hz.
27*c9ccf3a3SEmmanuel Vadot
28*c9ccf3a3SEmmanuel Vadot  min-freq:
29*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
30*c9ccf3a3SEmmanuel Vadot    description: |
31*c9ccf3a3SEmmanuel Vadot      Minimum DDR clock frequency for the speed-bin, in Hz.
32*c9ccf3a3SEmmanuel Vadot
33*c9ccf3a3SEmmanuel Vadot  tCKE:
34*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
35*c9ccf3a3SEmmanuel Vadot    description: |
36*c9ccf3a3SEmmanuel Vadot      CKE minimum pulse width (HIGH and LOW pulse width) in pico seconds.
37*c9ccf3a3SEmmanuel Vadot
38*c9ccf3a3SEmmanuel Vadot  tCKESR:
39*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
40*c9ccf3a3SEmmanuel Vadot    description: |
41*c9ccf3a3SEmmanuel Vadot      CKE minimum pulse width during SELF REFRESH (low pulse width during
42*c9ccf3a3SEmmanuel Vadot      SELF REFRESH) in pico seconds.
43*c9ccf3a3SEmmanuel Vadot
44*c9ccf3a3SEmmanuel Vadot  tFAW:
45*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
46*c9ccf3a3SEmmanuel Vadot    description: |
47*c9ccf3a3SEmmanuel Vadot      Four-bank activate window in pico seconds.
48*c9ccf3a3SEmmanuel Vadot
49*c9ccf3a3SEmmanuel Vadot  tMRD:
50*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
51*c9ccf3a3SEmmanuel Vadot    description: |
52*c9ccf3a3SEmmanuel Vadot      Mode register set command delay in pico seconds.
53*c9ccf3a3SEmmanuel Vadot
54*c9ccf3a3SEmmanuel Vadot  tR2R-C2C:
55*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
56*c9ccf3a3SEmmanuel Vadot    description: |
57*c9ccf3a3SEmmanuel Vadot      Additional READ-to-READ delay in chip-to-chip cases in pico seconds.
58*c9ccf3a3SEmmanuel Vadot
59*c9ccf3a3SEmmanuel Vadot  tRAS:
60*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
61*c9ccf3a3SEmmanuel Vadot    description: |
62*c9ccf3a3SEmmanuel Vadot      Row active time in pico seconds.
63*c9ccf3a3SEmmanuel Vadot
64*c9ccf3a3SEmmanuel Vadot  tRC:
65*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
66*c9ccf3a3SEmmanuel Vadot    description: |
67*c9ccf3a3SEmmanuel Vadot      ACTIVATE-to-ACTIVATE command period in pico seconds.
68*c9ccf3a3SEmmanuel Vadot
69*c9ccf3a3SEmmanuel Vadot  tRCD:
70*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
71*c9ccf3a3SEmmanuel Vadot    description: |
72*c9ccf3a3SEmmanuel Vadot      RAS-to-CAS delay in pico seconds.
73*c9ccf3a3SEmmanuel Vadot
74*c9ccf3a3SEmmanuel Vadot  tRFC:
75*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
76*c9ccf3a3SEmmanuel Vadot    description: |
77*c9ccf3a3SEmmanuel Vadot      Refresh Cycle time in pico seconds.
78*c9ccf3a3SEmmanuel Vadot
79*c9ccf3a3SEmmanuel Vadot  tRPab:
80*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
81*c9ccf3a3SEmmanuel Vadot    description: |
82*c9ccf3a3SEmmanuel Vadot      Row precharge time (all banks) in pico seconds.
83*c9ccf3a3SEmmanuel Vadot
84*c9ccf3a3SEmmanuel Vadot  tRPpb:
85*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
86*c9ccf3a3SEmmanuel Vadot    description: |
87*c9ccf3a3SEmmanuel Vadot      Row precharge time (single banks) in pico seconds.
88*c9ccf3a3SEmmanuel Vadot
89*c9ccf3a3SEmmanuel Vadot  tRRD:
90*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
91*c9ccf3a3SEmmanuel Vadot    description: |
92*c9ccf3a3SEmmanuel Vadot      Active bank A to active bank B in pico seconds.
93*c9ccf3a3SEmmanuel Vadot
94*c9ccf3a3SEmmanuel Vadot  tRTP:
95*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
96*c9ccf3a3SEmmanuel Vadot    description: |
97*c9ccf3a3SEmmanuel Vadot      Internal READ to PRECHARGE command delay in pico seconds.
98*c9ccf3a3SEmmanuel Vadot
99*c9ccf3a3SEmmanuel Vadot  tW2W-C2C:
100*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
101*c9ccf3a3SEmmanuel Vadot    description: |
102*c9ccf3a3SEmmanuel Vadot      Additional WRITE-to-WRITE delay in chip-to-chip cases in pico seconds.
103*c9ccf3a3SEmmanuel Vadot
104*c9ccf3a3SEmmanuel Vadot  tWR:
105*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
106*c9ccf3a3SEmmanuel Vadot    description: |
107*c9ccf3a3SEmmanuel Vadot      WRITE recovery time in pico seconds.
108*c9ccf3a3SEmmanuel Vadot
109*c9ccf3a3SEmmanuel Vadot  tWTR:
110*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
111*c9ccf3a3SEmmanuel Vadot    description: |
112*c9ccf3a3SEmmanuel Vadot      Internal WRITE-to-READ command delay in pico seconds.
113*c9ccf3a3SEmmanuel Vadot
114*c9ccf3a3SEmmanuel Vadot  tXP:
115*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
116*c9ccf3a3SEmmanuel Vadot    description: |
117*c9ccf3a3SEmmanuel Vadot      Exit power-down to next valid command delay in pico seconds.
118*c9ccf3a3SEmmanuel Vadot
119*c9ccf3a3SEmmanuel Vadot  tXSR:
120*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
121*c9ccf3a3SEmmanuel Vadot    description: |
122*c9ccf3a3SEmmanuel Vadot      SELF REFRESH exit to next valid command delay in pico seconds.
123*c9ccf3a3SEmmanuel Vadot
124*c9ccf3a3SEmmanuel Vadotrequired:
125*c9ccf3a3SEmmanuel Vadot  - compatible
126*c9ccf3a3SEmmanuel Vadot  - min-freq
127*c9ccf3a3SEmmanuel Vadot  - max-freq
128*c9ccf3a3SEmmanuel Vadot
129*c9ccf3a3SEmmanuel VadotadditionalProperties: false
130*c9ccf3a3SEmmanuel Vadot
131*c9ccf3a3SEmmanuel Vadotexamples:
132*c9ccf3a3SEmmanuel Vadot  - |
133*c9ccf3a3SEmmanuel Vadot    lpddr3 {
134*c9ccf3a3SEmmanuel Vadot        timings {
135*c9ccf3a3SEmmanuel Vadot            compatible = "jedec,lpddr3-timings";
136*c9ccf3a3SEmmanuel Vadot            max-freq = <800000000>;
137*c9ccf3a3SEmmanuel Vadot            min-freq = <100000000>;
138*c9ccf3a3SEmmanuel Vadot            tCKE = <3750>;
139*c9ccf3a3SEmmanuel Vadot            tCKESR = <3750>;
140*c9ccf3a3SEmmanuel Vadot            tFAW = <25000>;
141*c9ccf3a3SEmmanuel Vadot            tMRD = <7000>;
142*c9ccf3a3SEmmanuel Vadot            tR2R-C2C = <0>;
143*c9ccf3a3SEmmanuel Vadot            tRAS = <23000>;
144*c9ccf3a3SEmmanuel Vadot            tRC = <33750>;
145*c9ccf3a3SEmmanuel Vadot            tRCD = <10000>;
146*c9ccf3a3SEmmanuel Vadot            tRFC = <65000>;
147*c9ccf3a3SEmmanuel Vadot            tRPab = <12000>;
148*c9ccf3a3SEmmanuel Vadot            tRPpb = <12000>;
149*c9ccf3a3SEmmanuel Vadot            tRRD = <6000>;
150*c9ccf3a3SEmmanuel Vadot            tRTP = <3750>;
151*c9ccf3a3SEmmanuel Vadot            tW2W-C2C = <0>;
152*c9ccf3a3SEmmanuel Vadot            tWR = <7500>;
153*c9ccf3a3SEmmanuel Vadot            tWTR = <3750>;
154*c9ccf3a3SEmmanuel Vadot            tXP = <3750>;
155*c9ccf3a3SEmmanuel Vadot            tXSR = <70000>;
156*c9ccf3a3SEmmanuel Vadot        };
157*c9ccf3a3SEmmanuel Vadot    };
158