Lines Matching defs:div
43 struct sunxi_ccu_div *div = &clk->u.div;
48 if (!div->enable)
51 val = CCU_READ(sc, div->reg);
53 val |= div->enable;
55 val &= ~div->enable;
56 CCU_WRITE(sc, div->reg, val);
65 struct sunxi_ccu_div *div = &clk->u.div;
81 val = CCU_READ(sc, div->reg);
82 if (div->div)
83 ratio = __SHIFTOUT(val, div->div);
87 if ((div->flags & SUNXI_CCU_DIV_ZERO_IS_ONE) != 0 && ratio == 0)
89 if (div->flags & SUNXI_CCU_DIV_POWER_OF_TWO)
91 else if (div->flags & SUNXI_CCU_DIV_TIMES_TWO) {
105 struct sunxi_ccu_div *div = &clk->u.div;
113 for (index = 0; index < div->nparents; index++) {
114 pname = div->parents[index];
137 struct sunxi_ccu_div *div = &clk->u.div;
150 if (div->div == 0) {
151 if ((div->flags & SUNXI_CCU_DIV_SET_RATE_PARENT) != 0)
157 val = CCU_READ(sc, div->reg);
164 if ((div->flags & SUNXI_CCU_DIV_TIMES_TWO) != 0) {
168 } else if ((div->flags & SUNXI_CCU_DIV_POWER_OF_TWO) != 0) {
173 if (raw_div > __SHIFTOUT_MASK(div->div))
176 val &= ~div->div;
177 val |= __SHIFTIN(raw_div, div->div);
178 CCU_WRITE(sc, div->reg, val);
187 struct sunxi_ccu_div *div = &clk->u.div;
193 if (div->sel == 0)
196 for (index = 0; index < div->nparents; index++) {
197 if (div->parents[index] != NULL &&
198 strcmp(div->parents[index], name) == 0)
201 if (index == div->nparents)
204 val = CCU_READ(sc, div->reg);
205 val &= ~div->sel;
206 val |= __SHIFTIN(index, div->sel);
207 CCU_WRITE(sc, div->reg, val);
216 struct sunxi_ccu_div *div = &clk->u.div;
222 if (div->sel == 0)
223 return div->parents[0];
225 val = CCU_READ(sc, div->reg);
226 index = __SHIFTOUT(val, div->sel);
228 return div->parents[index];