memory: move jedec_ddr.h from include/memory to drivers/memory/
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 3 Jun 2019 08:12:33 +0000 (17:12 +0900)
committerOlof Johansson <olof@lixom.net>
Mon, 17 Jun 2019 11:45:21 +0000 (04:45 -0700)
Now that jedec_ddr_data.c was moved from lib/ to drivers/memory/,
<memory/jedec_ddr.h> is included only from drivers/memory/.

Make it a local header of drivers/memory/.

The directory include/memory is now gone.

While I am here, I also changed #include <linux/module.h> to
<linux/export.h>. Because CONFIG_DDR is bool, jedec_ddr_data.c is
never compiled as a module.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
drivers/memory/emif.c
drivers/memory/jedec_ddr.h [new file with mode: 0644]
drivers/memory/jedec_ddr_data.c
drivers/memory/of_memory.c
include/memory/jedec_ddr.h [deleted file]

index 2f214440008c393f73379de52b293e765426a884..32cad7540d78b2411793c53f2d1d5ed594232453 100644 (file)
@@ -26,8 +26,9 @@
 #include <linux/list.h>
 #include <linux/spinlock.h>
 #include <linux/pm.h>
-#include <memory/jedec_ddr.h>
+
 #include "emif.h"
+#include "jedec_ddr.h"
 #include "of_memory.h"
 
 /**
diff --git a/drivers/memory/jedec_ddr.h b/drivers/memory/jedec_ddr.h
new file mode 100644 (file)
index 0000000..a2094a9
--- /dev/null
@@ -0,0 +1,175 @@
+/*
+ * Definitions for DDR memories based on JEDEC specs
+ *
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * Aneesh V <aneesh@ti.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __JEDEC_DDR_H
+#define __JEDEC_DDR_H
+
+#include <linux/types.h>
+
+/* DDR Densities */
+#define DDR_DENSITY_64Mb       1
+#define DDR_DENSITY_128Mb      2
+#define DDR_DENSITY_256Mb      3
+#define DDR_DENSITY_512Mb      4
+#define DDR_DENSITY_1Gb                5
+#define DDR_DENSITY_2Gb                6
+#define DDR_DENSITY_4Gb                7
+#define DDR_DENSITY_8Gb                8
+#define DDR_DENSITY_16Gb       9
+#define DDR_DENSITY_32Gb       10
+
+/* DDR type */
+#define DDR_TYPE_DDR2          1
+#define DDR_TYPE_DDR3          2
+#define DDR_TYPE_LPDDR2_S4     3
+#define DDR_TYPE_LPDDR2_S2     4
+#define DDR_TYPE_LPDDR2_NVM    5
+
+/* DDR IO width */
+#define DDR_IO_WIDTH_4         1
+#define DDR_IO_WIDTH_8         2
+#define DDR_IO_WIDTH_16                3
+#define DDR_IO_WIDTH_32                4
+
+/* Number of Row bits */
+#define R9                     9
+#define R10                    10
+#define R11                    11
+#define R12                    12
+#define R13                    13
+#define R14                    14
+#define R15                    15
+#define R16                    16
+
+/* Number of Column bits */
+#define C7                     7
+#define C8                     8
+#define C9                     9
+#define C10                    10
+#define C11                    11
+#define C12                    12
+
+/* Number of Banks */
+#define B1                     0
+#define B2                     1
+#define B4                     2
+#define B8                     3
+
+/* Refresh rate in nano-seconds */
+#define T_REFI_15_6            15600
+#define T_REFI_7_8             7800
+#define T_REFI_3_9             3900
+
+/* tRFC values */
+#define T_RFC_90               90000
+#define T_RFC_110              110000
+#define T_RFC_130              130000
+#define T_RFC_160              160000
+#define T_RFC_210              210000
+#define T_RFC_300              300000
+#define T_RFC_350              350000
+
+/* Mode register numbers */
+#define DDR_MR0                        0
+#define DDR_MR1                        1
+#define DDR_MR2                        2
+#define DDR_MR3                        3
+#define DDR_MR4                        4
+#define DDR_MR5                        5
+#define DDR_MR6                        6
+#define DDR_MR7                        7
+#define DDR_MR8                        8
+#define DDR_MR9                        9
+#define DDR_MR10               10
+#define DDR_MR11               11
+#define DDR_MR16               16
+#define DDR_MR17               17
+#define DDR_MR18               18
+
+/*
+ * LPDDR2 related defines
+ */
+
+/* MR4 register fields */
+#define MR4_SDRAM_REF_RATE_SHIFT                       0
+#define MR4_SDRAM_REF_RATE_MASK                                7
+#define MR4_TUF_SHIFT                                  7
+#define MR4_TUF_MASK                                   (1 << 7)
+
+/* MR4 SDRAM Refresh Rate field values */
+#define SDRAM_TEMP_NOMINAL                             0x3
+#define SDRAM_TEMP_RESERVED_4                          0x4
+#define SDRAM_TEMP_HIGH_DERATE_REFRESH                 0x5
+#define SDRAM_TEMP_HIGH_DERATE_REFRESH_AND_TIMINGS     0x6
+#define SDRAM_TEMP_VERY_HIGH_SHUTDOWN                  0x7
+
+#define NUM_DDR_ADDR_TABLE_ENTRIES                     11
+#define NUM_DDR_TIMING_TABLE_ENTRIES                   4
+
+/* Structure for DDR addressing info from the JEDEC spec */
+struct lpddr2_addressing {
+       u32 num_banks;
+       u32 tREFI_ns;
+       u32 tRFCab_ps;
+};
+
+/*
+ * Structure for timings from the LPDDR2 datasheet
+ * All parameters are in pico seconds(ps) unless explicitly indicated
+ * with a suffix like tRAS_max_ns below
+ */
+struct lpddr2_timings {
+       u32 max_freq;
+       u32 min_freq;
+       u32 tRPab;
+       u32 tRCD;
+       u32 tWR;
+       u32 tRAS_min;
+       u32 tRRD;
+       u32 tWTR;
+       u32 tXP;
+       u32 tRTP;
+       u32 tCKESR;
+       u32 tDQSCK_max;
+       u32 tDQSCK_max_derated;
+       u32 tFAW;
+       u32 tZQCS;
+       u32 tZQCL;
+       u32 tZQinit;
+       u32 tRAS_max_ns;
+};
+
+/*
+ * Min value for some parameters in terms of number of tCK cycles(nCK)
+ * Please set to zero parameters that are not valid for a given memory
+ * type
+ */
+struct lpddr2_min_tck {
+       u32 tRPab;
+       u32 tRCD;
+       u32 tWR;
+       u32 tRASmin;
+       u32 tRRD;
+       u32 tWTR;
+       u32 tXP;
+       u32 tRTP;
+       u32 tCKE;
+       u32 tCKESR;
+       u32 tFAW;
+};
+
+extern const struct lpddr2_addressing
+       lpddr2_jedec_addressing_table[NUM_DDR_ADDR_TABLE_ENTRIES];
+extern const struct lpddr2_timings
+       lpddr2_jedec_timings[NUM_DDR_TIMING_TABLE_ENTRIES];
+extern const struct lpddr2_min_tck lpddr2_jedec_min_tck;
+
+#endif /* __JEDEC_DDR_H */
index 6d2cbf1d567f1e899d83a54f461982af9acb5c15..1f9ca0f23407aa534060f8aeb65821fee21aacfd 100644 (file)
@@ -10,8 +10,9 @@
  * published by the Free Software Foundation.
  */
 
-#include <memory/jedec_ddr.h>
-#include <linux/module.h>
+#include <linux/export.h>
+
+#include "jedec_ddr.h"
 
 /* LPDDR2 addressing details from JESD209-2 section 2.4 */
 const struct lpddr2_addressing
index 12a61f55864444d8eadc3c329496bccacb61e9c9..46539b27a3fb9291a920cdfa81d558bf1857a0ba 100644 (file)
@@ -10,8 +10,9 @@
 #include <linux/list.h>
 #include <linux/of.h>
 #include <linux/gfp.h>
-#include <memory/jedec_ddr.h>
 #include <linux/export.h>
+
+#include "jedec_ddr.h"
 #include "of_memory.h"
 
 /**
diff --git a/include/memory/jedec_ddr.h b/include/memory/jedec_ddr.h
deleted file mode 100644 (file)
index ddad0f8..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Definitions for DDR memories based on JEDEC specs
- *
- * Copyright (C) 2012 Texas Instruments, Inc.
- *
- * Aneesh V <aneesh@ti.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#ifndef __LINUX_JEDEC_DDR_H
-#define __LINUX_JEDEC_DDR_H
-
-#include <linux/types.h>
-
-/* DDR Densities */
-#define DDR_DENSITY_64Mb       1
-#define DDR_DENSITY_128Mb      2
-#define DDR_DENSITY_256Mb      3
-#define DDR_DENSITY_512Mb      4
-#define DDR_DENSITY_1Gb                5
-#define DDR_DENSITY_2Gb                6
-#define DDR_DENSITY_4Gb                7
-#define DDR_DENSITY_8Gb                8
-#define DDR_DENSITY_16Gb       9
-#define DDR_DENSITY_32Gb       10
-
-/* DDR type */
-#define DDR_TYPE_DDR2          1
-#define DDR_TYPE_DDR3          2
-#define DDR_TYPE_LPDDR2_S4     3
-#define DDR_TYPE_LPDDR2_S2     4
-#define DDR_TYPE_LPDDR2_NVM    5
-
-/* DDR IO width */
-#define DDR_IO_WIDTH_4         1
-#define DDR_IO_WIDTH_8         2
-#define DDR_IO_WIDTH_16                3
-#define DDR_IO_WIDTH_32                4
-
-/* Number of Row bits */
-#define R9                     9
-#define R10                    10
-#define R11                    11
-#define R12                    12
-#define R13                    13
-#define R14                    14
-#define R15                    15
-#define R16                    16
-
-/* Number of Column bits */
-#define C7                     7
-#define C8                     8
-#define C9                     9
-#define C10                    10
-#define C11                    11
-#define C12                    12
-
-/* Number of Banks */
-#define B1                     0
-#define B2                     1
-#define B4                     2
-#define B8                     3
-
-/* Refresh rate in nano-seconds */
-#define T_REFI_15_6            15600
-#define T_REFI_7_8             7800
-#define T_REFI_3_9             3900
-
-/* tRFC values */
-#define T_RFC_90               90000
-#define T_RFC_110              110000
-#define T_RFC_130              130000
-#define T_RFC_160              160000
-#define T_RFC_210              210000
-#define T_RFC_300              300000
-#define T_RFC_350              350000
-
-/* Mode register numbers */
-#define DDR_MR0                        0
-#define DDR_MR1                        1
-#define DDR_MR2                        2
-#define DDR_MR3                        3
-#define DDR_MR4                        4
-#define DDR_MR5                        5
-#define DDR_MR6                        6
-#define DDR_MR7                        7
-#define DDR_MR8                        8
-#define DDR_MR9                        9
-#define DDR_MR10               10
-#define DDR_MR11               11
-#define DDR_MR16               16
-#define DDR_MR17               17
-#define DDR_MR18               18
-
-/*
- * LPDDR2 related defines
- */
-
-/* MR4 register fields */
-#define MR4_SDRAM_REF_RATE_SHIFT                       0
-#define MR4_SDRAM_REF_RATE_MASK                                7
-#define MR4_TUF_SHIFT                                  7
-#define MR4_TUF_MASK                                   (1 << 7)
-
-/* MR4 SDRAM Refresh Rate field values */
-#define SDRAM_TEMP_NOMINAL                             0x3
-#define SDRAM_TEMP_RESERVED_4                          0x4
-#define SDRAM_TEMP_HIGH_DERATE_REFRESH                 0x5
-#define SDRAM_TEMP_HIGH_DERATE_REFRESH_AND_TIMINGS     0x6
-#define SDRAM_TEMP_VERY_HIGH_SHUTDOWN                  0x7
-
-#define NUM_DDR_ADDR_TABLE_ENTRIES                     11
-#define NUM_DDR_TIMING_TABLE_ENTRIES                   4
-
-/* Structure for DDR addressing info from the JEDEC spec */
-struct lpddr2_addressing {
-       u32 num_banks;
-       u32 tREFI_ns;
-       u32 tRFCab_ps;
-};
-
-/*
- * Structure for timings from the LPDDR2 datasheet
- * All parameters are in pico seconds(ps) unless explicitly indicated
- * with a suffix like tRAS_max_ns below
- */
-struct lpddr2_timings {
-       u32 max_freq;
-       u32 min_freq;
-       u32 tRPab;
-       u32 tRCD;
-       u32 tWR;
-       u32 tRAS_min;
-       u32 tRRD;
-       u32 tWTR;
-       u32 tXP;
-       u32 tRTP;
-       u32 tCKESR;
-       u32 tDQSCK_max;
-       u32 tDQSCK_max_derated;
-       u32 tFAW;
-       u32 tZQCS;
-       u32 tZQCL;
-       u32 tZQinit;
-       u32 tRAS_max_ns;
-};
-
-/*
- * Min value for some parameters in terms of number of tCK cycles(nCK)
- * Please set to zero parameters that are not valid for a given memory
- * type
- */
-struct lpddr2_min_tck {
-       u32 tRPab;
-       u32 tRCD;
-       u32 tWR;
-       u32 tRASmin;
-       u32 tRRD;
-       u32 tWTR;
-       u32 tXP;
-       u32 tRTP;
-       u32 tCKE;
-       u32 tCKESR;
-       u32 tFAW;
-};
-
-extern const struct lpddr2_addressing
-       lpddr2_jedec_addressing_table[NUM_DDR_ADDR_TABLE_ENTRIES];
-extern const struct lpddr2_timings
-       lpddr2_jedec_timings[NUM_DDR_TIMING_TABLE_ENTRIES];
-extern const struct lpddr2_min_tck lpddr2_jedec_min_tck;
-
-#endif /* __LINUX_JEDEC_DDR_H */