xref: /rkbin/tools/ddrbin_tool_user_guide.txt (revision 9dcea43d04498a332f7426cc53cd742f442691e1)
186251429SZhihuan Hefunction 1: modify ddr.bin file from ddrbin_param.txt.
2612e733eSZhihuan He	1) modify 'ddrbin_param.txt', set ddr frequency, uart info etc what you want.
386251429SZhihuan He	   If want to keep items default, please keep these items blank.
4bac3cde4SZhihuan He	2) run 'ddrbin_tool' with argument 1: chip_name, argument 2: ddrbin_param.txt, argument 3: ddr bin file.
5bac3cde4SZhihuan He	   like: ./ddrbin_tool px30 ddrbin_param.txt px30_ddr_333MHz_v1.13.bin
6612e733eSZhihuan He
786251429SZhihuan Hefunction 2: get ddr.bin file config to gen_param.txt file
886251429SZhihuan He	If want to get ddrbin file config, please run like that:
9bac3cde4SZhihuan He	./ddrbin_tool px30 -g gen_param.txt px30_ddr_333MHz_v1.15.bin
1086251429SZhihuan He	The config will show in gen_param.txt.
1154a17cb1STang Yun ping
1286251429SZhihuan HeThe detail information as following:
1354a17cb1STang Yun ping
1486251429SZhihuan He* support ddrbin version
156f34a9d1SZhihuan He	The 'X' means not support change those parameters by tool.
166dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
176dab7052SYouMin Chen	|   platform    | uart info | ddr freq | ssmod | DDR 2T | sr pd | drv, odt, Vref etc| dis print training info | dis CBT | ddr2/3/4, lp2/3 Vref |
186dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
196dab7052SYouMin Chen	|    RV1108     |   V1.08   |   V1.08  | V1.10 |  V1.08 | V1.08 |          X        |            X            |    X    |          X           |
206dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
21*9dcea43dSZhihuan He	|  PX30/RK3326  |   V1.11   |     X    |   X   |  V1.12 |   X   |          X        |            X            |    X    |          X           |
226dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
236dab7052SYouMin Chen	|    RK1808     |   V1.03   |   V1.03  | V1.05 |  V1.03 | V1.04 |          X        |            X            |    X    |          X           |
246dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
256dab7052SYouMin Chen	|    RK322x     |   V1.08   |   V1.08  |   X   |  V1.09 |   X   |          X        |            X            |    X    |          X           |
266dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
276dab7052SYouMin Chen	|    RK322xh    |   V1.14   |     X    | V1.17 |  V1.16 | V1.17 |          X        |            X            |    X    |          X           |
286dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
296dab7052SYouMin Chen	|    RK3288     |   V1.11   |     X    |   X   |  V1.11 |   X   |          X        |            X            |    X    |          X           |
306dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
316dab7052SYouMin Chen	|    RK3308     |   V1.28   |   V1.28  | V1.31 |  V1.29 | V1.30 |          X        |            X            |    X    |          X           |
326dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
336dab7052SYouMin Chen	|    RK3308S    |   V2.05   |   V2.05  | V2.05 |  V2.05 | V2.05 |          X        |            X            |    X    |          X           |
346dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
356dab7052SYouMin Chen	|    RK3368     |   V2.04   |   V2.04  |   X   |  V2.05 |   X   |          X        |            X            |    X    |          X           |
366dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
376dab7052SYouMin Chen	|    RK3328     |   V1.14   |     X    | V1.17 |  V1.16 | V1.17 |          X        |            X            |    X    |          X           |
386dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
396dab7052SYouMin Chen	|    RK3399     |   V1.25   |     X    | V1.25 |    X   |   X   |          X        |            X            |    X    |          X           |
406dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
416dab7052SYouMin Chen	| RK3399PRO NPU |   V1.03   |   V1.03  | V1.05 |  V1.03 | V1.04 |          X        |            X            |    X    |          X           |
426dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
436dab7052SYouMin Chen	| RV1126/RV1109 |   V1.00   |   V1.00  | V1.05 |  V1.00 | V1.05 |        V1.05      |            X            |    X    |          X           |
446dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
456dab7052SYouMin Chen	| RK3566/RK3568 |   V1.00   |   V1.00  | V1.06 |  V1.00 | V1.00 |        V1.06      |          V1.07          |    X    |        V1.19         |
466dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
476dab7052SYouMin Chen	|    RK3588     |   V1.00   |   V1.00  |   X   |  V1.00 | V1.00 |        V1.00      |            X            |    X    |          X           |
486dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
496dab7052SYouMin Chen	|    RK3528     |   V1.00   |   V1.00  | V1.00 |  V1.00 | V1.00 |        V1.00      |          V1.00          |    X    |        V1.08         |
506dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
516dab7052SYouMin Chen	|    RK3562     |     X     |   V1.00  | V1.00 |  V1.00 | V1.00 |        V1.00      |          V1.00          |    X    |        V1.05         |
526dab7052SYouMin Chen	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
53*9dcea43dSZhihuan He	| RV1106/RV1103 |   V1.10   |   V1.10  | V1.10 |  V1.10 | V1.10 |          X        |            X            |    X    |          X           |
54*9dcea43dSZhihuan He	+---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+
556f34a9d1SZhihuan He
566f34a9d1SZhihuan He| function                              | platform and ddrbin version                |
57bac3cde4SZhihuan He| ------------------------------------- | ------------------------------------------ |
586f34a9d1SZhihuan He| first scan channel/channel mask       | RK3588 V1.00/RK3399 V1.25/RK3288 V1.11     |
596f34a9d1SZhihuan He| stride type                           | RK3588 V1.00/RK3399 V1.25/RK3288 V1.11     |
60*9dcea43dSZhihuan He| ext_temp_ref                          | RK356x V1.16/RK3528 V1.07/RK1808 V1.06     |
616f34a9d1SZhihuan He| link_ecc_en                           | Null                                       |
626f34a9d1SZhihuan He| per_bank_ref_en                       | RK3588 V1.09                               |
63*9dcea43dSZhihuan He| derate_en                             | RK3588 V1.09/RK356x V1.19/RK3528 V1.07     |
646f34a9d1SZhihuan He| auto_precharge_en                     | Null                                       |
656f34a9d1SZhihuan He| res_space_remap_portion               | RK3588 V1.09                               |
666f34a9d1SZhihuan He| res_space_remap_all                   | RK3588 V1.09                               |
676f34a9d1SZhihuan He| rd_vref_scan_en                       | RK3588 V1.08                               |
686f34a9d1SZhihuan He| wr_vref_scan_en                       | RK3588 V1.08                               |
696f34a9d1SZhihuan He| eye_2d_scan_en                        | RK3588 V1.08                               |
706f34a9d1SZhihuan He| ch/bank/rank_mask                     | RK3588 V1.00                               |
716f34a9d1SZhihuan He| pstore base_addr/buf_size             | RK3588 V1.09                               |
726f34a9d1SZhihuan He| uboot/atf/optee/spl/tpl log en        | RK3588 V1.09                               |
736f34a9d1SZhihuan He| boot_fsp                              | RK3588 V1.09                               |
749c25957fSYouMin Chen| pageclose                             | RK3588 V1.10                               |
75bac3cde4SZhihuan He| first_init_dram_type/dfs_disable      | RK3588 V1.11                               |
7686251429SZhihuan He
7786251429SZhihuan He* UART info
7886251429SZhihuan He
7986251429SZhihuan Heuart id: uart number. 0 for uart0, 1 for uart1, 2 for uart2..., 0xf will disable uart.
8086251429SZhihuan Heuart iomux: uart iomux info, 0 for uartn_m0, 1 for uartn_m1, 2 for uartn_m2...(like uart2_m0, uart2_m1,uart2_m2),
8186251429SZhihuan Heor 1 for uartn_a, 2 for uartn_b, 3 for uartn_c.(like uar2a, uart2b, uart2c).
8286251429SZhihuan Heuart baudrate: uart baudrate should be 115200 or 1500000.
8386251429SZhihuan He
8486251429SZhihuan He* disable print training information
8586251429SZhihuan He
866f34a9d1SZhihuan Hedis_train_print: 1: will disabled print training information; 0: will enable print training information.
8786251429SZhihuan He
886f34a9d1SZhihuan He* recycle registers space(remap register space to DDR)
8986251429SZhihuan He
906f34a9d1SZhihuan Heres_space_remap_portion
916f34a9d1SZhihuan He1: will remap the part of registers to DDR memory space(will not larger than 4GB).
926f34a9d1SZhihuan HeIt is PCIE and some reserved space in RK3588, and the PCIE can not be used when set to 1.
936f34a9d1SZhihuan He
946f34a9d1SZhihuan Heres_space_remap_all
956f34a9d1SZhihuan He1: will wrap all registers space(include res_space_remap_portion enable space) to DDR memory space. This space would be place in larger than 4GB.
966f34a9d1SZhihuan HeThe PCIE can be used when set to 1 in RK3588.
97612e733eSZhihuan He
98612e733eSZhihuan He* DDR eye scanning
99612e733eSZhihuan He1) eye_2d_scan_en: 1: will enable 2D eye scanning for debug purpose, vref and skew eye scanning.
100612e733eSZhihuan He2) wr_vref_scan_en: 1: enable vref scan and use scanning result for write.
101612e733eSZhihuan He3) rd_vref_scan_en: 1: enable vref scan and use scanning result for read.
10286251429SZhihuan He
1036f34a9d1SZhihuan He* DDR auto precharge
1046f34a9d1SZhihuan He
1056f34a9d1SZhihuan Heauto_precharge_en: 1: will enable the DDR auto precharge.
1066f34a9d1SZhihuan He
1076f34a9d1SZhihuan He* DDR refresh derate
1086f34a9d1SZhihuan He
1096f34a9d1SZhihuan Hederate_en: 1: will enable derate function of the LP2/LP3/LP4/LP4X/LP5.
1106f34a9d1SZhihuan HeThe high temperature will issue more refresh command and the low temperature will less.
1116f34a9d1SZhihuan He
1126f34a9d1SZhihuan He* DDR per bank refresh
1136f34a9d1SZhihuan He
1146f34a9d1SZhihuan Heper_bank_ref_en: 1: will enable per bank refresh
1156f34a9d1SZhihuan He
1166f34a9d1SZhihuan He* link ECC enable
1176f34a9d1SZhihuan He
1186f34a9d1SZhihuan Helink_ecc_en: 1: read/write link ecc enable.
1196f34a9d1SZhihuan He
1206f34a9d1SZhihuan He* Extended temperature refresh
1216f34a9d1SZhihuan He
1221c9962b9SYouMin Chenext_temp_ref:
1231c9962b9SYouMin Chen	0: ref1x for normal chip, 2x for 3568M/3568J
1241c9962b9SYouMin Chen	1: fix 2x ref for all chip
1251c9962b9SYouMin Chen	2: fix 4x ref for all chip
1261c9962b9SYouMin Chen	3: fix 1x ref for all chip
1271c9962b9SYouMin ChenNote: If derate-enabled DDR are configured with derate_en=1, the ext_temp_ref configuration does not take effect.
1286f34a9d1SZhihuan He
1296f34a9d1SZhihuan He* pstore_base_addr pstore_buf_size
1306f34a9d1SZhihuan HeThe pstore buffer base address: pstore_base_addr << 16, 64kB align.
1316f34a9d1SZhihuan HeThe pstore buffer size: pstore_buf_size * 4KB.
1326f34a9d1SZhihuan HeIt is define the addr and size to save ddrbin log for last log.
1336f34a9d1SZhihuan He
1346f34a9d1SZhihuan He* uboot_log_en
1356f34a9d1SZhihuan He1: enable uboot log.
1366f34a9d1SZhihuan He0: disable uboot log.
1376f34a9d1SZhihuan He
1386f34a9d1SZhihuan He* atf_log_en
1396f34a9d1SZhihuan He1: enable atf log.
1406f34a9d1SZhihuan He0: disable atf log.
1416f34a9d1SZhihuan He
1426f34a9d1SZhihuan He* optee_log_en
1436f34a9d1SZhihuan He1: enable optee log.
1446f34a9d1SZhihuan He0: disable optee log.
1456f34a9d1SZhihuan He
1466f34a9d1SZhihuan He* spl_log_en
1476f34a9d1SZhihuan He1: enable spl log.
1486f34a9d1SZhihuan He0: disable spl log.
1496f34a9d1SZhihuan He
1506f34a9d1SZhihuan He* tpl_log_en
1516f34a9d1SZhihuan He1: enable tpl log.
1526f34a9d1SZhihuan He0: disable tpl log.
1536f34a9d1SZhihuan He
1549c25957fSYouMin Chen* pageclose
1559c25957fSYouMin Chen1: enable pageclose.
1569c25957fSYouMin Chen0: disable pageclose.
1579c25957fSYouMin Chen
1586f34a9d1SZhihuan He* boot_fsp
1596f34a9d1SZhihuan HeTo choose the which DDR freq to boot system. 0 means fsp0_freq, 1 means fsp1_freq, 2 means fsp2_freq, 3 means fsp3_freq, the default is 0.
1606f34a9d1SZhihuan He
161bac3cde4SZhihuan He* first_init_dram_type
162bac3cde4SZhihuan HeThe define first init dram type to saving initial time.
163bac3cde4SZhihuan He|----------------------------|-----------------|
164bac3cde4SZhihuan He| first_init_dram_type value |     DDR type    |
165bac3cde4SZhihuan He|             0              |      DDR4       |
166bac3cde4SZhihuan He|             2              |      DDR2       |
167bac3cde4SZhihuan He|             3              |      DDR3       |
168bac3cde4SZhihuan He|             5              |     LPDDR2      |
169bac3cde4SZhihuan He|             6              |     LPDDR3      |
170bac3cde4SZhihuan He|             7              |     LPDDR4      |
171bac3cde4SZhihuan He|             8              |     LPDDR4X     |
172bac3cde4SZhihuan He|             9              |     LPDDR5      |
173bac3cde4SZhihuan He|            10              |      DDR5       |
174bac3cde4SZhihuan He|----------------------------|-----------------|
175bac3cde4SZhihuan He
176bac3cde4SZhihuan He* dfs_disable
177bac3cde4SZhihuan He1: disbale ddr freq switch function
178bac3cde4SZhihuan He0: enable ddr freq switch function
179bac3cde4SZhihuan He
180bac3cde4SZhihuan HeNote:
181bac3cde4SZhihuan HeThe starting frequency is fixed to f0 frequency after turning off the frequency scaling.
182bac3cde4SZhihuan HeIf the DDR frequency needs to be modified, ddrx_f0_freq/fsp0_freq should be modified.
183bac3cde4SZhihuan He
1846f34a9d1SZhihuan He* DDR (final) freq(also called ddrx_f0_freq_mhz/fsp0_freq)
1856f34a9d1SZhihuan He
1866f34a9d1SZhihuan HeFor RK3588, the boot_fsp used to choose which ddrx_fx_freq_mhz/fspx_freq to boot system, default is ddrx_f0_freq_mhz/fsp0_freq.
1876f34a9d1SZhihuan HeFor the others platform, it is the final freq to boot system.
18886251429SZhihuan He
189d42b646fSZhihuan Heddr2_freq(ddr2_f0_freq_mhz): ddr2 frequency,  unit:MHz.
190d42b646fSZhihuan Help2_freq (lp2_f0_freq_mhz):  lpddr2 frequency,  unit:MHz.
191d42b646fSZhihuan Heddr3_freq(ddr3_f0_freq_mhz): ddr3 frequency,  unit:MHz.
192d42b646fSZhihuan Help3_freq (lp3_f0_freq_mhz):  lpddr3 frequency,  unit:MHz.
193d42b646fSZhihuan Heddr4_freq(ddr4_f0_freq_mhz): ddr4 frequency,  unit:MHz.
194d42b646fSZhihuan Help4_freq (lp4_f0_freq_mhz):  lpddr4 frequency,  unit:MHz.
195d42b646fSZhihuan Help4x_freq(lp4x_f0_freq_mhz): lpddr4x frequency,  unit:MHz.
196d42b646fSZhihuan Help5_freq (lp5_f0_freq_mhz):  lpddr5 frequency,  unit:MHz.
19754a17cb1STang Yun ping
1986f34a9d1SZhihuan He* support ddr frequency:
1996f34a9d1SZhihuan HeThe 'X' as follows means not support change frequencies by tool.
2006f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
2016f34a9d1SZhihuan He|   platform    |                    support frequencies(MHZ)                     |
2026f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
2036f34a9d1SZhihuan He|    RK1108     |               DDR2: 400; LP2: <= 533; DDR3: <= 800              |
2046f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
20586251429SZhihuan He|  PX30/RK3326  |                                  X                              |
2066f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
20786251429SZhihuan He|    RK1808     |                        333,400,533,666,786,933                  |
2086f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
2096f34a9d1SZhihuan He|    RK322x     |                  DDR2/LP2: <= 533; others: <= 800               |
2106f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
21186251429SZhihuan He|    RK322xh    |                                  X                              |
2126f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
21386251429SZhihuan He|    RK3288     |                                  X                              |
2146f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
2156f34a9d1SZhihuan He| RK3308/RK3308S|               DDR2/LP2: 393,451; DDR3: 393,451,589              |
2166f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
2176f34a9d1SZhihuan He|    RK3368     |                     DDR3: <= 800; LP3: <= 666                   |
2186f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
21986251429SZhihuan He|    RK3328     |                                  X                              |
2206f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
22186251429SZhihuan He|    RK3399     |                                  X                              |
2226f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
22386251429SZhihuan He| RK3399PRO NPU |                        333,400,533,666,786,933                  |
2246f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
22586251429SZhihuan He| RV1126/RV1109 |                     328,396,528,664,784,924,1056                |
2266f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
2276f34a9d1SZhihuan He|    RK3566     |                     324,396,528,630,780,920,1056                |
2286f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
2296f34a9d1SZhihuan He|    RK3568     |        DDR3/LP3: 324,396,528,630,780,920,1056                   |
2306f34a9d1SZhihuan He|               |   DDR4/LP4/LP4X: 324,396,528,630,780,920,1056,1184,1332,1560    |
2316f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
2328edfcbeaSZhihuan He|    RK3588     |     LP4/LP4x [306.5MHz - 2133MHz]; LP5: [400MHz - 2750MHz]      |
2336f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+
234bac3cde4SZhihuan He|    RK3528     |        DDR3/LP3/LP4/LP4X: 324,396,528,630,780,920,1056          |
235bac3cde4SZhihuan He|               |        DDR4: 324,396,528,630,780,920,1056,1184                  |
236bac3cde4SZhihuan He+---------------+-----------------------------------------------------------------+
237bac3cde4SZhihuan He|    RK3562     | DDR3/LP3: [324MHz - 1056MHz]; LP4/LP4X/DDR4: [324MHz - 1392MHz] |
238f90d99fcSZhihuan He+---------------+-----------------------------------------------------------------+
239*9dcea43dSZhihuan He| RV1106/RV1103 |         DDR2: 528MHz;         DDR3: 324,660,792,924;            |
240*9dcea43dSZhihuan He+---------------+-----------------------------------------------------------------+
241558a25b2STang Yun ping
24286251429SZhihuan He* DDR frequencies(add more)
243eea48410SZhihuan He
2446f34a9d1SZhihuan Heddr2_f1_freq_mhz: ddr2 frequency fsp 1,  unit:MHz.
2456f34a9d1SZhihuan Heddr2_f2_freq_mhz: ddr2 frequency fsp 2,  unit:MHz.
2466f34a9d1SZhihuan Heddr2_f3_freq_mhz: ddr2 frequency fsp 3,  unit:MHz.
2476f34a9d1SZhihuan Heddr2_f4_freq_mhz: ddr2 frequency fsp 4,  unit:MHz.
2486f34a9d1SZhihuan Heddr2_f5_freq_mhz: ddr2 frequency fsp 5,  unit:MHz.
24972640b4bSZhihuan He...
2506f34a9d1SZhihuan HeThe ddrx_f0_freq_mhz(the fsp0 frequency) is named ddrx_freq.
25186251429SZhihuan He
252612e733eSZhihuan Heddr*_f*_freq_mhz/lp*_f*_freq_mhz: Only RV1126/RV1109, RK3566/RK3568, RK3588 used.
2538edfcbeaSZhihuan HeThe program will initialize dram by following order.
25486251429SZhihuan Hefor example: ddr4_f1_freq_mhz --> ddr4_f2_freq_mhz --> ddr4_f3_freq_mhz --> ddr4_freq.
255612e733eSZhihuan HeAnd the final frequency is ddr4_freq to boot system.
256612e733eSZhihuan HeThe ddr frequency table in kernel dts/dtsi file need correspond to these frequencies.
25786251429SZhihuan HeSo it is better to arrange the frequency values in order as above. That means the max freq is in final freq(lp*/ddr*_freq) and the min freq is in 'ddr*/lp*_f1_freq_mhz'.
258612e733eSZhihuan HeSuch as:	ddr*/lp*_f1_freq_mhz < ddr*/lp*_f2_freq_mhz < ddr*/lp*_f3_freq_mhz < lp*/ddr*_freq(the final freq)
25986251429SZhihuan HeFor example:
26086251429SZhihuan He	...
26186251429SZhihuan He	ddr4_freq=1560
26286251429SZhihuan He	...
26386251429SZhihuan He	ddr4_f1_freq_mhz=324
26486251429SZhihuan He	ddr4_f2_freq_mhz=528
26586251429SZhihuan He	ddr4_f3_freq_mhz=780
26686251429SZhihuan He	...
26786251429SZhihuan He
2686f34a9d1SZhihuan HeNote: The ddr frequency table in kernel dts/dtsi file need correspond to these frequencies.
2696f34a9d1SZhihuan He
27086251429SZhihuan He* SR PD idle
27186251429SZhihuan He
27286251429SZhihuan Hesr_idle: auto self-refresh mode delay time.
27386251429SZhihuan Hepd_idle: auto power-down mode delay time.
27486251429SZhihuan He
27586251429SZhihuan He* DDR 2T
27686251429SZhihuan He
27786251429SZhihuan Heddr_2t: ddr 2T timing mode. 1: enable ddr 2T, 0: disable ddr 2T.
27886251429SZhihuan He
27986251429SZhihuan He* PLL ssmod
28086251429SZhihuan He
2813e8d76b8SZhihuan HeThese parameters are about Spread Spectrum Modulator(ssmod) for PLL.
282bac3cde4SZhihuan Hessmod_downspread: ssmod work mode.
283bac3cde4SZhihuan He2'b00: center spread. (Suggest to use center spread for better clock jitter)
284bac3cde4SZhihuan He2'b01: down spread.
285bac3cde4SZhihuan He2'b10: up spread.(Please refer to the datasheet for support information)
286bac3cde4SZhihuan He2'b11: reserved
287bac3cde4SZhihuan He
288bac3cde4SZhihuan Hessmod_div: Divider required to set the modulation frequency.
289bac3cde4SZhihuan He	RK3308 suggests to ssmod_div=2, others platforms suggest to ssmod_div=5.
2903e8d76b8SZhihuan Hessmod_spread: spread amplitude % = 0.1 * ssmod_spread; 0: disable ssmod, others will enable ssmod, max to 0x1f.
291bac3cde4SZhihuan He	The larger the ssmod_spread value, the smaller of EMI, the worse of clk jitter.
292bac3cde4SZhihuan He	Suggest to use ssmod_spread = 5, which means the center spread is +/-0.5%.
293bac3cde4SZhihuan HePlease refer to "Rockchip_Developer_Guide_Pll_Ssmod_Clock_CN" for more information.
29486251429SZhihuan He
29586251429SZhihuan He* driver strength
29686251429SZhihuan He
29786251429SZhihuan Hephy_ddr*_dq_drv_when_odten_ohm: The PHY DQ/DQS driver strength(write direction) when DRAM odt on. unit: ohm.
29886251429SZhihuan Hephy_ddr*_ca_drv_when_odten_ohm: The PHY CMD/ADDR driver strength when DRAM odt on. unit: ohm.
29986251429SZhihuan Hephy_ddr*_clk_drv_when_odten_ohm: The PHY clock driver strength when DRAM odt on. unit: ohm.
30086251429SZhihuan Heddr*_dq_drv_when_odten_ohm: The DRAM DQ/DQS driver strength(read direction) when PHY odt on. unit: ohm.
30186251429SZhihuan Hephy_ddr*_dq_drv_when_odtoff_ohm: The PHY DQ/DQS driver strength(write direction) when DRAM odt off. unit: ohm.
30286251429SZhihuan Hephy_ddr*_ca_drv_when_odtoff_ohm: The PHY CMD/ADDR driver strength when DRAM odt off. unit: ohm.
30386251429SZhihuan Hephy_ddr*_clk_drv_when_odtoff_ohm: The PHY clock driver strength when DRAM odt off. unit: ohm.
30486251429SZhihuan Heddr*_dq_drv_when_odtoff_ohm: The DRAM DQ/DQS driver strength(read direction) when PHY odt off. unit: ohm.
30586251429SZhihuan He
30686251429SZhihuan HeThe phy side driver strength support value as follows:
307612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+
308612e733eSZhihuan He|   platform    |        DDR3       |        DDR4       |     LP3      |       LP4       |  LP4X pull up  | LP4X pull down |      LP5    |
309612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+
310612e733eSZhihuan He|               | 455,230,153,115,  | 482,244,162,122,  |              | 501,253,168,126,|                |                |             |
311612e733eSZhihuan He|               | 91,76,65,57,51,46,| 97,81,69,61,54,48,|              | 101,84,72,63,56,|                |                |             |
312612e733eSZhihuan He| RV1126/RV1109 | 41,38,35,32,30,28,| 44,40,37,34,32,30,| follow DDR4  | 50,46,42,38,36, |  follow LP4    |   follow LP4   |      X      |
313612e733eSZhihuan He|               | 27,25,24,23,22,21,| 28,27,25,24,23,22,|              | 33,31,29,28,26, |                |                |             |
314612e733eSZhihuan He|               | 20                | 21                |              | 25,24,23,22     |                |                |             |
315612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+
316612e733eSZhihuan He|               | 500,250,167,125,  | 556,279,185,139,  |              | 576,289,192,144,| 646,323,215,   | 513,259,172,   |             |
317612e733eSZhihuan He|               | 100,83,71,63,56,  | 111,93,79,69,62,  |              | 115,96,82,72,64,| 162,129,108,92,| 130,104,86,74, |             |
318612e733eSZhihuan He| RK3566/RK3568 | 50,45,41,38,36,33,| 55,50,46,42,39,37,|  follow DDR4 | 57,52,48,44,41, | 81,72,65,59,54,| 65,58,52,47,43,|      X      |
319612e733eSZhihuan He|               | 31,29,28,26,25,24,| 34,32,31,29,27,26,|              | 38,36,34,32,30, | 50,46,43,40,38,| 40,37,35,32,30,|             |
320612e733eSZhihuan He|               | 23,22             | 25,24             |              | 28,27,26,25     | 36,34,32,31,29,| 29,27,26,25,24,|             |
321612e733eSZhihuan He|               |                   |                   |              |                 | 28             | 23             |             |
322612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+
323612e733eSZhihuan He|    RK3588     |         X         |         X         |       X      |  240,120,80,60, |   follow LP4   |   follow LP4   | follow LP4  |
324612e733eSZhihuan He|               |                   |                   |              |   48,40,34,30   |                |                |             |
325612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+
326f90d99fcSZhihuan He|               | 572,289,195,145,  | 595,300,202,151,  |              | 654,328,221,165,| 585,297,202,   | 585,297,202,   |             |
327f90d99fcSZhihuan He|               | 117,99,85,73,66,  | 122,102,89,76,68, |              |133,112,97,83,74,| 150,122,103,90,| 150,122,103,90,|             |
328f90d99fcSZhihuan He|    RK3528     | 60,55,50,47,44,41,| 62,57,52,49,45,43,|  follow DDR4 | 67,62,57,53,49, | 77,69,63,58,53,| 77,69,63,58,53,|      X      |
329f90d99fcSZhihuan He|               | 38,36,34,33,31,30,| 39,37,35,34,32,31,|              | 46,43,40,38,37, | 50,47,44,40,38,| 50,47,44,40,38,|             |
330f90d99fcSZhihuan He|               | 29,28             | 30,29             |              | 35,33,32,31     | 37,35,33,32,31,| 37,35,33,32,31,|             |
331f90d99fcSZhihuan He|               |                   |                   |              |                 | 30             | 30             |             |
332f90d99fcSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+
33386251429SZhihuan He
33486251429SZhihuan HeThe DRAM side driver strength support value as follows:
335612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+
336612e733eSZhihuan He|   platform    |        DDR3       |        DDR4       |     LP3        |           LP4        |      LP4X      |     LP5     |
337612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+
338612e733eSZhihuan He|     all       |       40,34       |        34,48      | 34,40,48,60,80 |  40,48,60,80,120,240 |   follow LP4   | follow LP4  |
339612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+
34086251429SZhihuan He
34186251429SZhihuan He* ODT
34286251429SZhihuan Hephy_ddr*_odt_ohm: The PHY ODT strength(read direction). unit: ohm.
34386251429SZhihuan Heddr*_odt_ohm: The DRAM ODT strength(write direction). unit: ohm.
34486251429SZhihuan Hephy_ddr*_odt_pull_up_en: 1: enable PHY pull up odt. 0: disable
34586251429SZhihuan Hephy_ddr*_odt_pull_dn_en: 1: enable PHY pull down odt. 0: disable
34686251429SZhihuan Hephy_ddr*_odten_freq_mhz: The PHY odt enable when larger than this frequency. unit: MHz.
34786251429SZhihuan Heddr*_odten_freq_mhz: The DRAM odt(DQ/DQS) enable when larger than this frequency. unit: MHz.
34886251429SZhihuan He
349*9dcea43dSZhihuan HeNote:
350*9dcea43dSZhihuan Heddr4_odten_freq_mhz: The DDR4 DRAM ODT is not supported below 625MHz according to JEDEC standard. It means ddr4_odten_freq_mhz should not less than 625.
351*9dcea43dSZhihuan Help4_dq_odten_freq_mhz/lp4x_dq_odten_freq_mhz: The lp4/lp4x DRAM DQ ODT is not supported below 800MHz according to JEDEC standard.
352*9dcea43dSZhihuan He	 It means lp4_dq_odten_freq_mhz/lp4x_dq_odten_freq_mhz should not less than 800.
353*9dcea43dSZhihuan He
35486251429SZhihuan HeThe phy side ODT support value as follows:
35586251429SZhihuan HeThe ODT "0" means disabled ODT.
356612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+
357612e733eSZhihuan He|   platform    |        DDR3       |       DDR4         |       LP3    |         LP4       |  LP4X pull up  | LP4X pull down |     LP5     |
358612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+
359612e733eSZhihuan He|               | 0,561,282,188,141,| 0,586,294,196,148, |              | 0,604,303,202,152,|                |                |             |
360612e733eSZhihuan He|               | 113,94,81,72,64,  | 118,99,58,76,67,60,|              | 122,101,87,78,69, |                |                |             |
361612e733eSZhihuan He| RV1126/RV1109 | 58,52,48,44,41,   | 55,50,46,43,40,38, | follow DDR4  | 62,56,52,48,44,41,|  follow LP4    |   follow LP4   |      X      |
362612e733eSZhihuan He|               | 38,37,34,32,31,29,| 36,34,32,31,29,28, |              | 39,37,35,33,32,30,|                |                |             |
363612e733eSZhihuan He|               | 28,27,25          | 27                 |              | 29,27             |                |                |             |
364612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+
365612e733eSZhihuan He|               | 0,500,250,167,125,| 0,556,279,185,139, |              | 0,576,289,192,144,| 0,646,323,215, | 0,513,259,172, |             |
366612e733eSZhihuan He|               | 100,83,71,63,56,  | 111,93,79,69,62,   |              | 115,96,82,72,64,  | 162,129,108,92,| 130,104,86,74, |             |
367612e733eSZhihuan He| RK3566/RK3568 | 50,45,41,38,36,33,| 55,50,46,42,39,37, | follow DDR4  | 57,52,48,44,41,   | 81,72,65,59,54,| 65,58,52,47,43,|      X      |
368612e733eSZhihuan He|               | 31,29,28,26,25,24,| 34,32,31,29,27,26, |              | 38,36,34,32,30,   | 50,46,43,40,38,| 40,37,35,32,30,|             |
369612e733eSZhihuan He|               | 23,22             | 25,24              |              | 28,27,26,25       | 36,34,32,31,29,| 29,27,26,25,24,|             |
370612e733eSZhihuan He|               |                   |                    |              |                   | 28             | 23             |             |
371612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+
372612e733eSZhihuan He|    RK3588     |         X         |          X         |       X      |   0,240,120,80,   |   follow LP4   |   follow LP4   | follow LP4  |
373612e733eSZhihuan He|               |                   |                    |              |  60,48,40,34,30   |                |                |             |
374612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+
375f90d99fcSZhihuan He|               | 572,289,195,145,  | 595,300,202,151,   |              | 654,328,221,165,  | 585,297,202,   | 585,297,202,   |             |
376f90d99fcSZhihuan He|               | 117,99,85,73,66,  | 122,102,89,76,68,  |              |133,112,97,83,74,  | 150,122,103,90,| 150,122,103,90,|             |
377f90d99fcSZhihuan He|    RK3528     | 60,55,50,47,44,41,| 62,57,52,49,45,43, |  follow DDR4 | 67,62,57,53,49,   | 77,69,63,58,53,| 77,69,63,58,53,|      X      |
378f90d99fcSZhihuan He|               | 38,36,34,33,31,30,| 39,37,35,34,32,31, |              | 46,43,40,38,37,   | 50,47,44,40,38,| 50,47,44,40,38,|             |
379f90d99fcSZhihuan He|               | 29,28             | 30,29              |              | 35,33,32,31       | 37,35,33,32,31,| 37,35,33,32,31,|             |
380f90d99fcSZhihuan He|               |                   |                    |              |                   | 30             | 30             |             |
381f90d99fcSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+
38286251429SZhihuan HeThe DRAM side ODT support value as follows:
383612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+
384612e733eSZhihuan He|   platform    |        DDR3       |        DDR4       |     LP3      | LP4(include DQ and CA)|      LP4X      |      LP5      |
385612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+
386612e733eSZhihuan He|     all       |    0,40,60,120    | 0,34,40,48,60,120 | 0,60,120,240 | 0,40,48,60,80,120,240 |   follow LP4   |   follow LP4  |
387612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+
38886251429SZhihuan He
38986251429SZhihuan He* slew rate
39086251429SZhihuan He
39186251429SZhihuan Hephy_ddr*_dq_sr_when_odten: The PHY DQ/DQS slew rate when odt on.
39286251429SZhihuan Hephy_ddr*_ca_sr_when_odten: The PHY CMD/ADDR slew rate when odt on.
39386251429SZhihuan Hephy_ddr*_clk_sr_when_odten: The PHY clock slew rate when odt on.
39486251429SZhihuan Hephy_ddr*_dq_sr_when_odtoff: The PHY DQ/DQS slew rate when odt off.
39586251429SZhihuan Hephy_ddr*_ca_sr_when_odtoff: The PHY CMD/ADDR slew rate when odt off.
39686251429SZhihuan Hephy_ddr*_clk_sr_when_odtoff: The PHY clock slew rate when odt off.
39786251429SZhihuan He
398612e733eSZhihuan HeThe max value is 0x1f, the min is 0x0.
399612e733eSZhihuan He
40086251429SZhihuan He* byte map
40186251429SZhihuan He
402612e733eSZhihuan Heddr*_bytes_map: The bytes remap in PHY.
40386251429SZhihuan He
40486251429SZhihuan He* dq remap
40586251429SZhihuan He
406612e733eSZhihuan Help*_dq*_*_map: The dq remap in PHY.
407612e733eSZhihuan Heddr*_cs*_dq*_dq*_map: The dq remap in PHY.
40886251429SZhihuan He
40986251429SZhihuan He* lp4/lp4x more information
41086251429SZhihuan He
41186251429SZhihuan Help4*_ca_odten_freq_mhz: The DRAM CMD/ADDR odt enable when larger than this frequency. unit: MHz.
4126dab7052SYouMin Chen
4136dab7052SYouMin Chen* vref
4146dab7052SYouMin Chen
4156dab7052SYouMin Chenphy_ddr*_dq_vref_when_odten: The PHY VrefDQ when PHY odt on. uint: parts per thousand.
4166dab7052SYouMin Chenddr*_dq_vref_when_odten: The DRAM VrefDQ when DRAM DQ/DQS odt on. uint: parts per thousand.
4176dab7052SYouMin Chenddr*_ca_vref_when_odten: The DRAM VrefCA when DRAM CA odt on. uint: parts per thousand.
4186dab7052SYouMin Chenphy_ddr*_dq_vref_when_odtoff:  The PHY VrefDQ when PHY odt off. uint: parts per thousand.
4196dab7052SYouMin Chenddr*_dq_vref_when_odtoff: The DRAM VrefDQ when DRAM DQ/DQS odt off. uint: parts per thousand.
4206dab7052SYouMin Chenddr*_ca_vref_when_odtoff: The DRAM VrefCA when DRAM CA odt off. uint: parts per thousand.
4216dab7052SYouMin Chen
4226dab7052SYouMin ChenFor DDR2/3/4 and LPDDR2/3, if the configuration value is "0", Vref is automatically calculated by the code.
4238edfcbeaSZhihuan He
4248edfcbeaSZhihuan He* hash info
4258edfcbeaSZhihuan Hech/bank/rank_mask*: is used to DDR address hash mask.
426bac3cde4SZhihuan He
427bac3cde4SZhihuan He* modify skew info
428bac3cde4SZhihuan He
429bac3cde4SZhihuan Heddr*_skew_freq_mhz: Used to specify the frequency of skew.
430bac3cde4SZhihuan He
431bac3cde4SZhihuan Heddr*_skew: The skew value of dram type are need to modify. If need to modify skew, you must check with the hardware engineer.
432bac3cde4SZhihuan He
433bac3cde4SZhihuan HeThe support platform:
434bac3cde4SZhihuan He|---------------------------|--------------------|--------------------------------------------|
435bac3cde4SZhihuan He|          platform         |   ddrbin version   |      calculate one step delay(ps)          |
436bac3cde4SZhihuan He|          RK3528           |        V1.06       |    1000000 / ddr*_skew_freq_mhz / 128      |
437bac3cde4SZhihuan He|---------------------------|--------------------|--------------------------------------------|
438bac3cde4SZhihuan He
439bac3cde4SZhihuan HeFor RK3528, the skew one step is 7.398ps when ddr*_skew_freq_mhz is 1056.
440bac3cde4SZhihuan He
441bac3cde4SZhihuan HeBefore modify skew, it is recommended to read every CA skew from the bin file and then adjust the CA skew which want to change.
442