Lines Matching +full:init +full:- +full:delay
1 // SPDX-License-Identifier: GPL-2.0-only
12 #include <linux/delay.h>
32 if (apmu->lock) in clk_apmu_enable()
33 spin_lock_irqsave(apmu->lock, flags); in clk_apmu_enable()
35 data = readl_relaxed(apmu->base) | apmu->enable_mask; in clk_apmu_enable()
36 writel_relaxed(data, apmu->base); in clk_apmu_enable()
38 if (apmu->lock) in clk_apmu_enable()
39 spin_unlock_irqrestore(apmu->lock, flags); in clk_apmu_enable()
50 if (apmu->lock) in clk_apmu_disable()
51 spin_lock_irqsave(apmu->lock, flags); in clk_apmu_disable()
53 data = readl_relaxed(apmu->base) & ~apmu->enable_mask; in clk_apmu_disable()
54 writel_relaxed(data, apmu->base); in clk_apmu_disable()
56 if (apmu->lock) in clk_apmu_disable()
57 spin_unlock_irqrestore(apmu->lock, flags); in clk_apmu_disable()
70 struct clk_init_data init; in mmp_clk_register_apmu() local
76 init.name = name; in mmp_clk_register_apmu()
77 init.ops = &clk_apmu_ops; in mmp_clk_register_apmu()
78 init.flags = CLK_SET_RATE_PARENT; in mmp_clk_register_apmu()
79 init.parent_names = (parent_name ? &parent_name : NULL); in mmp_clk_register_apmu()
80 init.num_parents = (parent_name ? 1 : 0); in mmp_clk_register_apmu()
82 apmu->base = base; in mmp_clk_register_apmu()
83 apmu->enable_mask = enable_mask; in mmp_clk_register_apmu()
84 apmu->lock = lock; in mmp_clk_register_apmu()
85 apmu->hw.init = &init; in mmp_clk_register_apmu()
87 clk = clk_register(NULL, &apmu->hw); in mmp_clk_register_apmu()