Lines Matching refs:rk628
59 static unsigned long rk628_cru_clk_get_rate_pll(struct rk628 *rk628, in rk628_cru_clk_get_rate_pll() argument
68 rk628_i2c_read(rk628, CRU_MODE_CON00, &val); in rk628_cru_clk_get_rate_pll()
85 rk628_i2c_read(rk628, offset + CRU_CPLL_CON0, &con0); in rk628_cru_clk_get_rate_pll()
86 rk628_i2c_read(rk628, offset + CRU_CPLL_CON1, &con1); in rk628_cru_clk_get_rate_pll()
87 rk628_i2c_read(rk628, offset + CRU_CPLL_CON2, &con2); in rk628_cru_clk_get_rate_pll()
117 static unsigned long rk628_cru_clk_set_rate_pll(struct rk628 *rk628, in rk628_cru_clk_set_rate_pll() argument
146 rk628_i2c_write(rk628, offset + CRU_CPLL_CON1, PLL_PD(1)); in rk628_cru_clk_set_rate_pll()
149 rk628_i2c_write(rk628, offset + CRU_CPLL_CON0, PLL_BYPASS(1)); in rk628_cru_clk_set_rate_pll()
150 rk628_i2c_write(rk628, offset + CRU_CPLL_CON1, PLL_PD(0)); in rk628_cru_clk_set_rate_pll()
152 rk628_i2c_read(rk628, offset + CRU_CPLL_CON1, &val); in rk628_cru_clk_set_rate_pll()
239 rk628_i2c_write(rk628, offset + CRU_CPLL_CON0, in rk628_cru_clk_set_rate_pll()
242 rk628_i2c_write(rk628, offset + CRU_CPLL_CON1, in rk628_cru_clk_set_rate_pll()
245 rk628_i2c_write(rk628, offset + CRU_CPLL_CON2, PLL_FRAC(frac)); in rk628_cru_clk_set_rate_pll()
247 rk628_i2c_write(rk628, offset + CRU_CPLL_CON1, PLL_PD(0)); in rk628_cru_clk_set_rate_pll()
249 rk628_i2c_read(rk628, offset + CRU_CPLL_CON1, &val); in rk628_cru_clk_set_rate_pll()
257 static unsigned long rk628_cru_clk_set_rate_sclk_vop(struct rk628 *rk628, in rk628_cru_clk_set_rate_sclk_vop() argument
263 rk628_i2c_read(rk628, CRU_CLKSEL_CON02, &val); in rk628_cru_clk_set_rate_sclk_vop()
267 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_GPLL); in rk628_cru_clk_set_rate_sclk_vop()
269 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_CPLL); in rk628_cru_clk_set_rate_sclk_vop()
274 rk628_i2c_write(rk628, CRU_CLKSEL_CON13, m << 16 | n); in rk628_cru_clk_set_rate_sclk_vop()
279 static unsigned long rk628_cru_clk_get_rate_sclk_vop(struct rk628 *rk628) in rk628_cru_clk_get_rate_sclk_vop() argument
284 rk628_i2c_read(rk628, CRU_CLKSEL_CON02, &mux); in rk628_cru_clk_get_rate_sclk_vop()
288 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_GPLL); in rk628_cru_clk_get_rate_sclk_vop()
290 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_CPLL); in rk628_cru_clk_get_rate_sclk_vop()
292 rk628_i2c_read(rk628, CRU_CLKSEL_CON13, &div); in rk628_cru_clk_get_rate_sclk_vop()
300 static unsigned long rk628_cru_clk_set_rate_rx_read(struct rk628 *rk628, in rk628_cru_clk_set_rate_rx_read() argument
306 rk628_i2c_read(rk628, CRU_CLKSEL_CON02, &val); in rk628_cru_clk_set_rate_rx_read()
310 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_GPLL); in rk628_cru_clk_set_rate_rx_read()
312 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_CPLL); in rk628_cru_clk_set_rate_rx_read()
317 rk628_i2c_write(rk628, CRU_CLKSEL_CON14, m << 16 | n); in rk628_cru_clk_set_rate_rx_read()
322 static unsigned long rk628_cru_clk_get_rate_uart_src(struct rk628 *rk628) in rk628_cru_clk_get_rate_uart_src() argument
327 rk628_i2c_read(rk628, CRU_CLKSEL_CON21, &mux); in rk628_cru_clk_get_rate_uart_src()
330 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_GPLL); in rk628_cru_clk_get_rate_uart_src()
332 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_CPLL); in rk628_cru_clk_get_rate_uart_src()
334 rk628_i2c_read(rk628, CRU_CLKSEL_CON21, &div); in rk628_cru_clk_get_rate_uart_src()
342 static unsigned long rk628_cru_clk_set_rate_sclk_uart(struct rk628 *rk628, in rk628_cru_clk_set_rate_sclk_uart() argument
347 parent_rate = rk628_cru_clk_get_rate_uart_src(rk628); in rk628_cru_clk_set_rate_sclk_uart()
350 rk628_i2c_write(rk628, CRU_CLKSEL_CON06, in rk628_cru_clk_set_rate_sclk_uart()
354 rk628_i2c_write(rk628, CRU_CLKSEL_CON06, in rk628_cru_clk_set_rate_sclk_uart()
359 rk628_i2c_write(rk628, CRU_CLKSEL_CON06, in rk628_cru_clk_set_rate_sclk_uart()
365 rk628_i2c_write(rk628, CRU_CLKSEL_CON20, m << 16 | n); in rk628_cru_clk_set_rate_sclk_uart()
371 rk628_cru_clk_get_rate_bt1120_dec_parent(struct rk628 *rk628) in rk628_cru_clk_get_rate_bt1120_dec_parent() argument
376 rk628_i2c_read(rk628, CRU_CLKSEL_CON02, &mux); in rk628_cru_clk_get_rate_bt1120_dec_parent()
379 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_GPLL); in rk628_cru_clk_get_rate_bt1120_dec_parent()
381 parent_rate = rk628_cru_clk_get_rate_pll(rk628, CGU_CLK_CPLL); in rk628_cru_clk_get_rate_bt1120_dec_parent()
386 static unsigned long rk628_cru_clk_set_rate_bt1120_dec(struct rk628 *rk628, in rk628_cru_clk_set_rate_bt1120_dec() argument
392 parent_rate = rk628_cru_clk_get_rate_bt1120_dec_parent(rk628); in rk628_cru_clk_set_rate_bt1120_dec()
394 rk628_i2c_write(rk628, CRU_CLKSEL_CON02, CLK_BT1120DEC_DIV(div-1)); in rk628_cru_clk_set_rate_bt1120_dec()
399 int rk628_cru_clk_set_rate(struct rk628 *rk628, unsigned int id, in rk628_cru_clk_set_rate() argument
405 rk628_cru_clk_set_rate_pll(rk628, id, rate); in rk628_cru_clk_set_rate()
408 rk628_cru_clk_set_rate_rx_read(rk628, rate); in rk628_cru_clk_set_rate()
411 rk628_cru_clk_set_rate_sclk_vop(rk628, rate); in rk628_cru_clk_set_rate()
414 rk628_cru_clk_set_rate_sclk_uart(rk628, rate); in rk628_cru_clk_set_rate()
417 rk628_cru_clk_set_rate_bt1120_dec(rk628, rate); in rk628_cru_clk_set_rate()
426 unsigned long rk628_cru_clk_get_rate(struct rk628 *rk628, unsigned int id) in rk628_cru_clk_get_rate() argument
433 rate = rk628_cru_clk_get_rate_pll(rk628, id); in rk628_cru_clk_get_rate()
436 rate = rk628_cru_clk_get_rate_sclk_vop(rk628); in rk628_cru_clk_get_rate()
445 void rk628_cru_init(struct rk628 *rk628) in rk628_cru_init() argument
450 rk628_i2c_read(rk628, GRF_SYSTEM_STATUS0, &val); in rk628_cru_init()
455 rk628_i2c_write(rk628, CRU_GPLL_CON0, 0xffff701d); in rk628_cru_init()
457 rk628_i2c_write(rk628, CRU_MODE_CON00, 0xffff0004); in rk628_cru_init()
459 rk628_i2c_write(rk628, CRU_CLKSEL_CON00, 0x00ff0080); in rk628_cru_init()
460 rk628_i2c_write(rk628, CRU_CLKSEL_CON00, 0x00ff0083); in rk628_cru_init()
461 rk628_i2c_write(rk628, CRU_CPLL_CON0, 0xffff3063); in rk628_cru_init()
463 rk628_i2c_write(rk628, CRU_MODE_CON00, 0xffff0005); in rk628_cru_init()
464 rk628_i2c_write(rk628, CRU_CLKSEL_CON00, 0x00ff0003); in rk628_cru_init()
465 rk628_i2c_write(rk628, CRU_CLKSEL_CON00, 0x00ff000b); in rk628_cru_init()
466 rk628_i2c_write(rk628, CRU_GPLL_CON0, 0xffff1028); in rk628_cru_init()
468 rk628_i2c_write(rk628, CRU_CLKSEL_CON00, 0x00ff008b); in rk628_cru_init()
469 rk628_i2c_write(rk628, CRU_CPLL_CON0, 0xffff1063); in rk628_cru_init()
471 rk628_i2c_write(rk628, CRU_CLKSEL_CON00, 0x00ff000b); in rk628_cru_init()