Lines Matching refs:div

16 #include "berlin2-div.h"
36 * (D) constant div-by-3 clock divider
38 * (F) constant div-by-3 clock mux controlled by <D3Switch>
46 * Also, clock gate and pll mux is not available on every div cell, so
67 struct berlin2_div *div = to_berlin2_div(hw);
68 struct berlin2_div_map *map = &div->map;
71 if (div->lock)
72 spin_lock(div->lock);
74 reg = readl_relaxed(div->base + map->gate_offs);
77 if (div->lock)
78 spin_unlock(div->lock);
85 struct berlin2_div *div = to_berlin2_div(hw);
86 struct berlin2_div_map *map = &div->map;
89 if (div->lock)
90 spin_lock(div->lock);
92 reg = readl_relaxed(div->base + map->gate_offs);
94 writel_relaxed(reg, div->base + map->gate_offs);
96 if (div->lock)
97 spin_unlock(div->lock);
104 struct berlin2_div *div = to_berlin2_div(hw);
105 struct berlin2_div_map *map = &div->map;
108 if (div->lock)
109 spin_lock(div->lock);
111 reg = readl_relaxed(div->base + map->gate_offs);
113 writel_relaxed(reg, div->base + map->gate_offs);
115 if (div->lock)
116 spin_unlock(div->lock);
121 struct berlin2_div *div = to_berlin2_div(hw);
122 struct berlin2_div_map *map = &div->map;
125 if (div->lock)
126 spin_lock(div->lock);
129 reg = readl_relaxed(div->base + map->pll_switch_offs);
134 writel_relaxed(reg, div->base + map->pll_switch_offs);
138 reg = readl_relaxed(div->base + map->pll_select_offs);
141 writel_relaxed(reg, div->base + map->pll_select_offs);
144 if (div->lock)
145 spin_unlock(div->lock);
152 struct berlin2_div *div = to_berlin2_div(hw);
153 struct berlin2_div_map *map = &div->map;
157 if (div->lock)
158 spin_lock(div->lock);
161 reg = readl_relaxed(div->base + map->pll_switch_offs);
164 reg = readl_relaxed(div->base + map->pll_select_offs);
170 if (div->lock)
171 spin_unlock(div->lock);
179 struct berlin2_div *div = to_berlin2_div(hw);
180 struct berlin2_div_map *map = &div->map;
183 if (div->lock)
184 spin_lock(div->lock);
186 divsw = readl_relaxed(div->base + map->div_switch_offs) &
188 div3sw = readl_relaxed(div->base + map->div3_switch_offs) &
200 reg = readl_relaxed(div->base + map->div_select_offs);
206 if (div->lock)
207 spin_unlock(div->lock);
237 struct berlin2_div *div;
239 div = kzalloc(sizeof(*div), GFP_KERNEL);
240 if (!div)
244 memcpy(&div->map, map, sizeof(*map));
245 div->base = base;
246 div->lock = lock;
254 &div->hw, mux_ops, &div->hw, rate_ops,
255 &div->hw, gate_ops, flags);