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);