Lines Matching refs:reg
48 static void clk_memmap_writel(u32 val, const struct clk_omap_reg *reg)
50 struct clk_iomap *io = clk_memmaps[reg->index];
52 if (reg->ptr)
53 writel_relaxed(val, reg->ptr);
55 regmap_write(io->regmap, reg->offset, val);
57 writel_relaxed(val, io->mem + reg->offset);
70 static void clk_memmap_rmw(u32 val, u32 mask, const struct clk_omap_reg *reg)
72 struct clk_iomap *io = clk_memmaps[reg->index];
74 if (reg->ptr) {
75 _clk_rmw(val, mask, reg->ptr);
77 regmap_update_bits(io->regmap, reg->offset, mask, val);
79 _clk_rmw(val, mask, io->mem + reg->offset);
83 static u32 clk_memmap_readl(const struct clk_omap_reg *reg)
86 struct clk_iomap *io = clk_memmaps[reg->index];
88 if (reg->ptr)
89 val = readl_relaxed(reg->ptr);
91 regmap_read(io->regmap, reg->offset, &val);
93 val = readl_relaxed(io->mem + reg->offset);
262 * @reg: pointer to target register struct
265 * the data via the provided output pointer @reg. Returns 0 on success,
269 struct clk_omap_reg *reg)
284 reg->index = i;
286 if (of_property_read_u32_index(node, "reg", index, &val)) {
287 pr_err("%pOFn must have reg[%d]!\n", node, index);
291 reg->offset = val;
292 reg->ptr = NULL;
297 void ti_clk_latch(struct clk_omap_reg *reg, s8 shift)
306 ti_clk_ll_ops->clk_rmw(latch, latch, reg);
307 ti_clk_ll_ops->clk_rmw(0, latch, reg);
308 ti_clk_ll_ops->clk_readl(reg); /* OCP barrier */