Lines Matching defs:sp810
7 #include <linux/amba/sp810.h>
24 struct clk_sp810 *sp810;
38 u32 val = readl(timerclken->sp810->base + SCCTRL);
46 struct clk_sp810 *sp810 = timerclken->sp810;
53 spin_lock_irqsave(&sp810->lock, flags);
55 val = readl(sp810->base + SCCTRL);
58 writel(val, sp810->base + SCCTRL);
60 spin_unlock_irqrestore(&sp810->lock, flags);
73 struct clk_sp810 *sp810 = data;
76 clkspec->args[0] >= ARRAY_SIZE(sp810->timerclken)))
79 return sp810->timerclken[clkspec->args[0]].clk;
84 struct clk_sp810 *sp810 = kzalloc(sizeof(*sp810), GFP_KERNEL);
93 if (!sp810)
98 kfree(sp810);
102 sp810->node = node;
103 sp810->base = of_iomap(node, 0);
104 spin_lock_init(&sp810->lock);
114 for (i = 0; i < ARRAY_SIZE(sp810->timerclken); i++) {
117 sp810->timerclken[i].sp810 = sp810;
118 sp810->timerclken[i].channel = i;
119 sp810->timerclken[i].hw.init = &init;
128 init.ops->set_parent(&sp810->timerclken[i].hw, 1);
130 sp810->timerclken[i].clk = clk_register(NULL,
131 &sp810->timerclken[i].hw);
132 WARN_ON(IS_ERR(sp810->timerclken[i].clk));
135 of_clk_add_provider(node, clk_sp810_timerclken_of_get, sp810);
138 CLK_OF_DECLARE(sp810, "arm,sp810", clk_sp810_of_setup);