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,lpddr2-timings.yaml#
5*c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c9ccf3a3SEmmanuel Vadot
7*c9ccf3a3SEmmanuel Vadottitle: LPDDR2 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,lpddr2-timings
15*c9ccf3a3SEmmanuel Vadot
16*c9ccf3a3SEmmanuel Vadot  max-freq:
17*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
18*c9ccf3a3SEmmanuel Vadot    description: |
19*c9ccf3a3SEmmanuel Vadot      Maximum DDR clock frequency for the speed-bin, in Hz.
20*c9ccf3a3SEmmanuel Vadot
21*c9ccf3a3SEmmanuel Vadot  min-freq:
22*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
23*c9ccf3a3SEmmanuel Vadot    description: |
24*c9ccf3a3SEmmanuel Vadot      Minimum DDR clock frequency for the speed-bin, in Hz.
25*c9ccf3a3SEmmanuel Vadot
26*c9ccf3a3SEmmanuel Vadot  tCKESR:
27*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
28*c9ccf3a3SEmmanuel Vadot    description: |
29*c9ccf3a3SEmmanuel Vadot      CKE minimum pulse width during SELF REFRESH (low pulse width during
30*c9ccf3a3SEmmanuel Vadot      SELF REFRESH) in pico seconds.
31*c9ccf3a3SEmmanuel Vadot
32*c9ccf3a3SEmmanuel Vadot  tDQSCK-max:
33*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
34*c9ccf3a3SEmmanuel Vadot    description: |
35*c9ccf3a3SEmmanuel Vadot      DQS output data access time from CK_t/CK_c in pico seconds.
36*c9ccf3a3SEmmanuel Vadot
37*c9ccf3a3SEmmanuel Vadot  tDQSCK-max-derated:
38*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
39*c9ccf3a3SEmmanuel Vadot    description: |
40*c9ccf3a3SEmmanuel Vadot      DQS output data access time from CK_t/CK_c, temperature de-rated, in pico
41*c9ccf3a3SEmmanuel Vadot      seconds.
42*c9ccf3a3SEmmanuel Vadot
43*c9ccf3a3SEmmanuel Vadot  tFAW:
44*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
45*c9ccf3a3SEmmanuel Vadot    description: |
46*c9ccf3a3SEmmanuel Vadot      Four-bank activate window in pico seconds.
47*c9ccf3a3SEmmanuel Vadot
48*c9ccf3a3SEmmanuel Vadot  tRAS-max-ns:
49*c9ccf3a3SEmmanuel Vadot    description: |
50*c9ccf3a3SEmmanuel Vadot      Row active time in nano seconds.
51*c9ccf3a3SEmmanuel Vadot
52*c9ccf3a3SEmmanuel Vadot  tRAS-min:
53*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
54*c9ccf3a3SEmmanuel Vadot    description: |
55*c9ccf3a3SEmmanuel Vadot      Row active time in pico seconds.
56*c9ccf3a3SEmmanuel Vadot
57*c9ccf3a3SEmmanuel Vadot  tRCD:
58*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
59*c9ccf3a3SEmmanuel Vadot    description: |
60*c9ccf3a3SEmmanuel Vadot      RAS-to-CAS delay in pico seconds.
61*c9ccf3a3SEmmanuel Vadot
62*c9ccf3a3SEmmanuel Vadot  tRPab:
63*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
64*c9ccf3a3SEmmanuel Vadot    description: |
65*c9ccf3a3SEmmanuel Vadot      Row precharge time (all banks) in pico seconds.
66*c9ccf3a3SEmmanuel Vadot
67*c9ccf3a3SEmmanuel Vadot  tRRD:
68*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
69*c9ccf3a3SEmmanuel Vadot    description: |
70*c9ccf3a3SEmmanuel Vadot      Active bank A to active bank B in pico seconds.
71*c9ccf3a3SEmmanuel Vadot
72*c9ccf3a3SEmmanuel Vadot  tRTP:
73*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
74*c9ccf3a3SEmmanuel Vadot    description: |
75*c9ccf3a3SEmmanuel Vadot      Internal READ to PRECHARGE command delay in pico seconds.
76*c9ccf3a3SEmmanuel Vadot
77*c9ccf3a3SEmmanuel Vadot  tWR:
78*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
79*c9ccf3a3SEmmanuel Vadot    description: |
80*c9ccf3a3SEmmanuel Vadot      WRITE recovery time in pico seconds.
81*c9ccf3a3SEmmanuel Vadot
82*c9ccf3a3SEmmanuel Vadot  tWTR:
83*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
84*c9ccf3a3SEmmanuel Vadot    description: |
85*c9ccf3a3SEmmanuel Vadot      Internal WRITE-to-READ command delay in pico seconds.
86*c9ccf3a3SEmmanuel Vadot
87*c9ccf3a3SEmmanuel Vadot  tXP:
88*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
89*c9ccf3a3SEmmanuel Vadot    description: |
90*c9ccf3a3SEmmanuel Vadot      Exit power-down to next valid command delay in pico seconds.
91*c9ccf3a3SEmmanuel Vadot
92*c9ccf3a3SEmmanuel Vadot  tZQCL:
93*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
94*c9ccf3a3SEmmanuel Vadot    description: |
95*c9ccf3a3SEmmanuel Vadot      Long calibration time in pico seconds.
96*c9ccf3a3SEmmanuel Vadot
97*c9ccf3a3SEmmanuel Vadot  tZQCS:
98*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
99*c9ccf3a3SEmmanuel Vadot    description: |
100*c9ccf3a3SEmmanuel Vadot      Short calibration time in pico seconds.
101*c9ccf3a3SEmmanuel Vadot
102*c9ccf3a3SEmmanuel Vadot  tZQinit:
103*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
104*c9ccf3a3SEmmanuel Vadot    description: |
105*c9ccf3a3SEmmanuel Vadot      Initialization calibration time in pico seconds.
106*c9ccf3a3SEmmanuel Vadot
107*c9ccf3a3SEmmanuel Vadotrequired:
108*c9ccf3a3SEmmanuel Vadot  - compatible
109*c9ccf3a3SEmmanuel Vadot  - min-freq
110*c9ccf3a3SEmmanuel Vadot  - max-freq
111*c9ccf3a3SEmmanuel Vadot
112*c9ccf3a3SEmmanuel VadotadditionalProperties: false
113*c9ccf3a3SEmmanuel Vadot
114*c9ccf3a3SEmmanuel Vadotexamples:
115*c9ccf3a3SEmmanuel Vadot  - |
116*c9ccf3a3SEmmanuel Vadot    timings {
117*c9ccf3a3SEmmanuel Vadot        compatible = "jedec,lpddr2-timings";
118*c9ccf3a3SEmmanuel Vadot        min-freq = <10000000>;
119*c9ccf3a3SEmmanuel Vadot        max-freq = <400000000>;
120*c9ccf3a3SEmmanuel Vadot        tCKESR = <15000>;
121*c9ccf3a3SEmmanuel Vadot        tDQSCK-max = <5500>;
122*c9ccf3a3SEmmanuel Vadot        tFAW = <50000>;
123*c9ccf3a3SEmmanuel Vadot        tRAS-max-ns = <70000>;
124*c9ccf3a3SEmmanuel Vadot        tRAS-min = <42000>;
125*c9ccf3a3SEmmanuel Vadot        tRPab = <21000>;
126*c9ccf3a3SEmmanuel Vadot        tRCD = <18000>;
127*c9ccf3a3SEmmanuel Vadot        tRRD = <10000>;
128*c9ccf3a3SEmmanuel Vadot        tRTP = <7500>;
129*c9ccf3a3SEmmanuel Vadot        tWR = <15000>;
130*c9ccf3a3SEmmanuel Vadot        tWTR = <7500>;
131*c9ccf3a3SEmmanuel Vadot        tXP = <7500>;
132*c9ccf3a3SEmmanuel Vadot        tZQCL = <360000>;
133*c9ccf3a3SEmmanuel Vadot        tZQCS = <90000>;
134*c9ccf3a3SEmmanuel Vadot        tZQinit = <1000000>;
135*c9ccf3a3SEmmanuel Vadot    };
136