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. 4*bac3cde4SZhihuan He 2) run 'ddrbin_tool' with argument 1: chip_name, argument 2: ddrbin_param.txt, argument 3: ddr bin file. 5*bac3cde4SZhihuan 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: 9*bac3cde4SZhihuan 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. 166f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 176f34a9d1SZhihuan He | platform | uart info | ddr freq | ssmod | DDR 2T | sr pd | drv, odt, Vref etc| dis print training info | dis CBT | 186f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 196f34a9d1SZhihuan He | RV1108 | V1.08 | V1.08 | V1.10 | V1.08 | V1.08 | X | X | X | 206f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 216f34a9d1SZhihuan He | PX30/RK3326 | V1.11 | X | V1.16 | V1.12 | V1.15 | X | X | X | 226f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 236f34a9d1SZhihuan He | RK1808 | V1.03 | V1.03 | V1.05 | V1.03 | V1.04 | X | X | X | 246f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 256f34a9d1SZhihuan He | RK322x | V1.08 | V1.08 | X | V1.09 | X | X | X | X | 266f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 276f34a9d1SZhihuan He | RK322xh | V1.14 | X | V1.17 | V1.16 | V1.17 | X | X | X | 286f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 296f34a9d1SZhihuan He | RK3288 | V1.11 | X | X | V1.11 | X | X | X | X | 306f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 316f34a9d1SZhihuan He | RK3308 | V1.28 | V1.28 | V1.31 | V1.29 | V1.30 | X | X | X | 326f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 336f34a9d1SZhihuan He | RK3308S | V2.05 | V2.05 | V2.05 | V2.05 | V2.05 | X | X | X | 346f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 356f34a9d1SZhihuan He | RK3368 | V2.04 | V2.04 | X | V2.05 | X | X | X | X | 366f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 376f34a9d1SZhihuan He | RK3328 | V1.14 | X | V1.17 | V1.16 | V1.17 | X | X | X | 386f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 396f34a9d1SZhihuan He | RK3399 | V1.25 | X | V1.25 | X | X | X | X | X | 406f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 41*bac3cde4SZhihuan He | RK3399PRO NPU | V1.03 | V1.03 | V1.05 | V1.03 | V1.04 | X | X | X | 426f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 436f34a9d1SZhihuan He | RV1126/RV1109 | V1.00 | V1.00 | V1.05 | V1.00 | V1.05 | V1.05 | X | X | 446f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 456f34a9d1SZhihuan He | RK3566/RK3568 | V1.00 | V1.00 | V1.06 | V1.00 | V1.00 | V1.06 | V1.07 | X | 466f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 476f34a9d1SZhihuan He | RK3588 | V1.00 | V1.00 | X | V1.00 | V1.00 | V1.00 | X | X | 486f34a9d1SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 49*bac3cde4SZhihuan He | RK3528 | V1.00 | V1.00 | V1.00 | V1.00 | V1.00 | V1.00 | V1.00 | X | 50*bac3cde4SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 51*bac3cde4SZhihuan He | RK3562 | X | V1.00 | V1.00 | V1.00 | V1.00 | V1.00 | V1.00 | X | 52*bac3cde4SZhihuan He +---------------+-----------+----------+-------+--------+-------+-------------------+-------------------------+---------+ 536f34a9d1SZhihuan He 546f34a9d1SZhihuan He| function | platform and ddrbin version | 55*bac3cde4SZhihuan He| ------------------------------------- | ------------------------------------------ | 566f34a9d1SZhihuan He| first scan channel/channel mask | RK3588 V1.00/RK3399 V1.25/RK3288 V1.11 | 576f34a9d1SZhihuan He| stride type | RK3588 V1.00/RK3399 V1.25/RK3288 V1.11 | 58*bac3cde4SZhihuan He| ext_temp_ref | RK356x V1.16 | 596f34a9d1SZhihuan He| link_ecc_en | Null | 606f34a9d1SZhihuan He| per_bank_ref_en | RK3588 V1.09 | 616f34a9d1SZhihuan He| derate_en | RK3588 V1.09 | 626f34a9d1SZhihuan He| auto_precharge_en | Null | 636f34a9d1SZhihuan He| res_space_remap_portion | RK3588 V1.09 | 646f34a9d1SZhihuan He| res_space_remap_all | RK3588 V1.09 | 656f34a9d1SZhihuan He| rd_vref_scan_en | RK3588 V1.08 | 666f34a9d1SZhihuan He| wr_vref_scan_en | RK3588 V1.08 | 676f34a9d1SZhihuan He| eye_2d_scan_en | RK3588 V1.08 | 686f34a9d1SZhihuan He| ch/bank/rank_mask | RK3588 V1.00 | 696f34a9d1SZhihuan He| pstore base_addr/buf_size | RK3588 V1.09 | 706f34a9d1SZhihuan He| uboot/atf/optee/spl/tpl log en | RK3588 V1.09 | 716f34a9d1SZhihuan He| boot_fsp | RK3588 V1.09 | 729c25957fSYouMin Chen| pageclose | RK3588 V1.10 | 73*bac3cde4SZhihuan He| first_init_dram_type/dfs_disable | RK3588 V1.11 | 7486251429SZhihuan He 7586251429SZhihuan He* UART info 7686251429SZhihuan He 7786251429SZhihuan Heuart id: uart number. 0 for uart0, 1 for uart1, 2 for uart2..., 0xf will disable uart. 7886251429SZhihuan Heuart iomux: uart iomux info, 0 for uartn_m0, 1 for uartn_m1, 2 for uartn_m2...(like uart2_m0, uart2_m1,uart2_m2), 7986251429SZhihuan Heor 1 for uartn_a, 2 for uartn_b, 3 for uartn_c.(like uar2a, uart2b, uart2c). 8086251429SZhihuan Heuart baudrate: uart baudrate should be 115200 or 1500000. 8186251429SZhihuan He 8286251429SZhihuan He* disable print training information 8386251429SZhihuan He 846f34a9d1SZhihuan Hedis_train_print: 1: will disabled print training information; 0: will enable print training information. 8586251429SZhihuan He 866f34a9d1SZhihuan He* recycle registers space(remap register space to DDR) 8786251429SZhihuan He 886f34a9d1SZhihuan Heres_space_remap_portion 896f34a9d1SZhihuan He1: will remap the part of registers to DDR memory space(will not larger than 4GB). 906f34a9d1SZhihuan HeIt is PCIE and some reserved space in RK3588, and the PCIE can not be used when set to 1. 916f34a9d1SZhihuan He 926f34a9d1SZhihuan Heres_space_remap_all 936f34a9d1SZhihuan 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. 946f34a9d1SZhihuan HeThe PCIE can be used when set to 1 in RK3588. 95612e733eSZhihuan He 96612e733eSZhihuan He* DDR eye scanning 97612e733eSZhihuan He1) eye_2d_scan_en: 1: will enable 2D eye scanning for debug purpose, vref and skew eye scanning. 98612e733eSZhihuan He2) wr_vref_scan_en: 1: enable vref scan and use scanning result for write. 99612e733eSZhihuan He3) rd_vref_scan_en: 1: enable vref scan and use scanning result for read. 10086251429SZhihuan He 1016f34a9d1SZhihuan He* DDR auto precharge 1026f34a9d1SZhihuan He 1036f34a9d1SZhihuan Heauto_precharge_en: 1: will enable the DDR auto precharge. 1046f34a9d1SZhihuan He 1056f34a9d1SZhihuan He* DDR refresh derate 1066f34a9d1SZhihuan He 1076f34a9d1SZhihuan Hederate_en: 1: will enable derate function of the LP2/LP3/LP4/LP4X/LP5. 1086f34a9d1SZhihuan HeThe high temperature will issue more refresh command and the low temperature will less. 1096f34a9d1SZhihuan He 1106f34a9d1SZhihuan He* DDR per bank refresh 1116f34a9d1SZhihuan He 1126f34a9d1SZhihuan Heper_bank_ref_en: 1: will enable per bank refresh 1136f34a9d1SZhihuan He 1146f34a9d1SZhihuan He* link ECC enable 1156f34a9d1SZhihuan He 1166f34a9d1SZhihuan Helink_ecc_en: 1: read/write link ecc enable. 1176f34a9d1SZhihuan He 1186f34a9d1SZhihuan He* Extended temperature refresh 1196f34a9d1SZhihuan He 1201c9962b9SYouMin Chenext_temp_ref: 1211c9962b9SYouMin Chen 0: ref1x for normal chip, 2x for 3568M/3568J 1221c9962b9SYouMin Chen 1: fix 2x ref for all chip 1231c9962b9SYouMin Chen 2: fix 4x ref for all chip 1241c9962b9SYouMin Chen 3: fix 1x ref for all chip 1251c9962b9SYouMin ChenNote: If derate-enabled DDR are configured with derate_en=1, the ext_temp_ref configuration does not take effect. 1266f34a9d1SZhihuan He 1276f34a9d1SZhihuan He* pstore_base_addr pstore_buf_size 1286f34a9d1SZhihuan HeThe pstore buffer base address: pstore_base_addr << 16, 64kB align. 1296f34a9d1SZhihuan HeThe pstore buffer size: pstore_buf_size * 4KB. 1306f34a9d1SZhihuan HeIt is define the addr and size to save ddrbin log for last log. 1316f34a9d1SZhihuan He 1326f34a9d1SZhihuan He* uboot_log_en 1336f34a9d1SZhihuan He1: enable uboot log. 1346f34a9d1SZhihuan He0: disable uboot log. 1356f34a9d1SZhihuan He 1366f34a9d1SZhihuan He* atf_log_en 1376f34a9d1SZhihuan He1: enable atf log. 1386f34a9d1SZhihuan He0: disable atf log. 1396f34a9d1SZhihuan He 1406f34a9d1SZhihuan He* optee_log_en 1416f34a9d1SZhihuan He1: enable optee log. 1426f34a9d1SZhihuan He0: disable optee log. 1436f34a9d1SZhihuan He 1446f34a9d1SZhihuan He* spl_log_en 1456f34a9d1SZhihuan He1: enable spl log. 1466f34a9d1SZhihuan He0: disable spl log. 1476f34a9d1SZhihuan He 1486f34a9d1SZhihuan He* tpl_log_en 1496f34a9d1SZhihuan He1: enable tpl log. 1506f34a9d1SZhihuan He0: disable tpl log. 1516f34a9d1SZhihuan He 1529c25957fSYouMin Chen* pageclose 1539c25957fSYouMin Chen1: enable pageclose. 1549c25957fSYouMin Chen0: disable pageclose. 1559c25957fSYouMin Chen 1566f34a9d1SZhihuan He* boot_fsp 1576f34a9d1SZhihuan 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. 1586f34a9d1SZhihuan He 159*bac3cde4SZhihuan He* first_init_dram_type 160*bac3cde4SZhihuan HeThe define first init dram type to saving initial time. 161*bac3cde4SZhihuan He|----------------------------|-----------------| 162*bac3cde4SZhihuan He| first_init_dram_type value | DDR type | 163*bac3cde4SZhihuan He| 0 | DDR4 | 164*bac3cde4SZhihuan He| 2 | DDR2 | 165*bac3cde4SZhihuan He| 3 | DDR3 | 166*bac3cde4SZhihuan He| 5 | LPDDR2 | 167*bac3cde4SZhihuan He| 6 | LPDDR3 | 168*bac3cde4SZhihuan He| 7 | LPDDR4 | 169*bac3cde4SZhihuan He| 8 | LPDDR4X | 170*bac3cde4SZhihuan He| 9 | LPDDR5 | 171*bac3cde4SZhihuan He| 10 | DDR5 | 172*bac3cde4SZhihuan He|----------------------------|-----------------| 173*bac3cde4SZhihuan He 174*bac3cde4SZhihuan He* dfs_disable 175*bac3cde4SZhihuan He1: disbale ddr freq switch function 176*bac3cde4SZhihuan He0: enable ddr freq switch function 177*bac3cde4SZhihuan He 178*bac3cde4SZhihuan HeNote: 179*bac3cde4SZhihuan HeThe starting frequency is fixed to f0 frequency after turning off the frequency scaling. 180*bac3cde4SZhihuan HeIf the DDR frequency needs to be modified, ddrx_f0_freq/fsp0_freq should be modified. 181*bac3cde4SZhihuan He 1826f34a9d1SZhihuan He* DDR (final) freq(also called ddrx_f0_freq_mhz/fsp0_freq) 1836f34a9d1SZhihuan He 1846f34a9d1SZhihuan 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. 1856f34a9d1SZhihuan HeFor the others platform, it is the final freq to boot system. 18686251429SZhihuan He 187d42b646fSZhihuan Heddr2_freq(ddr2_f0_freq_mhz): ddr2 frequency, unit:MHz. 188d42b646fSZhihuan Help2_freq (lp2_f0_freq_mhz): lpddr2 frequency, unit:MHz. 189d42b646fSZhihuan Heddr3_freq(ddr3_f0_freq_mhz): ddr3 frequency, unit:MHz. 190d42b646fSZhihuan Help3_freq (lp3_f0_freq_mhz): lpddr3 frequency, unit:MHz. 191d42b646fSZhihuan Heddr4_freq(ddr4_f0_freq_mhz): ddr4 frequency, unit:MHz. 192d42b646fSZhihuan Help4_freq (lp4_f0_freq_mhz): lpddr4 frequency, unit:MHz. 193d42b646fSZhihuan Help4x_freq(lp4x_f0_freq_mhz): lpddr4x frequency, unit:MHz. 194d42b646fSZhihuan Help5_freq (lp5_f0_freq_mhz): lpddr5 frequency, unit:MHz. 19554a17cb1STang Yun ping 1966f34a9d1SZhihuan He* support ddr frequency: 1976f34a9d1SZhihuan HeThe 'X' as follows means not support change frequencies by tool. 1986f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 1996f34a9d1SZhihuan He| platform | support frequencies(MHZ) | 2006f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2016f34a9d1SZhihuan He| RK1108 | DDR2: 400; LP2: <= 533; DDR3: <= 800 | 2026f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 20386251429SZhihuan He| PX30/RK3326 | X | 2046f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 20586251429SZhihuan He| RK1808 | 333,400,533,666,786,933 | 2066f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2076f34a9d1SZhihuan He| RK322x | DDR2/LP2: <= 533; others: <= 800 | 2086f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 20986251429SZhihuan He| RK322xh | X | 2106f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 21186251429SZhihuan He| RK3288 | X | 2126f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2136f34a9d1SZhihuan He| RK3308/RK3308S| DDR2/LP2: 393,451; DDR3: 393,451,589 | 2146f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2156f34a9d1SZhihuan He| RK3368 | DDR3: <= 800; LP3: <= 666 | 2166f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 21786251429SZhihuan He| RK3328 | X | 2186f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 21986251429SZhihuan He| RK3399 | X | 2206f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 22186251429SZhihuan He| RK3399PRO NPU | 333,400,533,666,786,933 | 2226f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 22386251429SZhihuan He| RV1126/RV1109 | 328,396,528,664,784,924,1056 | 2246f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2256f34a9d1SZhihuan He| RK3566 | 324,396,528,630,780,920,1056 | 2266f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2276f34a9d1SZhihuan He| RK3568 | DDR3/LP3: 324,396,528,630,780,920,1056 | 2286f34a9d1SZhihuan He| | DDR4/LP4/LP4X: 324,396,528,630,780,920,1056,1184,1332,1560 | 2296f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 2308edfcbeaSZhihuan He| RK3588 | LP4/LP4x [306.5MHz - 2133MHz]; LP5: [400MHz - 2750MHz] | 2316f34a9d1SZhihuan He+---------------+-----------------------------------------------------------------+ 232*bac3cde4SZhihuan He| RK3528 | DDR3/LP3/LP4/LP4X: 324,396,528,630,780,920,1056 | 233*bac3cde4SZhihuan He| | DDR4: 324,396,528,630,780,920,1056,1184 | 234*bac3cde4SZhihuan He+---------------+-----------------------------------------------------------------+ 235*bac3cde4SZhihuan He| RK3562 | DDR3/LP3: [324MHz - 1056MHz]; LP4/LP4X/DDR4: [324MHz - 1392MHz] | 236f90d99fcSZhihuan He+---------------+-----------------------------------------------------------------+ 237558a25b2STang Yun ping 23886251429SZhihuan He* DDR frequencies(add more) 239eea48410SZhihuan He 2406f34a9d1SZhihuan Heddr2_f1_freq_mhz: ddr2 frequency fsp 1, unit:MHz. 2416f34a9d1SZhihuan Heddr2_f2_freq_mhz: ddr2 frequency fsp 2, unit:MHz. 2426f34a9d1SZhihuan Heddr2_f3_freq_mhz: ddr2 frequency fsp 3, unit:MHz. 2436f34a9d1SZhihuan Heddr2_f4_freq_mhz: ddr2 frequency fsp 4, unit:MHz. 2446f34a9d1SZhihuan Heddr2_f5_freq_mhz: ddr2 frequency fsp 5, unit:MHz. 24572640b4bSZhihuan He... 2466f34a9d1SZhihuan HeThe ddrx_f0_freq_mhz(the fsp0 frequency) is named ddrx_freq. 24786251429SZhihuan He 248612e733eSZhihuan Heddr*_f*_freq_mhz/lp*_f*_freq_mhz: Only RV1126/RV1109, RK3566/RK3568, RK3588 used. 2498edfcbeaSZhihuan HeThe program will initialize dram by following order. 25086251429SZhihuan Hefor example: ddr4_f1_freq_mhz --> ddr4_f2_freq_mhz --> ddr4_f3_freq_mhz --> ddr4_freq. 251612e733eSZhihuan HeAnd the final frequency is ddr4_freq to boot system. 252612e733eSZhihuan HeThe ddr frequency table in kernel dts/dtsi file need correspond to these frequencies. 25386251429SZhihuan 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'. 254612e733eSZhihuan HeSuch as: ddr*/lp*_f1_freq_mhz < ddr*/lp*_f2_freq_mhz < ddr*/lp*_f3_freq_mhz < lp*/ddr*_freq(the final freq) 25586251429SZhihuan HeFor example: 25686251429SZhihuan He ... 25786251429SZhihuan He ddr4_freq=1560 25886251429SZhihuan He ... 25986251429SZhihuan He ddr4_f1_freq_mhz=324 26086251429SZhihuan He ddr4_f2_freq_mhz=528 26186251429SZhihuan He ddr4_f3_freq_mhz=780 26286251429SZhihuan He ... 26386251429SZhihuan He 2646f34a9d1SZhihuan HeNote: The ddr frequency table in kernel dts/dtsi file need correspond to these frequencies. 2656f34a9d1SZhihuan He 26686251429SZhihuan He* SR PD idle 26786251429SZhihuan He 26886251429SZhihuan Hesr_idle: auto self-refresh mode delay time. 26986251429SZhihuan Hepd_idle: auto power-down mode delay time. 27086251429SZhihuan He 27186251429SZhihuan He* DDR 2T 27286251429SZhihuan He 27386251429SZhihuan Heddr_2t: ddr 2T timing mode. 1: enable ddr 2T, 0: disable ddr 2T. 27486251429SZhihuan He 27586251429SZhihuan He* PLL ssmod 27686251429SZhihuan He 2773e8d76b8SZhihuan HeThese parameters are about Spread Spectrum Modulator(ssmod) for PLL. 278*bac3cde4SZhihuan Hessmod_downspread: ssmod work mode. 279*bac3cde4SZhihuan He2'b00: center spread. (Suggest to use center spread for better clock jitter) 280*bac3cde4SZhihuan He2'b01: down spread. 281*bac3cde4SZhihuan He2'b10: up spread.(Please refer to the datasheet for support information) 282*bac3cde4SZhihuan He2'b11: reserved 283*bac3cde4SZhihuan He 284*bac3cde4SZhihuan Hessmod_div: Divider required to set the modulation frequency. 285*bac3cde4SZhihuan He RK3308 suggests to ssmod_div=2, others platforms suggest to ssmod_div=5. 2863e8d76b8SZhihuan Hessmod_spread: spread amplitude % = 0.1 * ssmod_spread; 0: disable ssmod, others will enable ssmod, max to 0x1f. 287*bac3cde4SZhihuan He The larger the ssmod_spread value, the smaller of EMI, the worse of clk jitter. 288*bac3cde4SZhihuan He Suggest to use ssmod_spread = 5, which means the center spread is +/-0.5%. 289*bac3cde4SZhihuan HePlease refer to "Rockchip_Developer_Guide_Pll_Ssmod_Clock_CN" for more information. 29086251429SZhihuan He 29186251429SZhihuan He* driver strength 29286251429SZhihuan He 29386251429SZhihuan Hephy_ddr*_dq_drv_when_odten_ohm: The PHY DQ/DQS driver strength(write direction) when DRAM odt on. unit: ohm. 29486251429SZhihuan Hephy_ddr*_ca_drv_when_odten_ohm: The PHY CMD/ADDR driver strength when DRAM odt on. unit: ohm. 29586251429SZhihuan Hephy_ddr*_clk_drv_when_odten_ohm: The PHY clock driver strength when DRAM odt on. unit: ohm. 29686251429SZhihuan Heddr*_dq_drv_when_odten_ohm: The DRAM DQ/DQS driver strength(read direction) when PHY odt on. unit: ohm. 29786251429SZhihuan Hephy_ddr*_dq_drv_when_odtoff_ohm: The PHY DQ/DQS driver strength(write direction) when DRAM odt off. unit: ohm. 29886251429SZhihuan Hephy_ddr*_ca_drv_when_odtoff_ohm: The PHY CMD/ADDR driver strength when DRAM odt off. unit: ohm. 29986251429SZhihuan Hephy_ddr*_clk_drv_when_odtoff_ohm: The PHY clock driver strength when DRAM odt off. unit: ohm. 30086251429SZhihuan Heddr*_dq_drv_when_odtoff_ohm: The DRAM DQ/DQS driver strength(read direction) when PHY odt off. unit: ohm. 30186251429SZhihuan He 30286251429SZhihuan HeThe phy side driver strength support value as follows: 303612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 304612e733eSZhihuan He| platform | DDR3 | DDR4 | LP3 | LP4 | LP4X pull up | LP4X pull down | LP5 | 305612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 306612e733eSZhihuan He| | 455,230,153,115, | 482,244,162,122, | | 501,253,168,126,| | | | 307612e733eSZhihuan He| | 91,76,65,57,51,46,| 97,81,69,61,54,48,| | 101,84,72,63,56,| | | | 308612e733eSZhihuan 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 | 309612e733eSZhihuan He| | 27,25,24,23,22,21,| 28,27,25,24,23,22,| | 33,31,29,28,26, | | | | 310612e733eSZhihuan He| | 20 | 21 | | 25,24,23,22 | | | | 311612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 312612e733eSZhihuan He| | 500,250,167,125, | 556,279,185,139, | | 576,289,192,144,| 646,323,215, | 513,259,172, | | 313612e733eSZhihuan He| | 100,83,71,63,56, | 111,93,79,69,62, | | 115,96,82,72,64,| 162,129,108,92,| 130,104,86,74, | | 314612e733eSZhihuan 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 | 315612e733eSZhihuan 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,| | 316612e733eSZhihuan He| | 23,22 | 25,24 | | 28,27,26,25 | 36,34,32,31,29,| 29,27,26,25,24,| | 317612e733eSZhihuan He| | | | | | 28 | 23 | | 318612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 319612e733eSZhihuan He| RK3588 | X | X | X | 240,120,80,60, | follow LP4 | follow LP4 | follow LP4 | 320612e733eSZhihuan He| | | | | 48,40,34,30 | | | | 321612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 322f90d99fcSZhihuan He| | 572,289,195,145, | 595,300,202,151, | | 654,328,221,165,| 585,297,202, | 585,297,202, | | 323f90d99fcSZhihuan He| | 117,99,85,73,66, | 122,102,89,76,68, | |133,112,97,83,74,| 150,122,103,90,| 150,122,103,90,| | 324f90d99fcSZhihuan 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 | 325f90d99fcSZhihuan 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,| | 326f90d99fcSZhihuan He| | 29,28 | 30,29 | | 35,33,32,31 | 37,35,33,32,31,| 37,35,33,32,31,| | 327f90d99fcSZhihuan He| | | | | | 30 | 30 | | 328f90d99fcSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------+----------------+----------------+-------------+ 32986251429SZhihuan He 33086251429SZhihuan HeThe DRAM side driver strength support value as follows: 331612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+ 332612e733eSZhihuan He| platform | DDR3 | DDR4 | LP3 | LP4 | LP4X | LP5 | 333612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+ 334612e733eSZhihuan He| all | 40,34 | 34,48 | 34,40,48,60,80 | 40,48,60,80,120,240 | follow LP4 | follow LP4 | 335612e733eSZhihuan He+---------------+-------------------+-------------------+----------------+----------------------+----------------+-------------+ 33686251429SZhihuan He 33786251429SZhihuan He* ODT 33886251429SZhihuan Hephy_ddr*_odt_ohm: The PHY ODT strength(read direction). unit: ohm. 33986251429SZhihuan Heddr*_odt_ohm: The DRAM ODT strength(write direction). unit: ohm. 34086251429SZhihuan Hephy_ddr*_odt_pull_up_en: 1: enable PHY pull up odt. 0: disable 34186251429SZhihuan Hephy_ddr*_odt_pull_dn_en: 1: enable PHY pull down odt. 0: disable 34286251429SZhihuan Hephy_ddr*_odten_freq_mhz: The PHY odt enable when larger than this frequency. unit: MHz. 34386251429SZhihuan Heddr*_odten_freq_mhz: The DRAM odt(DQ/DQS) enable when larger than this frequency. unit: MHz. 34486251429SZhihuan He 34586251429SZhihuan HeThe phy side ODT support value as follows: 34686251429SZhihuan HeThe ODT "0" means disabled ODT. 347612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 348612e733eSZhihuan He| platform | DDR3 | DDR4 | LP3 | LP4 | LP4X pull up | LP4X pull down | LP5 | 349612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 350612e733eSZhihuan He| | 0,561,282,188,141,| 0,586,294,196,148, | | 0,604,303,202,152,| | | | 351612e733eSZhihuan He| | 113,94,81,72,64, | 118,99,58,76,67,60,| | 122,101,87,78,69, | | | | 352612e733eSZhihuan 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 | 353612e733eSZhihuan He| | 38,37,34,32,31,29,| 36,34,32,31,29,28, | | 39,37,35,33,32,30,| | | | 354612e733eSZhihuan He| | 28,27,25 | 27 | | 29,27 | | | | 355612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 356612e733eSZhihuan He| | 0,500,250,167,125,| 0,556,279,185,139, | | 0,576,289,192,144,| 0,646,323,215, | 0,513,259,172, | | 357612e733eSZhihuan He| | 100,83,71,63,56, | 111,93,79,69,62, | | 115,96,82,72,64, | 162,129,108,92,| 130,104,86,74, | | 358612e733eSZhihuan 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 | 359612e733eSZhihuan 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,| | 360612e733eSZhihuan He| | 23,22 | 25,24 | | 28,27,26,25 | 36,34,32,31,29,| 29,27,26,25,24,| | 361612e733eSZhihuan He| | | | | | 28 | 23 | | 362612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 363612e733eSZhihuan He| RK3588 | X | X | X | 0,240,120,80, | follow LP4 | follow LP4 | follow LP4 | 364612e733eSZhihuan He| | | | | 60,48,40,34,30 | | | | 365612e733eSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 366f90d99fcSZhihuan He| | 572,289,195,145, | 595,300,202,151, | | 654,328,221,165, | 585,297,202, | 585,297,202, | | 367f90d99fcSZhihuan He| | 117,99,85,73,66, | 122,102,89,76,68, | |133,112,97,83,74, | 150,122,103,90,| 150,122,103,90,| | 368f90d99fcSZhihuan 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 | 369f90d99fcSZhihuan 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,| | 370f90d99fcSZhihuan He| | 29,28 | 30,29 | | 35,33,32,31 | 37,35,33,32,31,| 37,35,33,32,31,| | 371f90d99fcSZhihuan He| | | | | | 30 | 30 | | 372f90d99fcSZhihuan He+---------------+-------------------+--------------------+--------------+-------------------+----------------+----------------+-------------+ 37386251429SZhihuan HeThe DRAM side ODT support value as follows: 374612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+ 375612e733eSZhihuan He| platform | DDR3 | DDR4 | LP3 | LP4(include DQ and CA)| LP4X | LP5 | 376612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+ 377612e733eSZhihuan 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 | 378612e733eSZhihuan He+---------------+-------------------+-------------------+--------------+-----------------------+----------------+---------------+ 37986251429SZhihuan He 38086251429SZhihuan He* slew rate 38186251429SZhihuan He 38286251429SZhihuan Hephy_ddr*_dq_sr_when_odten: The PHY DQ/DQS slew rate when odt on. 38386251429SZhihuan Hephy_ddr*_ca_sr_when_odten: The PHY CMD/ADDR slew rate when odt on. 38486251429SZhihuan Hephy_ddr*_clk_sr_when_odten: The PHY clock slew rate when odt on. 38586251429SZhihuan Hephy_ddr*_dq_sr_when_odtoff: The PHY DQ/DQS slew rate when odt off. 38686251429SZhihuan Hephy_ddr*_ca_sr_when_odtoff: The PHY CMD/ADDR slew rate when odt off. 38786251429SZhihuan Hephy_ddr*_clk_sr_when_odtoff: The PHY clock slew rate when odt off. 38886251429SZhihuan He 389612e733eSZhihuan HeThe max value is 0x1f, the min is 0x0. 390612e733eSZhihuan He 39186251429SZhihuan He* byte map 39286251429SZhihuan He 393612e733eSZhihuan Heddr*_bytes_map: The bytes remap in PHY. 39486251429SZhihuan He 39586251429SZhihuan He* dq remap 39686251429SZhihuan He 397612e733eSZhihuan Help*_dq*_*_map: The dq remap in PHY. 398612e733eSZhihuan Heddr*_cs*_dq*_dq*_map: The dq remap in PHY. 39986251429SZhihuan He 40086251429SZhihuan He* lp4/lp4x more information 40186251429SZhihuan He 40286251429SZhihuan Help4*_ca_odten_freq_mhz: The DRAM CMD/ADDR odt enable when larger than this frequency. unit: MHz. 40386251429SZhihuan Hephy_lp4*_dq_vref_when_odten: The PHY VrefDQ when PHY odt on. uint: parts per thousand. 40486251429SZhihuan Help4*_dq_vref_when_odten: The DRAM VrefDQ when DRAM DQ/DQS odt on. uint: parts per thousand. 40586251429SZhihuan Help4*_ca_vref_when_odten: The DRAM VrefCA when DRAM CA odt on. uint: parts per thousand. 40686251429SZhihuan Hephy_lp4_dq_vref_when_odtoff: The PHY VrefDQ when PHY odt off. uint: parts per thousand. 40786251429SZhihuan Help4_dq_vref_when_odtoff: The DRAM VrefDQ when DRAM DQ/DQS odt off. uint: parts per thousand. 40886251429SZhihuan Help4_ca_vref_when_odtoff: The DRAM VrefCA when DRAM CA odt off. uint: parts per thousand. 4098edfcbeaSZhihuan He 4108edfcbeaSZhihuan He* hash info 4118edfcbeaSZhihuan Hech/bank/rank_mask*: is used to DDR address hash mask. 412*bac3cde4SZhihuan He 413*bac3cde4SZhihuan He* modify skew info 414*bac3cde4SZhihuan He 415*bac3cde4SZhihuan Heddr*_skew_freq_mhz: Used to specify the frequency of skew. 416*bac3cde4SZhihuan He 417*bac3cde4SZhihuan Heddr*_skew: The skew value of dram type are need to modify. If need to modify skew, you must check with the hardware engineer. 418*bac3cde4SZhihuan He 419*bac3cde4SZhihuan HeThe support platform: 420*bac3cde4SZhihuan He|---------------------------|--------------------|--------------------------------------------| 421*bac3cde4SZhihuan He| platform | ddrbin version | calculate one step delay(ps) | 422*bac3cde4SZhihuan He| RK3528 | V1.06 | 1000000 / ddr*_skew_freq_mhz / 128 | 423*bac3cde4SZhihuan He|---------------------------|--------------------|--------------------------------------------| 424*bac3cde4SZhihuan He 425*bac3cde4SZhihuan HeFor RK3528, the skew one step is 7.398ps when ddr*_skew_freq_mhz is 1056. 426*bac3cde4SZhihuan He 427*bac3cde4SZhihuan 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. 428