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. 41f5c20ccSYouMin Chen 2) run 'ddrbin_tool.py' with argument 1: chip_name, argument 2: ddrbin_param.txt, argument 3: ddr bin file. 51f5c20ccSYouMin Chen like: ./ddrbin_tool.py 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: 91f5c20ccSYouMin Chen ./ddrbin_tool.py 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 +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+ 219dcea43dSZhihuan 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 +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+----------------------+ 539dcea43dSZhihuan He | RV1106/RV1103 | V1.10 | V1.10 | V1.10 | V1.10 | V1.10 | X | X | X | X | 549dcea43dSZhihuan 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 | 609dcea43dSZhihuan 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 | 639dcea43dSZhihuan 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 161*4026ce53SZhihuan He* periodic interval 162*4026ce53SZhihuan HeThe 0 means disable periodic training, others means enable. Unit: 100ms. 163*4026ce53SZhihuan He 164*4026ce53SZhihuan He* trfc_mode 165*4026ce53SZhihuan He0: use default trfc 166*4026ce53SZhihuan He1: use next density trfc 167*4026ce53SZhihuan He2: use max trfc 168*4026ce53SZhihuan He3: use min trfc 169*4026ce53SZhihuan He 170bac3cde4SZhihuan He* first_init_dram_type 171bac3cde4SZhihuan HeThe define first init dram type to saving initial time. 172bac3cde4SZhihuan He|----------------------------|-----------------| 173bac3cde4SZhihuan He| first_init_dram_type value | DDR type | 174bac3cde4SZhihuan He| 0 | DDR4 | 175bac3cde4SZhihuan He| 2 | DDR2 | 176bac3cde4SZhihuan He| 3 | DDR3 | 177bac3cde4SZhihuan He| 5 | LPDDR2 | 178bac3cde4SZhihuan He| 6 | LPDDR3 | 179bac3cde4SZhihuan He| 7 | LPDDR4 | 180bac3cde4SZhihuan He| 8 | LPDDR4X | 181bac3cde4SZhihuan He| 9 | LPDDR5 | 182bac3cde4SZhihuan He| 10 | DDR5 | 183bac3cde4SZhihuan He|----------------------------|-----------------| 184bac3cde4SZhihuan He 185bac3cde4SZhihuan He* dfs_disable 186bac3cde4SZhihuan He1: disbale ddr freq switch function 187bac3cde4SZhihuan He0: enable ddr freq switch function 188bac3cde4SZhihuan He 189bac3cde4SZhihuan HeNote: 190bac3cde4SZhihuan HeThe starting frequency is fixed to f0 frequency after turning off the frequency scaling. 191bac3cde4SZhihuan HeIf the DDR frequency needs to be modified, ddrx_f0_freq/fsp0_freq should be modified. 192bac3cde4SZhihuan He 1936f34a9d1SZhihuan He* DDR (final) freq(also called ddrx_f0_freq_mhz/fsp0_freq) 1946f34a9d1SZhihuan He 1956f34a9d1SZhihuan 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. 1966f34a9d1SZhihuan HeFor the others platform, it is the final freq to boot system. 19786251429SZhihuan He 198d42b646fSZhihuan Heddr2_freq(ddr2_f0_freq_mhz): ddr2 frequency, unit:MHz. 199d42b646fSZhihuan Help2_freq (lp2_f0_freq_mhz): lpddr2 frequency, unit:MHz. 200d42b646fSZhihuan Heddr3_freq(ddr3_f0_freq_mhz): ddr3 frequency, unit:MHz. 201d42b646fSZhihuan Help3_freq (lp3_f0_freq_mhz): lpddr3 frequency, unit:MHz. 202d42b646fSZhihuan Heddr4_freq(ddr4_f0_freq_mhz): ddr4 frequency, unit:MHz. 203d42b646fSZhihuan Help4_freq (lp4_f0_freq_mhz): lpddr4 frequency, unit:MHz. 204d42b646fSZhihuan Help4x_freq(lp4x_f0_freq_mhz): lpddr4x frequency, unit:MHz. 205d42b646fSZhihuan Help5_freq (lp5_f0_freq_mhz): lpddr5 frequency, unit:MHz. 20654a17cb1STang Yun ping 2076f34a9d1SZhihuan He* support ddr frequency: 2086f34a9d1SZhihuan HeThe 'X' as follows means not support change frequencies by tool. 2096f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2106f34a9d1SZhihuan He| platform | support frequencies(MHZ) | 2116f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2126f34a9d1SZhihuan He| RK1108 | DDR2: 400; LP2: <= 533; DDR3: <= 800 | 2136f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 21486251429SZhihuan He| PX30/RK3326 | X | 2156f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 21686251429SZhihuan He| RK1808 | 333,400,533,666,786,933 | 2176f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2186f34a9d1SZhihuan He| RK322x | DDR2/LP2: <= 533; others: <= 800 | 2196f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 22086251429SZhihuan He| RK322xh | X | 2216f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 22286251429SZhihuan He| RK3288 | X | 2236f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2246f34a9d1SZhihuan He| RK3308/RK3308S| DDR2/LP2: 393,451; DDR3: 393,451,589 | 2256f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2266f34a9d1SZhihuan He| RK3368 | DDR3: <= 800; LP3: <= 666 | 2276f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 22886251429SZhihuan He| RK3328 | X | 2296f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 23086251429SZhihuan He| RK3399 | X | 2316f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 23286251429SZhihuan He| RK3399PRO NPU | 333,400,533,666,786,933 | 2336f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 23486251429SZhihuan He| RV1126/RV1109 | 328,396,528,664,784,924,1056 | 2356f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2366f34a9d1SZhihuan He| RK3566 | 324,396,528,630,780,920,1056 | 2376f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2386f34a9d1SZhihuan He| RK3568 | DDR3/LP3: 324,396,528,630,780,920,1056 | 2396f34a9d1SZhihuan He| | DDR4/LP4/LP4X: 324,396,528,630,780,920,1056,1184,1332,1560 | 2406f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2418edfcbeaSZhihuan He| RK3588 | LP4/LP4x [306.5MHz - 2133MHz]; LP5: [400MHz - 2750MHz] | 2426f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 243bac3cde4SZhihuan He| RK3528 | DDR3/LP3/LP4/LP4X: 324,396,528,630,780,920,1056 | 244bac3cde4SZhihuan He| | DDR4: 324,396,528,630,780,920,1056,1184 | 245bac3cde4SZhihuan He+---------------+-----------------------------------------------------------------+ 246bac3cde4SZhihuan He| RK3562 | DDR3/LP3: [324MHz - 1056MHz]; LP4/LP4X/DDR4: [324MHz - 1392MHz] | 247f90d99fcSZhihuan He+---------------+-----------------------------------------------------------------+ 2489dcea43dSZhihuan He| RV1106/RV1103 | DDR2: 528MHz; DDR3: 324,660,792,924; | 2499dcea43dSZhihuan He+---------------+-----------------------------------------------------------------+ 250558a25b2STang Yun ping 25186251429SZhihuan He* DDR frequencies(add more) 252eea48410SZhihuan He 2536f34a9d1SZhihuan Heddr2_f1_freq_mhz: ddr2 frequency fsp 1, unit:MHz. 2546f34a9d1SZhihuan Heddr2_f2_freq_mhz: ddr2 frequency fsp 2, unit:MHz. 2556f34a9d1SZhihuan Heddr2_f3_freq_mhz: ddr2 frequency fsp 3, unit:MHz. 2566f34a9d1SZhihuan Heddr2_f4_freq_mhz: ddr2 frequency fsp 4, unit:MHz. 2576f34a9d1SZhihuan Heddr2_f5_freq_mhz: ddr2 frequency fsp 5, unit:MHz. 25872640b4bSZhihuan He... 2596f34a9d1SZhihuan HeThe ddrx_f0_freq_mhz(the fsp0 frequency) is named ddrx_freq. 26086251429SZhihuan He 261612e733eSZhihuan Heddr*_f*_freq_mhz/lp*_f*_freq_mhz: Only RV1126/RV1109, RK3566/RK3568, RK3588 used. 2628edfcbeaSZhihuan HeThe program will initialize dram by following order. 26386251429SZhihuan Hefor example: ddr4_f1_freq_mhz --> ddr4_f2_freq_mhz --> ddr4_f3_freq_mhz --> ddr4_freq. 264612e733eSZhihuan HeAnd the final frequency is ddr4_freq to boot system. 265612e733eSZhihuan HeThe ddr frequency table in kernel dts/dtsi file need correspond to these frequencies. 26686251429SZhihuan 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'. 267612e733eSZhihuan HeSuch as: ddr*/lp*_f1_freq_mhz < ddr*/lp*_f2_freq_mhz < ddr*/lp*_f3_freq_mhz < lp*/ddr*_freq(the final freq) 26886251429SZhihuan HeFor example: 26986251429SZhihuan He ... 27086251429SZhihuan He ddr4_freq=1560 27186251429SZhihuan He ... 27286251429SZhihuan He ddr4_f1_freq_mhz=324 27386251429SZhihuan He ddr4_f2_freq_mhz=528 27486251429SZhihuan He ddr4_f3_freq_mhz=780 27586251429SZhihuan He ... 27686251429SZhihuan He 2776f34a9d1SZhihuan HeNote: The ddr frequency table in kernel dts/dtsi file need correspond to these frequencies. 2786f34a9d1SZhihuan He 27986251429SZhihuan He* SR PD idle 28086251429SZhihuan He 28186251429SZhihuan Hesr_idle: auto self-refresh mode delay time. 28286251429SZhihuan Hepd_idle: auto power-down mode delay time. 28386251429SZhihuan He 28486251429SZhihuan He* DDR 2T 28586251429SZhihuan He 28686251429SZhihuan Heddr_2t: ddr 2T timing mode. 1: enable ddr 2T, 0: disable ddr 2T. 28786251429SZhihuan He 28886251429SZhihuan He* PLL ssmod 28986251429SZhihuan He 2903e8d76b8SZhihuan HeThese parameters are about Spread Spectrum Modulator(ssmod) for PLL. 291bac3cde4SZhihuan Hessmod_downspread: ssmod work mode. 292bac3cde4SZhihuan He2'b00: center spread. (Suggest to use center spread for better clock jitter) 293bac3cde4SZhihuan He2'b01: down spread. 294bac3cde4SZhihuan He2'b10: up spread.(Please refer to the datasheet for support information) 295bac3cde4SZhihuan He2'b11: reserved 296bac3cde4SZhihuan He 297bac3cde4SZhihuan Hessmod_div: Divider required to set the modulation frequency. 298bac3cde4SZhihuan He RK3308 suggests to ssmod_div=2, others platforms suggest to ssmod_div=5. 2993e8d76b8SZhihuan Hessmod_spread: spread amplitude % = 0.1 * ssmod_spread; 0: disable ssmod, others will enable ssmod, max to 0x1f. 300bac3cde4SZhihuan He The larger the ssmod_spread value, the smaller of EMI, the worse of clk jitter. 301bac3cde4SZhihuan He Suggest to use ssmod_spread = 5, which means the center spread is +/-0.5%. 302bac3cde4SZhihuan HePlease refer to "Rockchip_Developer_Guide_Pll_Ssmod_Clock_CN" for more information. 30386251429SZhihuan He 30486251429SZhihuan He* driver strength 30586251429SZhihuan He 30686251429SZhihuan Hephy_ddr*_dq_drv_when_odten_ohm: The PHY DQ/DQS driver strength(write direction) when DRAM odt on. unit: ohm. 30786251429SZhihuan Hephy_ddr*_ca_drv_when_odten_ohm: The PHY CMD/ADDR driver strength when DRAM odt on. unit: ohm. 30886251429SZhihuan Hephy_ddr*_clk_drv_when_odten_ohm: The PHY clock driver strength when DRAM odt on. unit: ohm. 30986251429SZhihuan Heddr*_dq_drv_when_odten_ohm: The DRAM DQ/DQS driver strength(read direction) when PHY odt on. unit: ohm. 31086251429SZhihuan Hephy_ddr*_dq_drv_when_odtoff_ohm: The PHY DQ/DQS driver strength(write direction) when DRAM odt off. unit: ohm. 31186251429SZhihuan Hephy_ddr*_ca_drv_when_odtoff_ohm: The PHY CMD/ADDR driver strength when DRAM odt off. unit: ohm. 31286251429SZhihuan Hephy_ddr*_clk_drv_when_odtoff_ohm: The PHY clock driver strength when DRAM odt off. unit: ohm. 31386251429SZhihuan Heddr*_dq_drv_when_odtoff_ohm: The DRAM DQ/DQS driver strength(read direction) when PHY odt off. unit: ohm. 31486251429SZhihuan He 31586251429SZhihuan HeThe phy side driver strength support value as follows: 316612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 317612e733eSZhihuan He| platform | DDR3 | DDR4 | LP3 | LP4 | LP4X pull up | LP4X pull down | LP5 | 318612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 319612e733eSZhihuan He| | 455,230,153,115, | 482,244,162,122, | | 501,253,168,126,| | | | 320612e733eSZhihuan He| | 91,76,65,57,51,46,| 97,81,69,61,54,48,| | 101,84,72,63,56,| | | | 321612e733eSZhihuan 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 | 322612e733eSZhihuan He| | 27,25,24,23,22,21,| 28,27,25,24,23,22,| | 33,31,29,28,26, | | | | 323612e733eSZhihuan He| | 20 | 21 | | 25,24,23,22 | | | | 324612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 325612e733eSZhihuan He| | 500,250,167,125, | 556,279,185,139, | | 576,289,192,144,| 646,323,215, | 513,259,172, | | 326612e733eSZhihuan He| | 100,83,71,63,56, | 111,93,79,69,62, | | 115,96,82,72,64,| 162,129,108,92,| 130,104,86,74, | | 327612e733eSZhihuan 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 | 328612e733eSZhihuan 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,| | 329612e733eSZhihuan He| | 23,22 | 25,24 | | 28,27,26,25 | 36,34,32,31,29,| 29,27,26,25,24,| | 330612e733eSZhihuan He| | | | | | 28 | 23 | | 331612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 332612e733eSZhihuan He| RK3588 | X | X | X | 240,120,80,60, | follow LP4 | follow LP4 | follow LP4 | 333612e733eSZhihuan He| | | | | 48,40,34,30 | | | | 334612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 335f90d99fcSZhihuan He| | 572,289,195,145, | 595,300,202,151, | | 654,328,221,165,| 585,297,202, | 585,297,202, | | 336f90d99fcSZhihuan He| | 117,99,85,73,66, | 122,102,89,76,68, | |133,112,97,83,74,| 150,122,103,90,| 150,122,103,90,| | 337f90d99fcSZhihuan 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 | 338f90d99fcSZhihuan 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,| | 339f90d99fcSZhihuan He| | 29,28 | 30,29 | | 35,33,32,31 | 37,35,33,32,31,| 37,35,33,32,31,| | 340f90d99fcSZhihuan He| | | | | | 30 | 30 | | 341f90d99fcSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 34286251429SZhihuan He 34386251429SZhihuan HeThe DRAM side driver strength support value as follows: 344612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+ 345612e733eSZhihuan He| platform | DDR3 | DDR4 | LP3 | LP4 | LP4X | LP5 | 346612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+ 347612e733eSZhihuan He| all | 40,34 | 34,48 | 34,40,48,60,80 | 40,48,60,80,120,240 | follow LP4 | follow LP4 | 348612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+ 34986251429SZhihuan He 35086251429SZhihuan He* ODT 35186251429SZhihuan Hephy_ddr*_odt_ohm: The PHY ODT strength(read direction). unit: ohm. 35286251429SZhihuan Heddr*_odt_ohm: The DRAM ODT strength(write direction). unit: ohm. 35386251429SZhihuan Hephy_ddr*_odt_pull_up_en: 1: enable PHY pull up odt. 0: disable 35486251429SZhihuan Hephy_ddr*_odt_pull_dn_en: 1: enable PHY pull down odt. 0: disable 35586251429SZhihuan Hephy_ddr*_odten_freq_mhz: The PHY odt enable when larger than this frequency. unit: MHz. 35686251429SZhihuan Heddr*_odten_freq_mhz: The DRAM odt(DQ/DQS) enable when larger than this frequency. unit: MHz. 35786251429SZhihuan He 3589dcea43dSZhihuan HeNote: 3599dcea43dSZhihuan 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. 3609dcea43dSZhihuan 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. 3619dcea43dSZhihuan He It means lp4_dq_odten_freq_mhz/lp4x_dq_odten_freq_mhz should not less than 800. 3629dcea43dSZhihuan He 36386251429SZhihuan HeThe phy side ODT support value as follows: 36486251429SZhihuan HeThe ODT "0" means disabled ODT. 365612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 366612e733eSZhihuan He| platform | DDR3 | DDR4 | LP3 | LP4 | LP4X pull up | LP4X pull down | LP5 | 367612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 368612e733eSZhihuan He| | 0,561,282,188,141,| 0,586,294,196,148, | | 0,604,303,202,152,| | | | 369612e733eSZhihuan He| | 113,94,81,72,64, | 118,99,58,76,67,60,| | 122,101,87,78,69, | | | | 370612e733eSZhihuan 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 | 371612e733eSZhihuan He| | 38,37,34,32,31,29,| 36,34,32,31,29,28, | | 39,37,35,33,32,30,| | | | 372612e733eSZhihuan He| | 28,27,25 | 27 | | 29,27 | | | | 373612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 374612e733eSZhihuan He| | 0,500,250,167,125,| 0,556,279,185,139, | | 0,576,289,192,144,| 0,646,323,215, | 0,513,259,172, | | 375612e733eSZhihuan He| | 100,83,71,63,56, | 111,93,79,69,62, | | 115,96,82,72,64, | 162,129,108,92,| 130,104,86,74, | | 376612e733eSZhihuan 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 | 377612e733eSZhihuan 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,| | 378612e733eSZhihuan He| | 23,22 | 25,24 | | 28,27,26,25 | 36,34,32,31,29,| 29,27,26,25,24,| | 379612e733eSZhihuan He| | | | | | 28 | 23 | | 380612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 381612e733eSZhihuan He| RK3588 | X | X | X | 0,240,120,80, | follow LP4 | follow LP4 | follow LP4 | 382612e733eSZhihuan He| | | | | 60,48,40,34,30 | | | | 383612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 384f90d99fcSZhihuan He| | 572,289,195,145, | 595,300,202,151, | | 654,328,221,165, | 585,297,202, | 585,297,202, | | 385f90d99fcSZhihuan He| | 117,99,85,73,66, | 122,102,89,76,68, | |133,112,97,83,74, | 150,122,103,90,| 150,122,103,90,| | 386f90d99fcSZhihuan 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 | 387f90d99fcSZhihuan 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,| | 388f90d99fcSZhihuan He| | 29,28 | 30,29 | | 35,33,32,31 | 37,35,33,32,31,| 37,35,33,32,31,| | 389f90d99fcSZhihuan He| | | | | | 30 | 30 | | 390f90d99fcSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 39186251429SZhihuan HeThe DRAM side ODT support value as follows: 392612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+ 393612e733eSZhihuan He| platform | DDR3 | DDR4 | LP3 | LP4(include DQ and CA)| LP4X | LP5 | 394612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+ 395612e733eSZhihuan 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 | 396612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+ 39786251429SZhihuan He 39886251429SZhihuan He* slew rate 39986251429SZhihuan He 40086251429SZhihuan Hephy_ddr*_dq_sr_when_odten: The PHY DQ/DQS slew rate when odt on. 40186251429SZhihuan Hephy_ddr*_ca_sr_when_odten: The PHY CMD/ADDR slew rate when odt on. 40286251429SZhihuan Hephy_ddr*_clk_sr_when_odten: The PHY clock slew rate when odt on. 40386251429SZhihuan Hephy_ddr*_dq_sr_when_odtoff: The PHY DQ/DQS slew rate when odt off. 40486251429SZhihuan Hephy_ddr*_ca_sr_when_odtoff: The PHY CMD/ADDR slew rate when odt off. 40586251429SZhihuan Hephy_ddr*_clk_sr_when_odtoff: The PHY clock slew rate when odt off. 40686251429SZhihuan He 407612e733eSZhihuan HeThe max value is 0x1f, the min is 0x0. 408612e733eSZhihuan He 40986251429SZhihuan He* byte map 41086251429SZhihuan He 411612e733eSZhihuan Heddr*_bytes_map: The bytes remap in PHY. 41286251429SZhihuan He 41386251429SZhihuan He* dq remap 41486251429SZhihuan He 415612e733eSZhihuan Help*_dq*_*_map: The dq remap in PHY. 416612e733eSZhihuan Heddr*_cs*_dq*_dq*_map: The dq remap in PHY. 41786251429SZhihuan He 41886251429SZhihuan He* lp4/lp4x more information 41986251429SZhihuan He 42086251429SZhihuan Help4*_ca_odten_freq_mhz: The DRAM CMD/ADDR odt enable when larger than this frequency. unit: MHz. 4216dab7052SYouMin Chen 4226dab7052SYouMin Chen* vref 4236dab7052SYouMin Chen 4246dab7052SYouMin Chenphy_ddr*_dq_vref_when_odten: The PHY VrefDQ when PHY odt on. uint: parts per thousand. 4256dab7052SYouMin Chenddr*_dq_vref_when_odten: The DRAM VrefDQ when DRAM DQ/DQS odt on. uint: parts per thousand. 4266dab7052SYouMin Chenddr*_ca_vref_when_odten: The DRAM VrefCA when DRAM CA odt on. uint: parts per thousand. 4276dab7052SYouMin Chenphy_ddr*_dq_vref_when_odtoff: The PHY VrefDQ when PHY odt off. uint: parts per thousand. 4286dab7052SYouMin Chenddr*_dq_vref_when_odtoff: The DRAM VrefDQ when DRAM DQ/DQS odt off. uint: parts per thousand. 4296dab7052SYouMin Chenddr*_ca_vref_when_odtoff: The DRAM VrefCA when DRAM CA odt off. uint: parts per thousand. 4306dab7052SYouMin Chen 4316dab7052SYouMin ChenFor DDR2/3/4 and LPDDR2/3, if the configuration value is "0", Vref is automatically calculated by the code. 4328edfcbeaSZhihuan He 4338edfcbeaSZhihuan He* hash info 4348edfcbeaSZhihuan Hech/bank/rank_mask*: is used to DDR address hash mask. 435bac3cde4SZhihuan He 436bac3cde4SZhihuan He* modify skew info 437bac3cde4SZhihuan He 438bac3cde4SZhihuan Heddr*_skew_freq_mhz: Used to specify the frequency of skew. 439bac3cde4SZhihuan He 440bac3cde4SZhihuan Heddr*_skew: The skew value of dram type are need to modify. If need to modify skew, you must check with the hardware engineer. 441bac3cde4SZhihuan He 442bac3cde4SZhihuan HeThe support platform: 443bac3cde4SZhihuan He|---------------------------|--------------------|--------------------------------------------| 444bac3cde4SZhihuan He| platform | ddrbin version | calculate one step delay(ps) | 445bac3cde4SZhihuan He| RK3528 | V1.06 | 1000000 / ddr*_skew_freq_mhz / 128 | 446bac3cde4SZhihuan He|---------------------------|--------------------|--------------------------------------------| 447bac3cde4SZhihuan He 448bac3cde4SZhihuan HeFor RK3528, the skew one step is 7.398ps when ddr*_skew_freq_mhz is 1056. 449bac3cde4SZhihuan He 450bac3cde4SZhihuan 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. 451