1 // SPDX-License-Identifier: GPL-2.0-only
3 * DDR addressing details and AC timing parameters from JEDEC specs
5 * Copyright (C) 2012 Texas Instruments, Inc.
7 * Aneesh V <aneesh@ti.com>
10 #include <memory/jedec_ddr.h>
11 #include <linux/module.h>
13 /* LPDDR2 addressing details from JESD209-2 section 2.4 */
14 const struct lpddr2_addressing
15 lpddr2_jedec_addressing_table
[NUM_DDR_ADDR_TABLE_ENTRIES
] = {
16 {B4
, T_REFI_15_6
, T_RFC_90
}, /* 64M */
17 {B4
, T_REFI_15_6
, T_RFC_90
}, /* 128M */
18 {B4
, T_REFI_7_8
, T_RFC_90
}, /* 256M */
19 {B4
, T_REFI_7_8
, T_RFC_90
}, /* 512M */
20 {B8
, T_REFI_7_8
, T_RFC_130
}, /* 1GS4 */
21 {B8
, T_REFI_3_9
, T_RFC_130
}, /* 2GS4 */
22 {B8
, T_REFI_3_9
, T_RFC_130
}, /* 4G */
23 {B8
, T_REFI_3_9
, T_RFC_210
}, /* 8G */
24 {B4
, T_REFI_7_8
, T_RFC_130
}, /* 1GS2 */
25 {B4
, T_REFI_3_9
, T_RFC_130
}, /* 2GS2 */
27 EXPORT_SYMBOL_GPL(lpddr2_jedec_addressing_table
);
29 /* LPDDR2 AC timing parameters from JESD209-2 section 12 */
30 const struct lpddr2_timings
31 lpddr2_jedec_timings
[NUM_DDR_TIMING_TABLE_ENTRIES
] = {
32 /* Speed bin 400(200 MHz) */
34 .max_freq
= 200000000,
51 .tDQSCK_max_derated
= 6000,
53 /* Speed bin 533(266 MHz) */
55 .max_freq
= 266666666,
72 .tDQSCK_max_derated
= 6000,
74 /* Speed bin 800(400 MHz) */
76 .max_freq
= 400000000,
93 .tDQSCK_max_derated
= 6000,
95 /* Speed bin 1066(533 MHz) */
97 .max_freq
= 533333333,
113 .tRAS_max_ns
= 70000,
114 .tDQSCK_max_derated
= 5620,
117 EXPORT_SYMBOL_GPL(lpddr2_jedec_timings
);
119 const struct lpddr2_min_tck lpddr2_jedec_min_tck
= {
132 EXPORT_SYMBOL_GPL(lpddr2_jedec_min_tck
);