2 * LPDDR2 data as per JESD209-2
4 * Copyright (C) 2010 Texas Instruments, Inc.
6 * Aneesh V <aneesh@ti.com>
7 * Santosh Shilimkar <santosh.shilimkar@ti.com>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
14 #include <mach/lpddr2-jedec.h>
15 #include <mach/emif.h>
18 * Organization and refresh requirements for LPDDR2 devices of different
19 * types and densities. Derived from JESD209-2 section 2.4
21 const struct lpddr2_addressing lpddr2_jedec_addressing_table
[] = {
22 /* Banks tREFIx10 rowx32,rowx16 colx32,colx16 density */
23 {BANKS4
, T_REFI_15_6
, {ROW_12
, ROW_12
}, {COL_7
, COL_8
} }, /*64M*/
24 {BANKS4
, T_REFI_15_6
, {ROW_12
, ROW_12
}, {COL_8
, COL_9
} }, /*128M*/
25 {BANKS4
, T_REFI_7_8
, {ROW_13
, ROW_13
}, {COL_8
, COL_9
} }, /*256M*/
26 {BANKS4
, T_REFI_7_8
, {ROW_13
, ROW_13
}, {COL_9
, COL_10
} }, /*512M*/
27 {BANKS8
, T_REFI_7_8
, {ROW_13
, ROW_13
}, {COL_9
, COL_10
} }, /*1GS4*/
28 {BANKS8
, T_REFI_3_9
, {ROW_14
, ROW_14
}, {COL_9
, COL_10
} }, /*2GS4*/
29 {BANKS8
, T_REFI_3_9
, {ROW_14
, ROW_14
}, {COL_10
, COL_11
} }, /*4G*/
30 {BANKS8
, T_REFI_3_9
, {ROW_15
, ROW_15
}, {COL_10
, COL_11
} }, /*8G*/
31 {BANKS4
, T_REFI_7_8
, {ROW_14
, ROW_14
}, {COL_9
, COL_10
} }, /*1GS2*/
32 {BANKS4
, T_REFI_3_9
, {ROW_15
, ROW_15
}, {COL_9
, COL_10
} }, /*2GS2*/
36 * Base AC Timing values specified by JESD209-2 for 400MHz operation
37 * All devices will honour these timings at this frequency.
38 * Some devices may have better timings. Using these timings is safe when the
39 * timings are not available from the device data sheet.
41 const struct lpddr2_timings lpddr2_jedec_timings_400_mhz
= {
42 .max_freq
= 400000000,
64 /* Base AC Timing values specified by JESD209-2 for 333 MHz operation */
65 const struct lpddr2_timings lpddr2_jedec_timings_333_mhz
= {
66 .max_freq
= 333000000,
88 /* Base AC Timing values specified by JESD209-2 for 200 MHz operation */
89 const struct lpddr2_timings lpddr2_jedec_timings_200_mhz
= {
90 .max_freq
= 200000000,
113 * Min tCK values specified by JESD209-2
114 * Min tCK specifies the minimum duration of some AC timing parameters in terms
115 * of the number of cycles. If the calculated number of cycles based on the
116 * absolute time value is less than the min tCK value, min tCK value should
117 * be used instead. This typically happens at low frequencies.
119 const struct lpddr2_min_tck lpddr2_jedec_min_tck
= {