Lines Matching refs:pll_data

74 	struct clk_pll_data *pll_data;  member
83 struct clk_pll_data *pll_data = pll->pll_data; in clk_pllclk_recalc() local
91 if (pll_data->has_pllctrl) { in clk_pllclk_recalc()
92 val = readl(pll_data->pllm); in clk_pllclk_recalc()
93 mult = (val & pll_data->pllm_lower_mask); in clk_pllclk_recalc()
97 val = readl(pll_data->pll_ctl0); in clk_pllclk_recalc()
98 mult |= ((val & pll_data->pllm_upper_mask) in clk_pllclk_recalc()
99 >> pll_data->pllm_upper_shift); in clk_pllclk_recalc()
100 prediv = (val & pll_data->plld_mask); in clk_pllclk_recalc()
102 if (!pll_data->has_pllctrl) in clk_pllclk_recalc()
104 postdiv = ((val & pll_data->clkod_mask) >> in clk_pllclk_recalc()
105 pll_data->clkod_shift) + 1; in clk_pllclk_recalc()
106 else if (pll_data->pllod) { in clk_pllclk_recalc()
107 postdiv = readl(pll_data->pllod); in clk_pllclk_recalc()
108 postdiv = ((postdiv & pll_data->clkod_mask) >> in clk_pllclk_recalc()
109 pll_data->clkod_shift) + 1; in clk_pllclk_recalc()
111 postdiv = pll_data->postdiv; in clk_pllclk_recalc()
127 struct clk_pll_data *pll_data) in clk_register_pll() argument
143 pll->pll_data = pll_data; in clk_register_pll()
164 struct clk_pll_data *pll_data; in _of_pll_clk_init() local
169 pll_data = kzalloc(sizeof(*pll_data), GFP_KERNEL); in _of_pll_clk_init()
170 if (!pll_data) { in _of_pll_clk_init()
176 if (of_property_read_u32(node, "fixed-postdiv", &pll_data->postdiv)) { in _of_pll_clk_init()
178 pll_data->clkod_mask = CLKOD_MASK; in _of_pll_clk_init()
179 pll_data->clkod_shift = CLKOD_SHIFT; in _of_pll_clk_init()
187 pll_data->pllod = of_iomap(node, i); in _of_pll_clk_init()
191 pll_data->pll_ctl0 = of_iomap(node, i); in _of_pll_clk_init()
192 if (!pll_data->pll_ctl0) { in _of_pll_clk_init()
194 iounmap(pll_data->pllod); in _of_pll_clk_init()
198 pll_data->pllm_lower_mask = PLLM_LOW_MASK; in _of_pll_clk_init()
199 pll_data->pllm_upper_shift = PLLM_HIGH_SHIFT; in _of_pll_clk_init()
200 pll_data->plld_mask = PLLD_MASK; in _of_pll_clk_init()
201 pll_data->has_pllctrl = pllctrl; in _of_pll_clk_init()
202 if (!pll_data->has_pllctrl) { in _of_pll_clk_init()
203 pll_data->pllm_upper_mask = PLLM_HIGH_MASK; in _of_pll_clk_init()
205 pll_data->pllm_upper_mask = MAIN_PLLM_HIGH_MASK; in _of_pll_clk_init()
207 pll_data->pllm = of_iomap(node, i); in _of_pll_clk_init()
208 if (!pll_data->pllm) { in _of_pll_clk_init()
209 iounmap(pll_data->pll_ctl0); in _of_pll_clk_init()
210 iounmap(pll_data->pllod); in _of_pll_clk_init()
215 clk = clk_register_pll(NULL, node->name, parent_name, pll_data); in _of_pll_clk_init()
223 kfree(pll_data); in _of_pll_clk_init()