Lines Matching refs:pll_data

70 	struct clk_pll_data *pll_data;  member
79 struct clk_pll_data *pll_data = pll->pll_data; in clk_pllclk_recalc() local
87 if (pll_data->has_pllctrl) { in clk_pllclk_recalc()
88 val = readl(pll_data->pllm); in clk_pllclk_recalc()
89 mult = (val & pll_data->pllm_lower_mask); in clk_pllclk_recalc()
93 val = readl(pll_data->pll_ctl0); in clk_pllclk_recalc()
94 mult |= ((val & pll_data->pllm_upper_mask) in clk_pllclk_recalc()
95 >> pll_data->pllm_upper_shift); in clk_pllclk_recalc()
96 prediv = (val & pll_data->plld_mask); in clk_pllclk_recalc()
98 if (!pll_data->has_pllctrl) in clk_pllclk_recalc()
100 postdiv = ((val & pll_data->clkod_mask) >> in clk_pllclk_recalc()
101 pll_data->clkod_shift) + 1; in clk_pllclk_recalc()
102 else if (pll_data->pllod) { in clk_pllclk_recalc()
103 postdiv = readl(pll_data->pllod); in clk_pllclk_recalc()
104 postdiv = ((postdiv & pll_data->clkod_mask) >> in clk_pllclk_recalc()
105 pll_data->clkod_shift) + 1; in clk_pllclk_recalc()
107 postdiv = pll_data->postdiv; in clk_pllclk_recalc()
123 struct clk_pll_data *pll_data) in clk_register_pll() argument
139 pll->pll_data = pll_data; in clk_register_pll()
160 struct clk_pll_data *pll_data; in _of_pll_clk_init() local
165 pll_data = kzalloc(sizeof(*pll_data), GFP_KERNEL); in _of_pll_clk_init()
166 if (!pll_data) { in _of_pll_clk_init()
172 if (of_property_read_u32(node, "fixed-postdiv", &pll_data->postdiv)) { in _of_pll_clk_init()
174 pll_data->clkod_mask = CLKOD_MASK; in _of_pll_clk_init()
175 pll_data->clkod_shift = CLKOD_SHIFT; in _of_pll_clk_init()
183 pll_data->pllod = of_iomap(node, i); in _of_pll_clk_init()
187 pll_data->pll_ctl0 = of_iomap(node, i); in _of_pll_clk_init()
188 if (!pll_data->pll_ctl0) { in _of_pll_clk_init()
190 iounmap(pll_data->pllod); in _of_pll_clk_init()
194 pll_data->pllm_lower_mask = PLLM_LOW_MASK; in _of_pll_clk_init()
195 pll_data->pllm_upper_shift = PLLM_HIGH_SHIFT; in _of_pll_clk_init()
196 pll_data->plld_mask = PLLD_MASK; in _of_pll_clk_init()
197 pll_data->has_pllctrl = pllctrl; in _of_pll_clk_init()
198 if (!pll_data->has_pllctrl) { in _of_pll_clk_init()
199 pll_data->pllm_upper_mask = PLLM_HIGH_MASK; in _of_pll_clk_init()
201 pll_data->pllm_upper_mask = MAIN_PLLM_HIGH_MASK; in _of_pll_clk_init()
203 pll_data->pllm = of_iomap(node, i); in _of_pll_clk_init()
204 if (!pll_data->pllm) { in _of_pll_clk_init()
205 iounmap(pll_data->pll_ctl0); in _of_pll_clk_init()
206 iounmap(pll_data->pllod); in _of_pll_clk_init()
211 clk = clk_register_pll(NULL, node->name, parent_name, pll_data); in _of_pll_clk_init()
219 kfree(pll_data); in _of_pll_clk_init()