~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/lib/jedec_ddr_data.c

Version: ~ [ linux-5.6-rc7 ] ~ [ linux-5.5.11 ] ~ [ linux-5.4.27 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.112 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.174 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.217 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.217 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.82 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * DDR addressing details and AC timing parameters from JEDEC specs
  3  *
  4  * Copyright (C) 2012 Texas Instruments, Inc.
  5  *
  6  * Aneesh V <aneesh@ti.com>
  7  *
  8  * This program is free software; you can redistribute it and/or modify
  9  * it under the terms of the GNU General Public License version 2 as
 10  * published by the Free Software Foundation.
 11  */
 12 
 13 #include <memory/jedec_ddr.h>
 14 #include <linux/module.h>
 15 
 16 /* LPDDR2 addressing details from JESD209-2 section 2.4 */
 17 const struct lpddr2_addressing
 18         lpddr2_jedec_addressing_table[NUM_DDR_ADDR_TABLE_ENTRIES] = {
 19         {B4, T_REFI_15_6, T_RFC_90}, /* 64M */
 20         {B4, T_REFI_15_6, T_RFC_90}, /* 128M */
 21         {B4, T_REFI_7_8,  T_RFC_90}, /* 256M */
 22         {B4, T_REFI_7_8,  T_RFC_90}, /* 512M */
 23         {B8, T_REFI_7_8, T_RFC_130}, /* 1GS4 */
 24         {B8, T_REFI_3_9, T_RFC_130}, /* 2GS4 */
 25         {B8, T_REFI_3_9, T_RFC_130}, /* 4G */
 26         {B8, T_REFI_3_9, T_RFC_210}, /* 8G */
 27         {B4, T_REFI_7_8, T_RFC_130}, /* 1GS2 */
 28         {B4, T_REFI_3_9, T_RFC_130}, /* 2GS2 */
 29 };
 30 EXPORT_SYMBOL_GPL(lpddr2_jedec_addressing_table);
 31 
 32 /* LPDDR2 AC timing parameters from JESD209-2 section 12 */
 33 const struct lpddr2_timings
 34         lpddr2_jedec_timings[NUM_DDR_TIMING_TABLE_ENTRIES] = {
 35         /* Speed bin 400(200 MHz) */
 36         [0] = {
 37                 .max_freq       = 200000000,
 38                 .min_freq       = 10000000,
 39                 .tRPab          = 21000,
 40                 .tRCD           = 18000,
 41                 .tWR            = 15000,
 42                 .tRAS_min       = 42000,
 43                 .tRRD           = 10000,
 44                 .tWTR           = 10000,
 45                 .tXP            = 7500,
 46                 .tRTP           = 7500,
 47                 .tCKESR         = 15000,
 48                 .tDQSCK_max     = 5500,
 49                 .tFAW           = 50000,
 50                 .tZQCS          = 90000,
 51                 .tZQCL          = 360000,
 52                 .tZQinit        = 1000000,
 53                 .tRAS_max_ns    = 70000,
 54                 .tDQSCK_max_derated = 6000,
 55         },
 56         /* Speed bin 533(266 MHz) */
 57         [1] = {
 58                 .max_freq       = 266666666,
 59                 .min_freq       = 10000000,
 60                 .tRPab          = 21000,
 61                 .tRCD           = 18000,
 62                 .tWR            = 15000,
 63                 .tRAS_min       = 42000,
 64                 .tRRD           = 10000,
 65                 .tWTR           = 7500,
 66                 .tXP            = 7500,
 67                 .tRTP           = 7500,
 68                 .tCKESR         = 15000,
 69                 .tDQSCK_max     = 5500,
 70                 .tFAW           = 50000,
 71                 .tZQCS          = 90000,
 72                 .tZQCL          = 360000,
 73                 .tZQinit        = 1000000,
 74                 .tRAS_max_ns    = 70000,
 75                 .tDQSCK_max_derated = 6000,
 76         },
 77         /* Speed bin 800(400 MHz) */
 78         [2] = {
 79                 .max_freq       = 400000000,
 80                 .min_freq       = 10000000,
 81                 .tRPab          = 21000,
 82                 .tRCD           = 18000,
 83                 .tWR            = 15000,
 84                 .tRAS_min       = 42000,
 85                 .tRRD           = 10000,
 86                 .tWTR           = 7500,
 87                 .tXP            = 7500,
 88                 .tRTP           = 7500,
 89                 .tCKESR         = 15000,
 90                 .tDQSCK_max     = 5500,
 91                 .tFAW           = 50000,
 92                 .tZQCS          = 90000,
 93                 .tZQCL          = 360000,
 94                 .tZQinit        = 1000000,
 95                 .tRAS_max_ns    = 70000,
 96                 .tDQSCK_max_derated = 6000,
 97         },
 98         /* Speed bin 1066(533 MHz) */
 99         [3] = {
100                 .max_freq       = 533333333,
101                 .min_freq       = 10000000,
102                 .tRPab          = 21000,
103                 .tRCD           = 18000,
104                 .tWR            = 15000,
105                 .tRAS_min       = 42000,
106                 .tRRD           = 10000,
107                 .tWTR           = 7500,
108                 .tXP            = 7500,
109                 .tRTP           = 7500,
110                 .tCKESR         = 15000,
111                 .tDQSCK_max     = 5500,
112                 .tFAW           = 50000,
113                 .tZQCS          = 90000,
114                 .tZQCL          = 360000,
115                 .tZQinit        = 1000000,
116                 .tRAS_max_ns    = 70000,
117                 .tDQSCK_max_derated = 5620,
118         },
119 };
120 EXPORT_SYMBOL_GPL(lpddr2_jedec_timings);
121 
122 const struct lpddr2_min_tck lpddr2_jedec_min_tck = {
123         .tRPab          = 3,
124         .tRCD           = 3,
125         .tWR            = 3,
126         .tRASmin        = 3,
127         .tRRD           = 2,
128         .tWTR           = 2,
129         .tXP            = 2,
130         .tRTP           = 2,
131         .tCKE           = 3,
132         .tCKESR         = 3,
133         .tFAW           = 8
134 };
135 EXPORT_SYMBOL_GPL(lpddr2_jedec_min_tck);
136 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp