xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/dram/rk3399_dram_timing.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* rk3399 dram default timing is at arch/arm64/boot/dts/rk3399_dram_default_timing.dtsi
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible : Should be "rockchip,ddr-timing"
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun- ddr3_speed_bin : Value is defined at include/dt-bindings/clock/ddr.h.
7*4882a593Smuzhiyun  It select DDR3 cl-trp-trcd type, default value "DDR3_DEFAULT".it must selected
8*4882a593Smuzhiyun  according to "Speed Bin" in DDR3 datasheet, DO NOT use smaller "Speed Bin" than
9*4882a593Smuzhiyun  DDR3 exactly is.
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun- pd_idle : Defines the power-down mode auto entry controller clocks.
12*4882a593Smuzhiyun  This parameter defines the number of idle controller clocks that can elapse
13*4882a593Smuzhiyun  before the controller will automatically issue an entry into the appropriate
14*4882a593Smuzhiyun  power-down low power state.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun- sr_idle : Defines the Self-Refresh or Self-Refresh with Memory Clock Gating
17*4882a593Smuzhiyun  auto entry periodic cycles.
18*4882a593Smuzhiyun  This parameter defines the number of long count sequences that can elapse
19*4882a593Smuzhiyun  before the controller will automatically issue an entry into the Self-Refresh
20*4882a593Smuzhiyun  or Self-Refresh with Memory Clock Gating low power state.
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun- sr_mc_gate_idle : Defined the Self-Refresh with Memory and Controller Clock Gating
23*4882a593Smuzhiyun  auto entry periodic cycles.
24*4882a593Smuzhiyun  This parameter defines the number of long count sequences that can elapse before
25*4882a593Smuzhiyun  the controller will automatically issue an entry into the Self-Refresh with
26*4882a593Smuzhiyun  Memory and Controller Clock Gating low power state.
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun- srpd_lite_idle : Define the Lite Self-Refresh Power-Down auto entry periodic
29*4882a593Smuzhiyun  cycles.
30*4882a593Smuzhiyun  This parameter defines the number of long count sequences that can elapse
31*4882a593Smuzhiyun  before the controller will automatically issue an entry into the
32*4882a593Smuzhiyun  Lite Self-Refresh Power-Down low power state.
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun- standby_idle : Define the standby mode auto entry periodic cycles.
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun- auto_lp_dis_freq : It's defined the auto low down mode frequency in MHz (Mega Hz),
37*4882a593Smuzhiyun  when ddr freq greater than or equal this setting value, auto power-down will disable.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun- ddr3_dll_dis_freq : It's defined the DDR3 dll bypass frequency in MHz (Mega Hz),
40*4882a593Smuzhiyun  when ddr freq less than or equal this setting value, DDR3 dll will bypssed.
41*4882a593Smuzhiyun  note: if dll was bypassed, the odt also stop working.
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun- phy_dll_dis_freq : Defined the PHY dll bypass frequency in MHz (Mega Hz),
44*4882a593Smuzhiyun  when ddr freq less than or equal this setting value, phy dll will bypssed.
45*4882a593Smuzhiyun  note: phy dll and phy odt are independent.
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun- ddr3_odt_dis_freq : Defined the DDR3 odt disable frequency in
48*4882a593Smuzhiyun  MHz (Mega Hz), when ddr frequency less then or equal ethis setting value, the DDR3
49*4882a593Smuzhiyun  ODT are disabled.
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun- ddr3_drv : Define the driver strength in ohm when connect DDR3.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun- ddr3_odt : Define the ODT in ohm when connect DDR3.
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun- phy_ddr3_ca_drv : Define the PHY CA driver strength in ohm when connect DDR3.
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun- phy_ddr3_dq_drv : Define the PHY DQ driver strength in ohm when connect DDR3.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun- phy_ddr3_odt : Define the phy odt in ohm when connect DDR3.
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun- lpddr3_odt_dis_freq : Defined the LPDDR3 odt disable frequency in
62*4882a593Smuzhiyun  MHz (Mega Hz), when ddr frequency less or equal then this setting value, the LPDDR3
63*4882a593Smuzhiyun  ODT are disabled.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun- lpddr3_drv : Define the driver strength in ohm when connect LPDDR3.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun- lpddr3_odt : Define the ODT in ohm when connect LPDDR3.
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun- phy_lpddr3_ca_drv : Define the PHY CA driver strength in ohm when connect LPDDR3.
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun- phy_lpddr3_dq_drv : Define the PHY DQ driver strength in ohm when connect LPDDR3.
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun- phy_lpddr3_odt : Define the phy odt in ohm when connect LPDDR3.
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun- lpddr4_odt_dis_freq : Defined the LPDDR4 odt disable frequency in
76*4882a593Smuzhiyun  MHz (Mega Hz), when ddr frequency less or equal then this setting value, the LPDDR4
77*4882a593Smuzhiyun  ODT are disabled.
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun- lpddr4_drv : Define the driver strength in ohm when connect LPDDR4.
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun- lpddr4_dq_odt : Define the DQ ODT in ohm when connect LPDDR4.
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun- lpddr4_ca_odt : Define the CA ODT in ohm when connect LPDDR4.
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun- phy_lpddr4_ca_drv : Define the PHY CA driver strength in ohm when connect LPDDR4.
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun- phy_lpddr4_ck_cs_drv : Define the PHY CLK and CS driver strength in ohm when connect LPDDR4.
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun- phy_lpddr4_dq_drv : Define the PHY DQ driver strength in ohm when connect LPDDR4.
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun- phy_lpddr4_odt : Define the phy odt in ohm when connect LPDDR4.
92*4882a593Smuzhiyun
93*4882a593SmuzhiyunExample:
94*4882a593Smuzhiyun/ {
95*4882a593Smuzhiyun	ddr_timing: ddr_timing {
96*4882a593Smuzhiyun		compatible = "rockchip,ddr-timing";
97*4882a593Smuzhiyun		ddr3_speed_bin = <21>;
98*4882a593Smuzhiyun		pd_idle = <0>;
99*4882a593Smuzhiyun		sr_idle = <0>;
100*4882a593Smuzhiyun		sr_mc_gate_idle = <0>;
101*4882a593Smuzhiyun		srpd_lite_idle  = <0>;
102*4882a593Smuzhiyun		standby_idle = <0>;
103*4882a593Smuzhiyun		auto_lp_dis_freq = <666>;
104*4882a593Smuzhiyun		ddr3_dll_dis_freq = <300>;
105*4882a593Smuzhiyun		phy_dll_dis_freq = <260>;
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun		ddr3_odt_dis_freq = <666>;
108*4882a593Smuzhiyun		ddr3_drv = <DDR3_DS_40ohm>;
109*4882a593Smuzhiyun		ddr3_odt = <DDR3_ODT_120ohm>;
110*4882a593Smuzhiyun		phy_ddr3_ca_drv = <PHY_DRV_ODT_40>;
111*4882a593Smuzhiyun		phy_ddr3_dq_drv = <PHY_DRV_ODT_40>;
112*4882a593Smuzhiyun		phy_ddr3_odt = <PHY_DRV_ODT_240>;
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun		lpddr3_odt_dis_freq = <666>;
115*4882a593Smuzhiyun		lpddr3_drv = <LP3_DS_34ohm>;
116*4882a593Smuzhiyun		lpddr3_odt = <LP3_ODT_240ohm>;
117*4882a593Smuzhiyun		phy_lpddr3_ca_drv = <PHY_DRV_ODT_34_3>;
118*4882a593Smuzhiyun		phy_lpddr3_dq_drv = <PHY_DRV_ODT_34_3>;
119*4882a593Smuzhiyun		phy_lpddr3_odt = <PHY_DRV_ODT_240>;
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun		lpddr4_odt_dis_freq = <933>;
122*4882a593Smuzhiyun		lpddr4_drv = <LP4_PDDS_60ohm>;
123*4882a593Smuzhiyun		lpddr4_dq_odt = <LP4_DQ_ODT_40ohm>;
124*4882a593Smuzhiyun		lpddr4_ca_odt = <LP4_CA_ODT_40ohm>;
125*4882a593Smuzhiyun		phy_lpddr4_ca_drv = <PHY_DRV_ODT_40>;
126*4882a593Smuzhiyun		phy_lpddr4_ck_cs_drv = <PHY_DRV_ODT_80>;
127*4882a593Smuzhiyun		phy_lpddr4_dq_drv = <PHY_DRV_ODT_80>;
128*4882a593Smuzhiyun		phy_lpddr4_odt = <PHY_DRV_ODT_60>;
129*4882a593Smuzhiyun	};
130*4882a593Smuzhiyun};
131