1 * Rockchip rk3399 DMC (Dynamic Memory Controller) device
4 - compatible: Must be "rockchip,rk3399-dmc".
5 - devfreq-events: Node to get DDR loading, Refer to
6 Documentation/devicetree/bindings/devfreq/event/
8 - clocks: Phandles for clock specified in "clock-names" property
9 - clock-names : The name of clock used by the DFI, must be
11 - operating-points-v2: Refer to Documentation/devicetree/bindings/opp/opp.txt
13 - center-supply: DMC supply node.
14 - status: Marks the node enabled/disabled.
17 - interrupts: The CPU interrupt number. The interrupt specifier
18 format depends on the interrupt controller.
19 It should be a DCF interrupt. When DDR DVFS finishes
20 a DCF interrupt is triggered.
22 Following properties relate to DDR timing:
24 - rockchip,dram_speed_bin : Value reference include/dt-bindings/clock/rk3399-ddr.h,
25 it selects the DDR3 cl-trp-trcd type. It must be
26 set according to "Speed Bin" in DDR3 datasheet,
27 DO NOT use a smaller "Speed Bin" than specified
28 for the DDR3 being used.
30 - rockchip,pd_idle : Configure the PD_IDLE value. Defines the
31 power-down idle period in which memories are
32 placed into power-down mode if bus is idle
33 for PD_IDLE DFI clock cycles.
35 - rockchip,sr_idle : Configure the SR_IDLE value. Defines the
36 self-refresh idle period in which memories are
37 placed into self-refresh mode if bus is idle
38 for SR_IDLE * 1024 DFI clock cycles (DFI
39 clocks freq is half of DRAM clock), default
42 - rockchip,sr_mc_gate_idle : Defines the memory self-refresh and controller
43 clock gating idle period. Memories are placed
44 into self-refresh mode and memory controller
45 clock arg gating started if bus is idle for
46 sr_mc_gate_idle*1024 DFI clock cycles.
48 - rockchip,srpd_lite_idle : Defines the self-refresh power down idle
49 period in which memories are placed into
50 self-refresh power down mode if bus is idle
51 for srpd_lite_idle * 1024 DFI clock cycles.
52 This parameter is for LPDDR4 only.
54 - rockchip,standby_idle : Defines the standby idle period in which
55 memories are placed into self-refresh mode.
56 The controller, pi, PHY and DRAM clock will
57 be gated if bus is idle for standby_idle * DFI
60 - rockchip,dram_dll_dis_freq : Defines the DDR3 DLL bypass frequency in MHz.
61 When DDR frequency is less than DRAM_DLL_DISB_FREQ,
62 DDR3 DLL will be bypassed. Note: if DLL was bypassed,
63 the odt will also stop working.
65 - rockchip,phy_dll_dis_freq : Defines the PHY dll bypass frequency in
66 MHz (Mega Hz). When DDR frequency is less than
67 DRAM_DLL_DISB_FREQ, PHY DLL will be bypassed.
68 Note: PHY DLL and PHY ODT are independent.
70 - rockchip,ddr3_odt_dis_freq : When the DRAM type is DDR3, this parameter defines
71 the ODT disable frequency in MHz (Mega Hz).
72 when the DDR frequency is less then ddr3_odt_dis_freq,
73 the ODT on the DRAM side and controller side are
76 - rockchip,ddr3_drv : When the DRAM type is DDR3, this parameter defines
77 the DRAM side driver strength in ohms. Default
78 value is DDR3_DS_40ohm.
80 - rockchip,ddr3_odt : When the DRAM type is DDR3, this parameter defines
81 the DRAM side ODT strength in ohms. Default value
84 - rockchip,phy_ddr3_ca_drv : When the DRAM type is DDR3, this parameter defines
85 the phy side CA line (incluing command line,
86 address line and clock line) driver strength.
87 Default value is PHY_DRV_ODT_40.
89 - rockchip,phy_ddr3_dq_drv : When the DRAM type is DDR3, this parameter defines
90 the PHY side DQ line (including DQS/DQ/DM line)
91 driver strength. Default value is PHY_DRV_ODT_40.
93 - rockchip,phy_ddr3_odt : When the DRAM type is DDR3, this parameter defines
94 the PHY side ODT strength. Default value is
97 - rockchip,lpddr3_odt_dis_freq : When the DRAM type is LPDDR3, this parameter defines
98 then ODT disable frequency in MHz (Mega Hz).
99 When DDR frequency is less then ddr3_odt_dis_freq,
100 the ODT on the DRAM side and controller side are
103 - rockchip,lpddr3_drv : When the DRAM type is LPDDR3, this parameter defines
104 the DRAM side driver strength in ohms. Default
105 value is LP3_DS_34ohm.
107 - rockchip,lpddr3_odt : When the DRAM type is LPDDR3, this parameter defines
108 the DRAM side ODT strength in ohms. Default value
111 - rockchip,phy_lpddr3_ca_drv : When the DRAM type is LPDDR3, this parameter defines
112 the PHY side CA line (including command line,
113 address line and clock line) driver strength.
114 Default value is PHY_DRV_ODT_40.
116 - rockchip,phy_lpddr3_dq_drv : When the DRAM type is LPDDR3, this parameter defines
117 the PHY side DQ line (including DQS/DQ/DM line)
118 driver strength. Default value is
121 - rockchip,phy_lpddr3_odt : When dram type is LPDDR3, this parameter define
122 the phy side odt strength, default value is
125 - rockchip,lpddr4_odt_dis_freq : When the DRAM type is LPDDR4, this parameter
126 defines the ODT disable frequency in
127 MHz (Mega Hz). When the DDR frequency is less then
128 ddr3_odt_dis_freq, the ODT on the DRAM side and
129 controller side are both disabled.
131 - rockchip,lpddr4_drv : When the DRAM type is LPDDR4, this parameter defines
132 the DRAM side driver strength in ohms. Default
133 value is LP4_PDDS_60ohm.
135 - rockchip,lpddr4_dq_odt : When the DRAM type is LPDDR4, this parameter defines
136 the DRAM side ODT on DQS/DQ line strength in ohms.
137 Default value is LP4_DQ_ODT_40ohm.
139 - rockchip,lpddr4_ca_odt : When the DRAM type is LPDDR4, this parameter defines
140 the DRAM side ODT on CA line strength in ohms.
141 Default value is LP4_CA_ODT_40ohm.
143 - rockchip,phy_lpddr4_ca_drv : When the DRAM type is LPDDR4, this parameter defines
144 the PHY side CA line (including command address
145 line) driver strength. Default value is
148 - rockchip,phy_lpddr4_ck_cs_drv : When the DRAM type is LPDDR4, this parameter defines
149 the PHY side clock line and CS line driver
150 strength. Default value is PHY_DRV_ODT_80.
152 - rockchip,phy_lpddr4_dq_drv : When the DRAM type is LPDDR4, this parameter defines
153 the PHY side DQ line (including DQS/DQ/DM line)
154 driver strength. Default value is PHY_DRV_ODT_80.
156 - rockchip,phy_lpddr4_odt : When the DRAM type is LPDDR4, this parameter defines
157 the PHY side ODT strength. Default value is
161 dmc_opp_table: dmc_opp_table {
162 compatible = "operating-points-v2";
165 opp-hz = /bits/ 64 <300000000>;
166 opp-microvolt = <900000>;
169 opp-hz = /bits/ 64 <666000000>;
170 opp-microvolt = <900000>;
175 compatible = "rockchip,rk3399-dmc";
176 devfreq-events = <&dfi>;
177 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
178 clocks = <&cru SCLK_DDRCLK>;
179 clock-names = "dmc_clk";
180 operating-points-v2 = <&dmc_opp_table>;
181 center-supply = <&ppvar_centerlogic>;
183 downdifferential = <10>;
184 rockchip,ddr3_speed_bin = <21>;
185 rockchip,pd_idle = <0x40>;
186 rockchip,sr_idle = <0x2>;
187 rockchip,sr_mc_gate_idle = <0x3>;
188 rockchip,srpd_lite_idle = <0x4>;
189 rockchip,standby_idle = <0x2000>;
190 rockchip,dram_dll_dis_freq = <300>;
191 rockchip,phy_dll_dis_freq = <125>;
192 rockchip,auto_pd_dis_freq = <666>;
193 rockchip,ddr3_odt_dis_freq = <333>;
194 rockchip,ddr3_drv = <DDR3_DS_40ohm>;
195 rockchip,ddr3_odt = <DDR3_ODT_120ohm>;
196 rockchip,phy_ddr3_ca_drv = <PHY_DRV_ODT_40>;
197 rockchip,phy_ddr3_dq_drv = <PHY_DRV_ODT_40>;
198 rockchip,phy_ddr3_odt = <PHY_DRV_ODT_240>;
199 rockchip,lpddr3_odt_dis_freq = <333>;
200 rockchip,lpddr3_drv = <LP3_DS_34ohm>;
201 rockchip,lpddr3_odt = <LP3_ODT_240ohm>;
202 rockchip,phy_lpddr3_ca_drv = <PHY_DRV_ODT_40>;
203 rockchip,phy_lpddr3_dq_drv = <PHY_DRV_ODT_40>;
204 rockchip,phy_lpddr3_odt = <PHY_DRV_ODT_240>;
205 rockchip,lpddr4_odt_dis_freq = <333>;
206 rockchip,lpddr4_drv = <LP4_PDDS_60ohm>;
207 rockchip,lpddr4_dq_odt = <LP4_DQ_ODT_40ohm>;
208 rockchip,lpddr4_ca_odt = <LP4_CA_ODT_40ohm>;
209 rockchip,phy_lpddr4_ca_drv = <PHY_DRV_ODT_40>;
210 rockchip,phy_lpddr4_ck_cs_drv = <PHY_DRV_ODT_80>;
211 rockchip,phy_lpddr4_dq_drv = <PHY_DRV_ODT_80>;
212 rockchip,phy_lpddr4_odt = <PHY_DRV_ODT_60>;