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 <linux/export.h>
12 #include "jedec_ddr.h"
14 /* LPDDR2 addressing details from JESD209-2 section 2.4 */
15 const struct lpddr2_addressing
16 lpddr2_jedec_addressing_table[NUM_DDR_ADDR_TABLE_ENTRIES] = {
17 {B4, T_REFI_15_6, T_RFC_90}, /* 64M */
18 {B4, T_REFI_15_6, T_RFC_90}, /* 128M */
19 {B4, T_REFI_7_8, T_RFC_90}, /* 256M */
20 {B4, T_REFI_7_8, T_RFC_90}, /* 512M */
21 {B8, T_REFI_7_8, T_RFC_130}, /* 1GS4 */
22 {B8, T_REFI_3_9, T_RFC_130}, /* 2GS4 */
23 {B8, T_REFI_3_9, T_RFC_130}, /* 4G */
24 {B8, T_REFI_3_9, T_RFC_210}, /* 8G */
25 {B4, T_REFI_7_8, T_RFC_130}, /* 1GS2 */
26 {B4, T_REFI_3_9, T_RFC_130}, /* 2GS2 */
28 EXPORT_SYMBOL_GPL(lpddr2_jedec_addressing_table);
30 /* LPDDR2 AC timing parameters from JESD209-2 section 12 */
31 const struct lpddr2_timings
32 lpddr2_jedec_timings[NUM_DDR_TIMING_TABLE_ENTRIES] = {
33 /* Speed bin 400(200 MHz) */
35 .max_freq = 200000000,
52 .tDQSCK_max_derated = 6000,
54 /* Speed bin 533(266 MHz) */
56 .max_freq = 266666666,
73 .tDQSCK_max_derated = 6000,
75 /* Speed bin 800(400 MHz) */
77 .max_freq = 400000000,
94 .tDQSCK_max_derated = 6000,
96 /* Speed bin 1066(533 MHz) */
98 .max_freq = 533333333,
114 .tRAS_max_ns = 70000,
115 .tDQSCK_max_derated = 5620,
118 EXPORT_SYMBOL_GPL(lpddr2_jedec_timings);
120 const struct lpddr2_min_tck lpddr2_jedec_min_tck = {
133 EXPORT_SYMBOL_GPL(lpddr2_jedec_min_tck);
135 const char *lpddr2_jedec_manufacturer(unsigned int manufacturer_id)
137 switch (manufacturer_id) {
138 case LPDDR2_MANID_SAMSUNG:
140 case LPDDR2_MANID_QIMONDA:
142 case LPDDR2_MANID_ELPIDA:
144 case LPDDR2_MANID_ETRON:
146 case LPDDR2_MANID_NANYA:
148 case LPDDR2_MANID_HYNIX:
150 case LPDDR2_MANID_MOSEL:
152 case LPDDR2_MANID_WINBOND:
154 case LPDDR2_MANID_ESMT:
156 case LPDDR2_MANID_SPANSION:
158 case LPDDR2_MANID_SST:
160 case LPDDR2_MANID_ZMOS:
162 case LPDDR2_MANID_INTEL:
164 case LPDDR2_MANID_NUMONYX:
166 case LPDDR2_MANID_MICRON:
174 EXPORT_SYMBOL_GPL(lpddr2_jedec_manufacturer);