clk: qcom: support for alpha pll properties
Alpha PLL is a generic name used for QCOM PLLs which uses L and Alpha values for configuring the integer and fractional part. QCOM SoCs use different types of Alpha PLLs for which basic software configuration part is common with following differences. 1. All these PLLs have the same basic registers like PLL_MODE, L_VAL, ALPHA_VAL but some of the register offsets are different between PLLs types. 2. The dynamic programming sequence is different in some of the Alpha PLLs 3. Some of the PLLs don’t have 64 bit config control, 64 bit user control, VCO configuration, etc. Signed-off-by: Abhishek Sahu <absahu@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:

committed by
Stephen Boyd

parent
4fbd8d194f
commit
28d3f06e56
@@ -73,6 +73,7 @@ static struct clk_fixed_factor xo = {
|
||||
|
||||
static struct clk_alpha_pll gpll0_early = {
|
||||
.offset = 0x00000,
|
||||
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
|
||||
.clkr = {
|
||||
.enable_reg = 0x1480,
|
||||
.enable_mask = BIT(0),
|
||||
@@ -88,6 +89,7 @@ static struct clk_alpha_pll gpll0_early = {
|
||||
|
||||
static struct clk_alpha_pll_postdiv gpll0 = {
|
||||
.offset = 0x00000,
|
||||
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
|
||||
.clkr.hw.init = &(struct clk_init_data)
|
||||
{
|
||||
.name = "gpll0",
|
||||
@@ -99,6 +101,7 @@ static struct clk_alpha_pll_postdiv gpll0 = {
|
||||
|
||||
static struct clk_alpha_pll gpll4_early = {
|
||||
.offset = 0x1dc0,
|
||||
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
|
||||
.clkr = {
|
||||
.enable_reg = 0x1480,
|
||||
.enable_mask = BIT(4),
|
||||
@@ -114,6 +117,7 @@ static struct clk_alpha_pll gpll4_early = {
|
||||
|
||||
static struct clk_alpha_pll_postdiv gpll4 = {
|
||||
.offset = 0x1dc0,
|
||||
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
|
||||
.clkr.hw.init = &(struct clk_init_data)
|
||||
{
|
||||
.name = "gpll4",
|
||||
|
Reference in New Issue
Block a user