2025-06-27 00:32:57 +08:00
|
|
|
|
|
|
|
|
|
|
#ifndef __OPENLOONGSON_SDRAM_CFG_H
|
|
|
|
|
|
#define __OPENLOONGSON_SDRAM_CFG_H
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#define SD_FREQ (6 * PLL_M) / (2 * SDRAM_PARAM_DIV_NUM)
|
|
|
|
|
|
#define SD_FREQ (((APB_CLK / 4) * (PLL_MULT / CPU_DIV)) / SDRAM_PARAM_DIV_NUM)
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
2025-06-27 00:32:57 +08:00
|
|
|
|
#define ROW_1K 0x7
|
|
|
|
|
|
#define ROW_2K 0x0
|
|
|
|
|
|
#define ROW_4K 0x1
|
|
|
|
|
|
#define ROW_8K 0x2
|
|
|
|
|
|
#define ROW_16K 0x3
|
2025-07-05 19:47:28 +08:00
|
|
|
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
2025-06-27 00:32:57 +08:00
|
|
|
|
#define COL_256 0x7
|
|
|
|
|
|
#define COL_512 0x0
|
|
|
|
|
|
#define COL_1K 0x1
|
|
|
|
|
|
#define COL_2K 0x2
|
|
|
|
|
|
#define COL_4K 0x3
|
2025-07-05 19:47:28 +08:00
|
|
|
|
/* <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB> */
|
2025-06-27 00:32:57 +08:00
|
|
|
|
#define WIDTH_8 0x0
|
|
|
|
|
|
#define WIDTH_16 0x1
|
|
|
|
|
|
#define WIDTH_32 0x2
|
|
|
|
|
|
|
|
|
|
|
|
#define TRCD 3
|
|
|
|
|
|
#define TCL 3
|
|
|
|
|
|
#define TRP 3
|
|
|
|
|
|
#define TRFC 8
|
|
|
|
|
|
#define TRAS 6
|
|
|
|
|
|
#define TREF 0x818
|
|
|
|
|
|
#define TWR 2
|
|
|
|
|
|
|
|
|
|
|
|
#define DEF_SEL 0x1
|
|
|
|
|
|
#define DEF_SEL_N 0x0
|
|
|
|
|
|
#define HANG_UP 0x1
|
|
|
|
|
|
#define HANG_UP_N 0x0
|
|
|
|
|
|
#define CFG_VALID 0x1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if 0
|
2025-07-05 19:47:28 +08:00
|
|
|
|
// <20>ײ˰<D7B2>8MB
|
2025-06-27 00:32:57 +08:00
|
|
|
|
/*
|
2025-07-05 19:47:28 +08:00
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>ΪIS42S16400<EFBFBD><EFBFBD>SDRAMΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8MB
|
|
|
|
|
|
λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λ
|
|
|
|
|
|
<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>8λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD>8<EFBFBD>η<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>256
|
|
|
|
|
|
<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>12λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><EFBFBD>12<EFBFBD>η<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4K
|
|
|
|
|
|
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>=WIDTH_16
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=COL_256
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=ROW_4K
|
|
|
|
|
|
|
|
|
|
|
|
<EFBFBD>ٽ<EFBFBD><EFBFBD>Ϻ<EFBFBD>SD_PARA0<EFBFBD><EFBFBD>оƬ<EFBFBD>ֲ<EFBFBD><EFBFBD>мĴ<EFBFBD><EFBFBD><EFBFBD>SD_CONFIG<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
<EFBFBD>滻<EFBFBD><EFBFBD>SD_PARA0<EFBFBD>е<EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
*/
|
|
|
|
|
|
#define SDRAM_WIDTH (WIDTH_16)
|
|
|
|
|
|
#define SDRAM_COL (COL_256)
|
|
|
|
|
|
#define SDRAM_ROW (ROW_4K)
|
|
|
|
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD>32MByte
|
2025-06-27 00:32:57 +08:00
|
|
|
|
#define SDRAM_WIDTH (WIDTH_16)
|
|
|
|
|
|
#define SDRAM_COL (COL_512)
|
|
|
|
|
|
#define SDRAM_ROW (ROW_8K)
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#define SD_PARA0 (0x7f<<25 | \
|
|
|
|
|
|
(TRAS << 21) | \
|
|
|
|
|
|
(TRFC << 17) | (TRP << 14) | (TCL << 11) | \
|
|
|
|
|
|
(TRCD << 8) | (SDRAM_WIDTH << 6) | (SDRAM_COL << 3) | \
|
|
|
|
|
|
SDRAM_ROW)
|
|
|
|
|
|
|
|
|
|
|
|
#define SD_PARA1 ((HANG_UP_N << 8) | (DEF_SEL_N << 7) | (TWR << 5) | (TREF >> 7))
|
|
|
|
|
|
|
|
|
|
|
|
#define SD_PARA1_EN ((CFG_VALID << 9) | (HANG_UP_N << 8) | \
|
|
|
|
|
|
(DEF_SEL_N << 7) | (TWR << 5) | (TREF >> 7))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|