io_uring: fix off-by-one in BUILD_BUG_ON check of __REQ_F_LAST_BIT
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / devfreq / rk3399_dmc.txt
1 * Rockchip rk3399 DMC (Dynamic Memory Controller) device
2
3 Required properties:
4 - compatible:            Must be "rockchip,rk3399-dmc".
5 - devfreq-events:        Node to get DDR loading, Refer to
6                          Documentation/devicetree/bindings/devfreq/event/
7                          rockchip-dfi.txt
8 - clocks:                Phandles for clock specified in "clock-names" property
9 - clock-names :          The name of clock used by the DFI, must be
10                          "pclk_ddr_mon";
11 - operating-points-v2:   Refer to Documentation/devicetree/bindings/opp/opp.txt
12                          for details.
13 - center-supply:         DMC supply node.
14 - status:                Marks the node enabled/disabled.
15 - rockchip,pmu:          Phandle to the syscon managing the "PMU general register
16                          files".
17
18 Optional properties:
19 - interrupts:            The CPU interrupt number. The interrupt specifier
20                          format depends on the interrupt controller.
21                          It should be a DCF interrupt. When DDR DVFS finishes
22                          a DCF interrupt is triggered.
23 - rockchip,pmu:          Phandle to the syscon managing the "PMU general register
24                          files".
25
26 Following properties relate to DDR timing:
27
28 - rockchip,dram_speed_bin :       Value reference include/dt-bindings/clock/rk3399-ddr.h,
29                                   it selects the DDR3 cl-trp-trcd type. It must be
30                                   set according to "Speed Bin" in DDR3 datasheet,
31                                   DO NOT use a smaller "Speed Bin" than specified
32                                   for the DDR3 being used.
33
34 - rockchip,pd_idle :              Configure the PD_IDLE value. Defines the
35                                   power-down idle period in which memories are
36                                   placed into power-down mode if bus is idle
37                                   for PD_IDLE DFI clock cycles.
38
39 - rockchip,sr_idle :              Configure the SR_IDLE value. Defines the
40                                   self-refresh idle period in which memories are
41                                   placed into self-refresh mode if bus is idle
42                                   for SR_IDLE * 1024 DFI clock cycles (DFI
43                                   clocks freq is half of DRAM clock), default
44                                   value is "0".
45
46 - rockchip,sr_mc_gate_idle :      Defines the memory self-refresh and controller
47                                   clock gating idle period. Memories are placed
48                                   into self-refresh mode and memory controller
49                                   clock arg gating started if bus is idle for
50                                   sr_mc_gate_idle*1024 DFI clock cycles.
51
52 - rockchip,srpd_lite_idle :       Defines the self-refresh power down idle
53                                   period in which memories are placed into
54                                   self-refresh power down mode if bus is idle
55                                   for srpd_lite_idle * 1024 DFI clock cycles.
56                                   This parameter is for LPDDR4 only.
57
58 - rockchip,standby_idle :         Defines the standby idle period in which
59                                   memories are placed into self-refresh mode.
60                                   The controller, pi, PHY and DRAM clock will
61                                   be gated if bus is idle for standby_idle * DFI
62                                   clock cycles.
63
64 - rockchip,dram_dll_dis_freq :    Defines the DDR3 DLL bypass frequency in MHz.
65                                   When DDR frequency is less than DRAM_DLL_DISB_FREQ,
66                                   DDR3 DLL will be bypassed. Note: if DLL was bypassed,
67                                   the odt will also stop working.
68
69 - rockchip,phy_dll_dis_freq :     Defines the PHY dll bypass frequency in
70                                   MHz (Mega Hz). When DDR frequency is less than
71                                   DRAM_DLL_DISB_FREQ, PHY DLL will be bypassed.
72                                   Note: PHY DLL and PHY ODT are independent.
73
74 - rockchip,ddr3_odt_dis_freq :    When the DRAM type is DDR3, this parameter defines
75                                   the ODT disable frequency in MHz (Mega Hz).
76                                   when the DDR frequency is  less then ddr3_odt_dis_freq,
77                                   the ODT on the DRAM side and controller side are
78                                   both disabled.
79
80 - rockchip,ddr3_drv :             When the DRAM type is DDR3, this parameter defines
81                                   the DRAM side driver strength in ohms. Default
82                                   value is 40.
83
84 - rockchip,ddr3_odt :             When the DRAM type is DDR3, this parameter defines
85                                   the DRAM side ODT strength in ohms. Default value
86                                   is 120.
87
88 - rockchip,phy_ddr3_ca_drv :      When the DRAM type is DDR3, this parameter defines
89                                   the phy side CA line (incluing command line,
90                                   address line and clock line) driver strength.
91                                   Default value is 40.
92
93 - rockchip,phy_ddr3_dq_drv :      When the DRAM type is DDR3, this parameter defines
94                                   the PHY side DQ line (including DQS/DQ/DM line)
95                                   driver strength. Default value is 40.
96
97 - rockchip,phy_ddr3_odt :         When the DRAM type is DDR3, this parameter defines
98                                   the PHY side ODT strength. Default value is 240.
99
100 - rockchip,lpddr3_odt_dis_freq : When the DRAM type is LPDDR3, this parameter defines
101                                   then ODT disable frequency in MHz (Mega Hz).
102                                   When DDR frequency is less then ddr3_odt_dis_freq,
103                                   the ODT on the DRAM side and controller side are
104                                   both disabled.
105
106 - rockchip,lpddr3_drv :           When the DRAM type is LPDDR3, this parameter defines
107                                   the DRAM side driver strength in ohms. Default
108                                   value is 34.
109
110 - rockchip,lpddr3_odt :           When the DRAM type is LPDDR3, this parameter defines
111                                   the DRAM side ODT strength in ohms. Default value
112                                   is 240.
113
114 - rockchip,phy_lpddr3_ca_drv :    When the DRAM type is LPDDR3, this parameter defines
115                                   the PHY side CA line (including command line,
116                                   address line and clock line) driver strength.
117                                   Default value is 40.
118
119 - rockchip,phy_lpddr3_dq_drv :    When the DRAM type is LPDDR3, this parameter defines
120                                   the PHY side DQ line (including DQS/DQ/DM line)
121                                   driver strength. Default value is 40.
122
123 - rockchip,phy_lpddr3_odt :       When dram type is LPDDR3, this parameter define
124                                   the phy side odt strength, default value is 240.
125
126 - rockchip,lpddr4_odt_dis_freq : When the DRAM type is LPDDR4, this parameter
127                                   defines the ODT disable frequency in
128                                   MHz (Mega Hz). When the DDR frequency is less then
129                                   ddr3_odt_dis_freq, the ODT on the DRAM side and
130                                   controller side are both disabled.
131
132 - rockchip,lpddr4_drv :           When the DRAM type is LPDDR4, this parameter defines
133                                   the DRAM side driver strength in ohms. Default
134                                   value is 60.
135
136 - rockchip,lpddr4_dq_odt :        When the DRAM type is LPDDR4, this parameter defines
137                                   the DRAM side ODT on DQS/DQ line strength in ohms.
138                                   Default value is 40.
139
140 - rockchip,lpddr4_ca_odt :        When the DRAM type is LPDDR4, this parameter defines
141                                   the DRAM side ODT on CA line strength in ohms.
142                                   Default value is 40.
143
144 - rockchip,phy_lpddr4_ca_drv :    When the DRAM type is LPDDR4, this parameter defines
145                                   the PHY side CA line (including command address
146                                   line) driver strength. Default value is 40.
147
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 80.
151
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 80.
155
156 - rockchip,phy_lpddr4_odt :       When the DRAM type is LPDDR4, this parameter defines
157                                   the PHY side ODT strength. Default value is 60.
158
159 Example:
160         dmc_opp_table: dmc_opp_table {
161                 compatible = "operating-points-v2";
162
163                 opp00 {
164                         opp-hz = /bits/ 64 <300000000>;
165                         opp-microvolt = <900000>;
166                 };
167                 opp01 {
168                         opp-hz = /bits/ 64 <666000000>;
169                         opp-microvolt = <900000>;
170                 };
171         };
172
173         dmc: dmc {
174                 compatible = "rockchip,rk3399-dmc";
175                 devfreq-events = <&dfi>;
176                 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
177                 clocks = <&cru SCLK_DDRCLK>;
178                 clock-names = "dmc_clk";
179                 operating-points-v2 = <&dmc_opp_table>;
180                 center-supply = <&ppvar_centerlogic>;
181                 upthreshold = <15>;
182                 downdifferential = <10>;
183                 rockchip,ddr3_speed_bin = <21>;
184                 rockchip,pd_idle = <0x40>;
185                 rockchip,sr_idle = <0x2>;
186                 rockchip,sr_mc_gate_idle = <0x3>;
187                 rockchip,srpd_lite_idle = <0x4>;
188                 rockchip,standby_idle = <0x2000>;
189                 rockchip,dram_dll_dis_freq = <300>;
190                 rockchip,phy_dll_dis_freq = <125>;
191                 rockchip,auto_pd_dis_freq = <666>;
192                 rockchip,ddr3_odt_dis_freq = <333>;
193                 rockchip,ddr3_drv = <40>;
194                 rockchip,ddr3_odt = <120>;
195                 rockchip,phy_ddr3_ca_drv = <40>;
196                 rockchip,phy_ddr3_dq_drv = <40>;
197                 rockchip,phy_ddr3_odt = <240>;
198                 rockchip,lpddr3_odt_dis_freq = <333>;
199                 rockchip,lpddr3_drv = <34>;
200                 rockchip,lpddr3_odt = <240>;
201                 rockchip,phy_lpddr3_ca_drv = <40>;
202                 rockchip,phy_lpddr3_dq_drv = <40>;
203                 rockchip,phy_lpddr3_odt = <240>;
204                 rockchip,lpddr4_odt_dis_freq = <333>;
205                 rockchip,lpddr4_drv = <60>;
206                 rockchip,lpddr4_dq_odt = <40>;
207                 rockchip,lpddr4_ca_odt = <40>;
208                 rockchip,phy_lpddr4_ca_drv = <40>;
209                 rockchip,phy_lpddr4_ck_cs_drv = <80>;
210                 rockchip,phy_lpddr4_dq_drv = <80>;
211                 rockchip,phy_lpddr4_odt = <60>;
212         };