Lines Matching refs:sp810

30 	struct clk_sp810 *sp810;  member
44 u32 val = readl(timerclken->sp810->base + SCCTRL); in clk_sp810_timerclken_get_parent()
52 struct clk_sp810 *sp810 = timerclken->sp810; in clk_sp810_timerclken_set_parent() local
59 spin_lock_irqsave(&sp810->lock, flags); in clk_sp810_timerclken_set_parent()
61 val = readl(sp810->base + SCCTRL); in clk_sp810_timerclken_set_parent()
64 writel(val, sp810->base + SCCTRL); in clk_sp810_timerclken_set_parent()
66 spin_unlock_irqrestore(&sp810->lock, flags); in clk_sp810_timerclken_set_parent()
79 struct clk_sp810 *sp810 = data; in clk_sp810_timerclken_of_get() local
82 clkspec->args[0] >= ARRAY_SIZE(sp810->timerclken))) in clk_sp810_timerclken_of_get()
85 return sp810->timerclken[clkspec->args[0]].clk; in clk_sp810_timerclken_of_get()
90 struct clk_sp810 *sp810 = kzalloc(sizeof(*sp810), GFP_KERNEL); in clk_sp810_of_setup() local
99 if (!sp810) { in clk_sp810_of_setup()
109 sp810->node = node; in clk_sp810_of_setup()
110 sp810->base = of_iomap(node, 0); in clk_sp810_of_setup()
111 spin_lock_init(&sp810->lock); in clk_sp810_of_setup()
121 for (i = 0; i < ARRAY_SIZE(sp810->timerclken); i++) { in clk_sp810_of_setup()
124 sp810->timerclken[i].sp810 = sp810; in clk_sp810_of_setup()
125 sp810->timerclken[i].channel = i; in clk_sp810_of_setup()
126 sp810->timerclken[i].hw.init = &init; in clk_sp810_of_setup()
135 init.ops->set_parent(&sp810->timerclken[i].hw, 1); in clk_sp810_of_setup()
137 sp810->timerclken[i].clk = clk_register(NULL, in clk_sp810_of_setup()
138 &sp810->timerclken[i].hw); in clk_sp810_of_setup()
139 WARN_ON(IS_ERR(sp810->timerclken[i].clk)); in clk_sp810_of_setup()
142 of_clk_add_provider(node, clk_sp810_timerclken_of_get, sp810); in clk_sp810_of_setup()
145 CLK_OF_DECLARE(sp810, "arm,sp810", clk_sp810_of_setup);