blob: ff61a7e8a44829f4e778fbf4a048449f14e5309e [file] [log] [blame]
Jonathan Zhang15fc4592023-01-25 11:33:16 -08001/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3#include <soc/ddr.h>
4
5unsigned int get_ddr_millivolt(unsigned int ddr_voltage)
6{
7 switch (ddr_voltage) {
8 case SPD_VDD_DDR4:
9 return 1200;
10 case SPD_VDD_DDR5:
11 return 1100;
12 default:
13 return 0;
14 }
15}
16
17unsigned int get_max_memory_speed(unsigned int commonTck)
18{
19 if (commonTck <= DDR_8400_TCK_MIN)
20 return 8400;
21 else if (commonTck <= DDR_7600_TCK_MIN)
22 return 7600;
23 else if (commonTck <= DDR_7200_TCK_MIN)
24 return 7200;
25 else if (commonTck <= DDR_6800_TCK_MIN)
26 return 6800;
27 else if (commonTck <= DDR_6400_TCK_MIN)
28 return 6400;
29 else if (commonTck <= DDR_6000_TCK_MIN)
30 return 6000;
31 else if (commonTck <= DDR_5600_TCK_MIN)
32 return 5600;
33 else if (commonTck <= DDR_5200_TCK_MIN)
34 return 5200;
35 else if (commonTck <= DDR_4800_TCK_MIN)
36 return 4800;
37 else if (commonTck <= DDR_4400_TCK_MIN)
38 return 4400;
39 else if (commonTck <= DDR_4266_TCK_MIN)
40 return 4266;
41 else if (commonTck <= DDR_4200_TCK_MIN)
42 return 4200;
43 else if (commonTck <= DDR_4000_TCK_MIN)
44 return 4000;
45 else if (commonTck <= DDR_3800_TCK_MIN)
46 return 3800;
47 else if (commonTck <= DDR_3733_TCK_MIN)
48 return 3733;
49 else if (commonTck <= DDR_3600_TCK_MIN)
50 return 3600;
51 else if (commonTck <= DDR_3466_TCK_MIN)
52 return 3466;
53 else if (commonTck <= DDR_3400_TCK_MIN)
54 return 3400;
55 else if (commonTck <= DDR_3200_TCK_MIN)
56 return 3200;
57 else if (commonTck <= DDR_3000_TCK_MIN)
58 return 3000;
59 else if (commonTck <= DDR_2933_TCK_MIN)
60 return 2933;
61 else if (commonTck <= DDR_2800_TCK_MIN)
62 return 2800;
63 else if (commonTck <= DDR_2666_TCK_MIN)
64 return 2666;
65 else if (commonTck <= DDR_2600_TCK_MIN)
66 return 2600;
67 else if (commonTck <= DDR_2400_TCK_MIN)
68 return 2400;
69 else if (commonTck <= DDR_2200_TCK_MIN)
70 return 2200;
71 else if (commonTck <= DDR_2133_TCK_MIN)
72 return 2133;
73 else if (commonTck <= DDR_2000_TCK_MIN)
74 return 2000;
75 else if (commonTck <= DDR_1866_TCK_MIN)
76 return 1866;
77 else if (commonTck <= DDR_1800_TCK_MIN)
78 return 1800;
79 else if (commonTck <= DDR_1600_TCK_MIN)
80 return 1600;
81 else if (commonTck <= DDR_1400_TCK_MIN)
82 return 1400;
83 else if (commonTck <= DDR_1333_TCK_MIN)
84 return 1333;
85 else if (commonTck <= DDR_1200_TCK_MIN)
86 return 1200;
87 else if (commonTck <= DDR_1066_TCK_MIN)
88 return 1066;
89 else if (commonTck <= DDR_1000_TCK_MIN)
90 return 1000;
91 else
92 return 800;
93}