MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / clk_get_ddr_rate

Function clk_get_ddr_rate

bsp/loongson/ls1cdev/libraries/ls1c_clock.c:101–128  ·  view source on GitHub ↗

* 获取DDR频率 * @ret DDR频率 */

Source from the content-addressed store, hash-verified

99 * @ret DDR频率
100 */
101unsigned long clk_get_ddr_rate(void)
102{
103 unsigned long cpu_rate = 0;
104 unsigned long ddr_rate = 0;
105 unsigned int ctrl;
106
107 cpu_rate = clk_get_cpu_rate();
108 ctrl = reg_read_32((volatile unsigned int *)LS1C_START_FREQ);
109 ctrl = (ctrl & DIV_SDRAM) >> DIV_SDRAM_SHIFT;
110
111 switch (ctrl)
112 {
113 case 0:
114 ddr_rate = cpu_rate / 2;
115 break;
116
117 case 1:
118 ddr_rate = cpu_rate / 4;
119 break;
120
121 case 2:
122 case 3:
123 ddr_rate = cpu_rate / 3;
124 break;
125 }
126
127 return ddr_rate;
128}
129
130
131/*

Callers 1

clk_get_apb_rateFunction · 0.70

Calls 2

clk_get_cpu_rateFunction · 0.70
reg_read_32Function · 0.70

Tested by

no test coverage detected