1 /******************************************************************************
2 ** File Name: sprdfb_chip_common.c *
3 ** Author: congfu.zhao *
5 ** Copyright: 2013 Spreatrum, Incoporated. All Rights Reserved. *
7 ******************************************************************************/
8 /******************************************************************************
10 **---------------------------------------------------------------------------*
11 ** DATE NAME DESCRIPTION *
13 ******************************************************************************/
17 #include "sprdfb_chip_common.h"
19 void __raw_bits_and(unsigned int v, unsigned int a)
21 __raw_writel((__raw_readl(a) & v), a);
24 void __raw_bits_or(unsigned int v, unsigned int a)
26 __raw_writel((__raw_readl(a) | v), a);
29 void __raw_bits_set_value(unsigned int reg, unsigned int value, unsigned int bit, unsigned int mask)
31 __raw_writel(((__raw_readl(reg) & (~mask)) | (value << bit)), reg);
34 void dispc_pll_clk_set(unsigned int clk_src, unsigned int clk_div)
36 __raw_bits_set_value(DISPC_PLL_SEL_CFG, clk_src, BITS_DISPC_PLL_SEL_CFG, BIT_DISPC_PLL_SEL_MSK);
37 __raw_bits_set_value(DISPC_PLL_DIV_CFG, clk_div, BITS_DISPC_PLL_DIV_CFG, BIT_DISPC_PLL_DIV_MSK);
40 void dispc_dbi_clk_set(unsigned int clk_src, unsigned int clk_div)
42 __raw_bits_set_value(DISPC_DBI_SEL_CFG, clk_src, BITS_DISPC_DBI_SEL_CFG, BIT_DISPC_DBI_SEL_MSK);
43 __raw_bits_set_value(DISPC_DBI_DIV_CFG, clk_div, BITS_DISPC_DBI_DIV_CFG, BIT_DISPC_DBI_DIV_MSK);
46 void dispc_dpi_clk_set(unsigned int clk_src, unsigned int clk_div)
48 __raw_bits_set_value(DISPC_DPI_SEL_CFG, clk_src, BITS_DISPC_DPI_SEL_CFG, BIT_DISPC_DPI_SEL_MSK);
49 __raw_bits_set_value(DISPC_DPI_DIV_CFG, clk_div, BITS_DISPC_DPI_DIV_CFG, BIT_DISPC_DPI_DIV_MSK);