rom_setting.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. #ifndef _ROM_SETTING
  2. #define _ROM_SETTING
  3. #include "../../project.h"
  4. /*** ***********************************************************
  5. * rom_setting.h
  6. *
  7. * 1. define all system register setting
  8. * 2. compiler option please refer CCopts.h
  9. *
  10. ************************************************************************/
  11. #if (CONFIG_CHIPID==0x533)
  12. #define MCLK_DIV MCLK_DIV_6
  13. #define CPUBCLK_DIV CPUCLK_DIV_4
  14. #define DRAM_CPLL 0xD6F4222F //24.576*(0x2f+1)/(0+1) = 1179
  15. #define DRAM_SSC1 0xf005
  16. #define DRAM_SSC2 0x0428
  17. #define MAIN_DIV CPUCLK_DIV_3 | CCLK_DIV_VALID | MMIO_CLK_DIV_12 | ECLK_DIV_12 | SPICLK_DIV_12 | R_CPU_CLK_MUX_SEL
  18. #define ICLK_POST_DIV VIPX2ICLK_DIV_1179
  19. #define IPCLK_DIV IPCLK_DIV_1179
  20. #define CARDRCLK_DIV CARDRCLK_DIV_1179
  21. #define BLTCLK_DIV BLTCLK_DIV_85
  22. #if defined(CONFIG_CHIP_533)
  23. #define PHY_00 0x10880401
  24. #define PHY_04 0xd6cc0688
  25. #define PHY_08 0x06880600
  26. #define PHY_0C 0x00000600
  27. #define PHY_10 0x80000000
  28. #define PHY_14 0x05000805
  29. #define PHY_1C 0x0
  30. #define MCTL_00 0x00000081
  31. #define MCTL_04 0x84d10240
  32. #define MCTL_200 0x0040b601
  33. #define MCTL_208 0x21184999
  34. #define MCTL_210 0x0052e5ae
  35. #elif defined(CONFIG_CHIP_512L)
  36. #define PHY_00 0x10880401
  37. #define PHY_04 0xd6cc0688
  38. #define PHY_08 0x06880600
  39. #define PHY_0C 0x00000600
  40. #define PHY_10 0x80000000
  41. #define PHY_14 0x05000805
  42. #define PHY_1C 0x0
  43. #define MCTL_00 0x00000101
  44. #define MCTL_04 0x02c10330
  45. #define MCTL_200 0x00100001
  46. #define MCTL_208 0x23145777
  47. #define MCTL_210 0x1046b1be
  48. #endif
  49. #elif (CONFIG_CHIPID==0x531)
  50. #define MCLK_DIV MCLK_DIV_7
  51. #define CPUBCLK_DIV CPUCLK_DIV_4
  52. #define DRAM_CPLL 0x46502032 //24.576*(0x2f+1)/(0+1) = 1179
  53. #define DRAM_SSC1 0xf010
  54. #define DRAM_SSC2 0x0624
  55. #define MAIN_DIV CPUCLK_DIV_3 | CCLK_DIV_VALID | MMIO_CLK_DIV_12 | ECLK_DIV_12 | SPICLK_DIV_12
  56. #define ICLK_POST_DIV VIPX2ICLK_DIV_1179
  57. #define IPCLK_DIV IPCLK_DIV_1179
  58. #define CARDRCLK_DIV CARDRCLK_DIV_1179
  59. #define BLTCLK_DIV BLTCLK_DIV_85
  60. #define PHY_00 0x10770c01
  61. #define PHY_04 0x00440044
  62. #define PHY_08 0x00440044
  63. #define PHY_0C 0x00440044
  64. #define PHY_10 0x48001000
  65. #define PHY_14 0x00000001
  66. #define PHY_1C 0x44444444
  67. #define MCTL_00 0x00000081
  68. #define MCTL_04 0x84d10258
  69. #define MCTL_200 0x00208501
  70. #define MCTL_208 0x000c3666
  71. #define MCTL_210 0x004881ae
  72. #elif (CONFIG_CHIPID==0x331)
  73. #define DRAM_CPLL 0x46502032 //24.576*(0x2f+1)/(0+1) = 1179
  74. #define PHY_00 0x10440401
  75. #define PHY_08 0x00440044
  76. #define PHY_10 0x48001000
  77. #define PHY_14 0x00000001
  78. #define PHY_1C 0x0
  79. #if defined(CONFIG_CHIP_506)
  80. #define MCLK_DIV MCLK_DIV_7
  81. #define CPUBCLK_DIV CPUCLK_DIV_4
  82. #define DRAM_SSC1 0xf054
  83. #define DRAM_SSC2 0x1eb8
  84. #define MAIN_DIV CPUCLK_DIV_3 | CCLK_DIV_VALID | MMIO_CLK_DIV_12 | ECLK_DIV_12 | SPICLK_DIV_12
  85. #define ICLK_POST_DIV VIPX2ICLK_DIV_1179
  86. #define IPCLK_DIV IPCLK_DIV_1179
  87. #define CARDRCLK_DIV CARDRCLK_DIV_1179
  88. #define BLTCLK_DIV BLTCLK_DIV_85
  89. #define PHY_04 0x10440044
  90. #define PHY_0C 0x00550044
  91. #define MCTL_00 0x00000081
  92. #define MCTL_04 0x84d10358
  93. #define MCTL_200 0x00209501
  94. #define MCTL_208 0x100e3777
  95. #define MCTL_210 0x005081ae
  96. #elif defined(CONFIG_CHIP_307) || defined(CONFIG_CHIP_8501)
  97. #define MCLK_DIV MCLK_DIV_7
  98. #define CPUBCLK_DIV CPUCLK_DIV_4
  99. #define DRAM_SSC1 0xf04b
  100. #define DRAM_SSC2 0x1b85
  101. #define MAIN_DIV CPUCLK_DIV_3 | CCLK_DIV_VALID | MMIO_CLK_DIV_11 | ECLK_DIV_12 | SPICLK_DIV_12
  102. #define ICLK_POST_DIV VIPX2ICLK_DIV_1179
  103. #define IPCLK_DIV IPCLK_DIV_1179
  104. #define CARDRCLK_DIV CARDRCLK_DIV_1179
  105. #define BLTCLK_DIV BLTCLK_DIV_85
  106. #define PHY_04 0x00570044
  107. #define PHY_0C 0x00440044
  108. #define MCTL_00 0x00000101
  109. #define MCTL_04 0x02c10330
  110. #define MCTL_200 0x00107701
  111. #define MCTL_208 0x210d4555
  112. #define MCTL_210 0x103d71be
  113. #elif defined(CONFIG_CHIP_305)
  114. #define MCLK_DIV MCLK_DIV_6
  115. #define CPUBCLK_DIV CPUCLK_DIV_4
  116. #define DRAM_SSC1 0xf03f
  117. #define DRAM_SSC2 0x170a
  118. #define MAIN_DIV CPUCLK_DIV_3 | CCLK_DIV_VALID | MMIO_CLK_DIV_10 | ECLK_DIV_9 | SPICLK_DIV_9
  119. #define ICLK_POST_DIV VIPX2ICLK_DIV_5
  120. #define IPCLK_DIV IPCLK_DIV_5
  121. #define CARDRCLK_DIV CARDRCLK_DIV_800
  122. #define BLTCLK_DIV BLTCLK_DIV_84
  123. #define PHY_04 0x00570044
  124. #define PHY_0C 0x00440044
  125. #define MCTL_00 0x00000101
  126. #define MCTL_04 0x02c10330
  127. #define MCTL_200 0x00107701
  128. #define MCTL_208 0x310d4555
  129. #define MCTL_210 0x103d71be
  130. #endif
  131. #elif (CONFIG_CHIPID==0x131)
  132. #define DRAM_CPLL 0x46502032 //24.576*(0x2f+1)/(0+1) = 1179
  133. #define PHY_00 0x10880401
  134. #define PHY_08 0x00880088
  135. #define PHY_10 0x00001088
  136. #define PHY_14 0x24000001
  137. #define PHY_1C 0x0
  138. #define MCLK_DIV MCLK_DIV_7
  139. #define DRAM_SSC1 0xf04b
  140. #define DRAM_SSC2 0x1b85
  141. #define MAIN_DIV CPUCLK_DIV_3 | CCLK_DIV_VALID | MMIO_CLK_DIV_11 | ECLK_DIV_12 | SPICLK_DIV_12
  142. #define ICLK_POST_DIV VIPX2ICLK_DIV_1179
  143. #define IPCLK_DIV IPCLK_DIV_1179
  144. #define CARDRCLK_DIV CARDRCLK_DIV_1179
  145. #define PHY_04 0x00570088
  146. #define PHY_0C 0x00880088
  147. #define MCTL_00 0x00000101
  148. #define MCTL_04 0x02c10328
  149. #define MCTL_200 0x00207700
  150. #define MCTL_208 0x310e4777
  151. #define MCTL_210 0x103d71be
  152. #ifdef CONFIG_PLL_FRACTIONAL_MODE
  153. #define PREPLL_VALUE 0x308c2ebe
  154. #define CPLL_VALUE 0x80f00000
  155. #define DIV_YPP_200M 0x5
  156. #define DIV_MCLK 0x7
  157. #define DIV_URCLK 0x61
  158. #define DIV_CPUA 0x2
  159. #define DIV_MMIO_CLK 0xb
  160. #define DIV_E_CLK 0xb
  161. #define DIV_SPI_CLK 0xb
  162. #define DIV_X2ICLK 0X5
  163. #define DIV_F24576 0x17
  164. #define CPUBCLK_DIV CPUCLK_DIV_3
  165. #define BLTCLK_DIV BLTCLK_DIV_85
  166. #else
  167. #define PREPLL_VALUE 0x7f8c0100
  168. #define CPLL_VALUE 0xc811015f
  169. #define DIV_YPP_200M 0x3
  170. #define DIV_MCLK 0x4
  171. #define DIV_URCLK 0x3e
  172. #define DIV_CPUA 0x1
  173. #define DIV_MMIO_CLK 0x7
  174. #define DIV_E_CLK 0x7
  175. #define DIV_SPI_CLK 0x7
  176. #define DIV_X2ICLK 0X3
  177. #define DIV_F24576 0x1d
  178. #define CPUBCLK_DIV CPUCLK_DIV_2
  179. #define BLTCLK_DIV BLTCLK_DIV_83
  180. #endif
  181. #elif (CONFIG_CHIPID==0x6710)
  182. #ifdef CONFIG_ENABLE_TCON_OVERDRIVE //DRAM 1200MHz
  183. #define DRAM_CPLL 0x318000a0
  184. #define PHY_0C 0x0055c088
  185. #define PHY_10 0x00000055
  186. #else
  187. #define DRAM_CPLL 0x2b8000a0
  188. #define PHY_0C 0x00ffc088
  189. #define PHY_10 0x00000088
  190. #endif
  191. #define PHY_00 0x10880401
  192. #define PHY_08 0x00880088
  193. #define PHY_14 0x24000001
  194. #define PHY_1C 0x0
  195. #define MCLK_DIV MCLK_DIV_7
  196. #define DRAM_SSC1 0x0003
  197. #define DRAM_SSC2 0x0226
  198. #define MAIN_DIV CPUCLK_DIV_3 | CCLK_DIV_VALID | MMIO_CLK_DIV_11 | ECLK_DIV_12 | SPICLK_DIV_12
  199. #define ICLK_POST_DIV VIPX2ICLK_DIV_1179
  200. #define IPCLK_DIV IPCLK_DIV_1179
  201. #define CARDRCLK_DIV CARDRCLK_DIV_1179
  202. #define PHY_04 0x00570088
  203. #define MCTL_00 0x00000101
  204. #define MCTL_04 0x02c10300
  205. #ifdef CONFIG_ENABLE_TCON_OVERDRIVE //DRAM 1200MHz
  206. #define MCTL_200 0xc0200100
  207. #define MCTL_208 0x31125888
  208. #define MCTL_210 0x1043a1be
  209. #else
  210. #define MCTL_200 0x00207700
  211. #define MCTL_208 0x310e4777
  212. #define MCTL_210 0x103d71be
  213. #endif
  214. #ifdef _CCOPTS_
  215. #if PLL_FRACTIONAL_MODE_1474M
  216. #define CPLL_VALUE 0x0585003c
  217. #define DIV_YPP_200M 0x7
  218. #ifdef CONFIG_ENABLE_TCON_OVERDRIVE
  219. #define DIV_MCLK 0x8
  220. #else
  221. #define DIV_MCLK 0x9
  222. #endif
  223. #define DIV_URCLK 0x7a
  224. #define DIV_CPUA 0x3
  225. #define DIV_MMIO_CLK 0xe
  226. #define DIV_E_CLK 0xe
  227. #define DIV_SPI_CLK 0xe
  228. #define DIV_X2ICLK 0x7
  229. #define DIV_F24576 0x3b
  230. #define CPUBCLK_DIV CPUCLK_DIV_4
  231. #define BLTCLK_DIV BLTCLK_DIV_86
  232. #else
  233. #define CPLL_VALUE 0x05850030
  234. #define DIV_YPP_200M 0x5
  235. #ifdef CONFIG_ENABLE_TCON_OVERDRIVE
  236. #define DIV_MCLK 0x6
  237. #else
  238. #define DIV_MCLK 0x7
  239. #endif
  240. #define DIV_URCLK 0x61
  241. #define DIV_CPUA 0x2
  242. #define DIV_MMIO_CLK 0xb
  243. #define DIV_E_CLK 0xb
  244. #define DIV_SPI_CLK 0xb
  245. #define DIV_X2ICLK 0x5
  246. #define DIV_F24576 0x2f
  247. #define CPUBCLK_DIV CPUCLK_DIV_3
  248. #define BLTCLK_DIV BLTCLK_DIV_85
  249. #endif
  250. #endif
  251. #elif (CONFIG_CHIPID==0x8506)
  252. #define DRAM_CPLL 0x46502032 //24.576*(0x2f+1)/(0+1) = 1179
  253. #define PHY_00 0x1c880401
  254. #define PHY_08 0x08880888
  255. #define PHY_10 0x00001088
  256. #define PHY_14 0x24000001
  257. #define PHY_1C 0x0
  258. #define MCLK_DIV MCLK_DIV_7
  259. #define DRAM_SSC1 0xf04b
  260. #define DRAM_SSC2 0x1b85
  261. #define MAIN_DIV CPUCLK_DIV_3 | CCLK_DIV_VALID | MMIO_CLK_DIV_11 | ECLK_DIV_12 | SPICLK_DIV_12
  262. #define ICLK_POST_DIV VIPX2ICLK_DIV_1179
  263. #define IPCLK_DIV IPCLK_DIV_1179
  264. #define CARDRCLK_DIV CARDRCLK_DIV_1179
  265. #define PHY_04 0x00570088
  266. #define PHY_0C 0x00880888
  267. #define MCTL_00 0x00000101
  268. #define MCTL_04 0x02c10328
  269. #ifdef CONFIG_ENABLE_TCON_OVERDRIVE //DRAM 1200MHz
  270. #define MCTL_200 0xc0200100
  271. #define MCTL_208 0x31125888
  272. #define MCTL_210 0x1043a1be
  273. #else //DRAM 1081MHz
  274. #define MCTL_200 0x00207700
  275. #define MCTL_208 0x310e4777
  276. #define MCTL_210 0x103d71be
  277. #endif
  278. #ifdef CONFIG_PLL_FRACTIONAL_MODE
  279. #ifdef _CCOPTS_
  280. #if PLL_FRACTIONAL_MODE_1474M
  281. #define PREPLL_VALUE 0x3c832ebe
  282. #define CPLL_VALUE 0xc0b00000
  283. #define DIV_YPP_200M 0x7
  284. #define DIV_MCLK 0x9
  285. #define DIV_URCLK 0x7a
  286. #define DIV_CPUA 0x3
  287. #define DIV_MMIO_CLK 0xe
  288. #define DIV_E_CLK 0xe
  289. #define DIV_SPI_CLK 0xe
  290. #define DIV_X2ICLK 0x7
  291. #define DIV_F24576 0x1d
  292. #define CPUBCLK_DIV CPUCLK_DIV_4
  293. #define BLTCLK_DIV BLTCLK_DIV_86
  294. #else
  295. #define PREPLL_VALUE 0x61833ebe
  296. #define CPLL_VALUE 0x80f00000
  297. #define DIV_YPP_200M 0x5
  298. #define DIV_MCLK 0x7
  299. #define DIV_URCLK 0x61
  300. #define DIV_CPUA 0x2
  301. #define DIV_MMIO_CLK 0xb
  302. #define DIV_E_CLK 0xb
  303. #define DIV_SPI_CLK 0xb
  304. #define DIV_X2ICLK 0x5
  305. #define DIV_F24576 0x17
  306. #define CPUBCLK_DIV CPUCLK_DIV_3
  307. #define BLTCLK_DIV BLTCLK_DIV_85
  308. #endif
  309. #endif
  310. #else
  311. #define PREPLL_VALUE 0x7f8c0100
  312. #define CPLL_VALUE 0xc811215f
  313. #define DIV_YPP_200M 0x3
  314. #define DIV_MCLK 0x4
  315. #define DIV_URCLK 0x3e
  316. #define DIV_CPUA 0x1
  317. #define DIV_MMIO_CLK 0x7
  318. #define DIV_E_CLK 0x7
  319. #define DIV_SPI_CLK 0x7
  320. #define DIV_X2ICLK 0X3
  321. #define DIV_F24576 0x1d
  322. #define CPUBCLK_DIV CPUCLK_DIV_2
  323. #define BLTCLK_DIV BLTCLK_DIV_83
  324. #endif
  325. #endif
  326. #if ( CONFIG_DRAMSIZE == 64 )
  327. #define MCTL_110 0x00300400
  328. #define MCTL_20F 0x35
  329. #define EDQS_LOOP 0x39fe
  330. #define MCTL_300 0x09010100
  331. #elif( CONFIG_DRAMSIZE == 128 )
  332. #define MCTL_110 0x00000010
  333. #define MCTL_20F 0x48
  334. #define EDQS_LOOP 0x3ece
  335. #define MCTL_300 0x0
  336. #else
  337. #define MCTL_110 0x00305020 //256
  338. #define MCTL_20F 0x5d
  339. #define EDQS_LOOP 0x3ece
  340. #define MCTL_300 0x0
  341. #endif
  342. /****************************
  343. be0001a4
  344. [31:30]|R_MEM_PLL_OPI[1:0]
  345. [29:24]|R_MEM_PLL_GB[5:0]
  346. [23:16]|R_MEM_PLL_ICTRL[7:0]
  347. [13] |R_MEM_PLL_DIV2_ENA
  348. [12:8] |R_MEM_PLL_DIV[4:0]
  349. [7:0] |R_MEM_PLL_MUL[7:0]
  350. 24.576*(R_MEM_PLL_MUL[7:0]+1)/(R_MEM_PLL_DIV[4:0],+1)
  351. 1352 = 0xeb882036
  352. 1327 = 0xeb882035
  353. 1008 = 0xd0442028
  354. 1179 = 0xd999202f
  355. 800 = 0xd0442020
  356. 1400 = 0xeb882038
  357. ****************************/
  358. #if defined(CONFIG_CHIP_531) || defined(CONFIG_CHIP_506)
  359. #define R_MEM_PLL_OPI (0)
  360. #define R_MEM_PLL_GB (0x16)
  361. #define R_MEM_PLL_ICTRL (0xa0)
  362. #define R_MEM_PLL_DIV (1)
  363. #define R_MEM_PLL_MUL (0x5f)
  364. #elif defined(CONFIG_CHIP_533)
  365. #define R_MEM_PLL_OPI (0)
  366. #define R_MEM_PLL_GB (0x46)
  367. #define R_MEM_PLL_ICTRL (0x09)
  368. #define R_MEM_PLL_DIV (8)
  369. #define R_MEM_PLL_MUL (0x3c)
  370. #elif defined(CONFIG_CHIP_512L)
  371. #define R_MEM_PLL_OPI (0)
  372. #define R_MEM_PLL_GB (0x46)
  373. #define R_MEM_PLL_ICTRL (0x09)
  374. #define R_MEM_PLL_DIV (8)
  375. #define R_MEM_PLL_MUL (0x32)
  376. #elif defined(CONFIG_CHIP_307) || defined(CONFIG_CHIP_8501)
  377. #define R_MEM_PLL_OPI (0)
  378. #define R_MEM_PLL_GB (0x0d)
  379. #define R_MEM_PLL_ICTRL (0x20)
  380. #define R_MEM_PLL_DIV (1)
  381. #define R_MEM_PLL_MUL (0x55)
  382. #elif defined(CONFIG_CHIP_305)
  383. #define R_MEM_PLL_OPI (0)
  384. #define R_MEM_PLL_GB (0x08)
  385. #define R_MEM_PLL_ICTRL (0x20)
  386. #define R_MEM_PLL_DIV (1)
  387. #define R_MEM_PLL_MUL (0x47)
  388. #elif defined(CONFIG_CHIP_8503) || defined(CONFIG_CHIP_8506)
  389. #define R_MEM_PLL_OPI (2)
  390. #define R_MEM_PLL_GB (0x09)
  391. #define R_MEM_PLL_ICTRL (0x06)
  392. #define R_MEM_PLL_DIV (0)
  393. #ifdef CONFIG_ENABLE_TCON_OVERDRIVE //DRAM 1200MHz
  394. #define R_MEM_PLL_MUL (0x32)
  395. #else //DRAM 1081MHz
  396. #define R_MEM_PLL_MUL (0x2b)
  397. #endif
  398. #else
  399. #define R_MEM_PLL_OPI (0x3)
  400. #define R_MEM_PLL_GB (0x19)
  401. #define R_MEM_PLL_ICTRL (0x99)
  402. #define R_MEM_PLL_DIV (0)
  403. #define R_MEM_PLL_MUL (0x2f)
  404. #endif
  405. #if defined(CONFIG_CHIP_8503) || defined(CONFIG_CHIP_8506)
  406. #define R_MEM_PLL_DIV2_ENA (0)
  407. #else
  408. #define R_MEM_PLL_DIV2_ENA (1)
  409. #endif
  410. #define MEMPLL_SETTING \
  411. ((R_MEM_PLL_OPI << 30) | \
  412. (R_MEM_PLL_GB << 24) | \
  413. (R_MEM_PLL_ICTRL << 16) | \
  414. (R_MEM_PLL_DIV2_ENA << 13) | \
  415. (R_MEM_PLL_DIV << 8) | \
  416. R_MEM_PLL_MUL)
  417. #endif