/kernel/linux/linux-5.10/drivers/clk/bcm/ |
H A D | clk-kona.c | 130 static inline u32 __ccu_read(struct ccu_data *ccu, u32 reg_offset) in __ccu_read() argument 132 return readl(ccu->base + reg_offset); in __ccu_read() 137 __ccu_write(struct ccu_data *ccu, u32 reg_offset, u32 reg_val) in __ccu_write() argument 139 writel(reg_val, ccu->base + reg_offset); in __ccu_write() 142 static inline unsigned long ccu_lock(struct ccu_data *ccu) in ccu_lock() argument 146 spin_lock_irqsave(&ccu->lock, flags); in ccu_lock() 150 static inline void ccu_unlock(struct ccu_data *ccu, unsigned long flags) in ccu_unlock() argument 152 spin_unlock_irqrestore(&ccu->lock, flags); in ccu_unlock() 159 static inline void __ccu_write_enable(struct ccu_data *ccu) in __ccu_write_enable() argument 161 if (ccu in __ccu_write_enable() 170 __ccu_write_disable(struct ccu_data *ccu) __ccu_write_disable() argument 191 __ccu_wait_bit(struct ccu_data *ccu, u32 reg_offset, u32 bit, bool want) __ccu_wait_bit() argument 214 __ccu_policy_engine_start(struct ccu_data *ccu, bool sync) __ccu_policy_engine_start() argument 268 __ccu_policy_engine_stop(struct ccu_data *ccu) __ccu_policy_engine_stop() argument 310 policy_init(struct ccu_data *ccu, struct bcm_clk_policy *policy) policy_init() argument 358 __is_clk_gate_enabled(struct ccu_data *ccu, struct bcm_clk_gate *gate) __is_clk_gate_enabled() argument 375 is_clk_gate_enabled(struct ccu_data *ccu, struct bcm_clk_gate *gate) is_clk_gate_enabled() argument 396 __gate_commit(struct ccu_data *ccu, struct bcm_clk_gate *gate) __gate_commit() argument 447 gate_init(struct ccu_data *ccu, struct bcm_clk_gate *gate) gate_init() argument 461 __clk_gate(struct ccu_data *ccu, struct bcm_clk_gate *gate, bool enable) __clk_gate() argument 486 clk_gate(struct ccu_data *ccu, const char *name, struct bcm_clk_gate *gate, bool enable) clk_gate() argument 527 hyst_init(struct ccu_data *ccu, struct bcm_clk_hyst *hyst) hyst_init() argument 553 __clk_trigger(struct ccu_data *ccu, struct bcm_clk_trig *trig) __clk_trigger() argument 564 divider_read_scaled(struct ccu_data *ccu, struct bcm_clk_div *div) divider_read_scaled() argument 591 __div_commit(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_div *div, struct bcm_clk_trig *trig) __div_commit() argument 647 div_init(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_div *div, struct bcm_clk_trig *trig) div_init() argument 655 divider_write(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_div *div, struct bcm_clk_trig *trig, u64 scaled_div) divider_write() argument 693 clk_recalc_rate(struct ccu_data *ccu, struct bcm_clk_div *div, struct bcm_clk_div *pre_div, unsigned long parent_rate) clk_recalc_rate() argument 748 round_rate(struct ccu_data *ccu, struct bcm_clk_div *div, struct bcm_clk_div *pre_div, unsigned long rate, unsigned long parent_rate, u64 *scaled_div) round_rate() argument 840 selector_read_index(struct ccu_data *ccu, struct bcm_clk_sel *sel) selector_read_index() argument 874 __sel_commit(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_sel *sel, struct bcm_clk_trig *trig) __sel_commit() argument 931 sel_init(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_sel *sel, struct bcm_clk_trig *trig) sel_init() argument 944 selector_write(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_sel *sel, struct bcm_clk_trig *trig, u8 index) selector_write() argument 1196 struct ccu_data *ccu = bcm_clk->ccu; __peri_clk_init() local 1256 kona_ccu_init(struct ccu_data *ccu) kona_ccu_init() argument [all...] |
H A D | clk-kona-setup.c | 26 static bool ccu_data_offsets_valid(struct ccu_data *ccu) in ccu_data_offsets_valid() argument 28 struct ccu_policy *ccu_policy = &ccu->policy; in ccu_data_offsets_valid() 31 limit = ccu->range - sizeof(u32); in ccu_data_offsets_valid() 37 ccu->name, ccu_policy->enable.offset, limit); in ccu_data_offsets_valid() 43 ccu->name, ccu_policy->control.offset, limit); in ccu_data_offsets_valid() 93 range = bcm_clk->ccu->range; in peri_clk_data_offsets_valid() 416 * where we need something from the ccu, so we do these in peri_clk_data_valid() 747 static void ccu_clks_teardown(struct ccu_data *ccu) in ccu_clks_teardown() argument 751 for (i = 0; i < ccu->clk_num; i++) in ccu_clks_teardown() 752 kona_clk_teardown(&ccu in ccu_clks_teardown() 755 kona_ccu_teardown(struct ccu_data *ccu) kona_ccu_teardown() argument 768 ccu_data_valid(struct ccu_data *ccu) ccu_data_valid() argument 786 struct ccu_data *ccu = data; of_clk_kona_onecell_get() local 801 kona_dt_ccu_setup(struct ccu_data *ccu, struct device_node *node) kona_dt_ccu_setup() argument [all...] |
/kernel/linux/linux-6.6/drivers/clk/bcm/ |
H A D | clk-kona.c | 122 static inline u32 __ccu_read(struct ccu_data *ccu, u32 reg_offset) in __ccu_read() argument 124 return readl(ccu->base + reg_offset); in __ccu_read() 129 __ccu_write(struct ccu_data *ccu, u32 reg_offset, u32 reg_val) in __ccu_write() argument 131 writel(reg_val, ccu->base + reg_offset); in __ccu_write() 134 static inline unsigned long ccu_lock(struct ccu_data *ccu) in ccu_lock() argument 138 spin_lock_irqsave(&ccu->lock, flags); in ccu_lock() 142 static inline void ccu_unlock(struct ccu_data *ccu, unsigned long flags) in ccu_unlock() argument 144 spin_unlock_irqrestore(&ccu->lock, flags); in ccu_unlock() 151 static inline void __ccu_write_enable(struct ccu_data *ccu) in __ccu_write_enable() argument 153 if (ccu in __ccu_write_enable() 162 __ccu_write_disable(struct ccu_data *ccu) __ccu_write_disable() argument 183 __ccu_wait_bit(struct ccu_data *ccu, u32 reg_offset, u32 bit, bool want) __ccu_wait_bit() argument 206 __ccu_policy_engine_start(struct ccu_data *ccu, bool sync) __ccu_policy_engine_start() argument 260 __ccu_policy_engine_stop(struct ccu_data *ccu) __ccu_policy_engine_stop() argument 302 policy_init(struct ccu_data *ccu, struct bcm_clk_policy *policy) policy_init() argument 350 __is_clk_gate_enabled(struct ccu_data *ccu, struct bcm_clk_gate *gate) __is_clk_gate_enabled() argument 367 is_clk_gate_enabled(struct ccu_data *ccu, struct bcm_clk_gate *gate) is_clk_gate_enabled() argument 388 __gate_commit(struct ccu_data *ccu, struct bcm_clk_gate *gate) __gate_commit() argument 439 gate_init(struct ccu_data *ccu, struct bcm_clk_gate *gate) gate_init() argument 453 __clk_gate(struct ccu_data *ccu, struct bcm_clk_gate *gate, bool enable) __clk_gate() argument 478 clk_gate(struct ccu_data *ccu, const char *name, struct bcm_clk_gate *gate, bool enable) clk_gate() argument 519 hyst_init(struct ccu_data *ccu, struct bcm_clk_hyst *hyst) hyst_init() argument 545 __clk_trigger(struct ccu_data *ccu, struct bcm_clk_trig *trig) __clk_trigger() argument 556 divider_read_scaled(struct ccu_data *ccu, struct bcm_clk_div *div) divider_read_scaled() argument 583 __div_commit(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_div *div, struct bcm_clk_trig *trig) __div_commit() argument 639 div_init(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_div *div, struct bcm_clk_trig *trig) div_init() argument 647 divider_write(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_div *div, struct bcm_clk_trig *trig, u64 scaled_div) divider_write() argument 685 clk_recalc_rate(struct ccu_data *ccu, struct bcm_clk_div *div, struct bcm_clk_div *pre_div, unsigned long parent_rate) clk_recalc_rate() argument 740 round_rate(struct ccu_data *ccu, struct bcm_clk_div *div, struct bcm_clk_div *pre_div, unsigned long rate, unsigned long parent_rate, u64 *scaled_div) round_rate() argument 832 selector_read_index(struct ccu_data *ccu, struct bcm_clk_sel *sel) selector_read_index() argument 866 __sel_commit(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_sel *sel, struct bcm_clk_trig *trig) __sel_commit() argument 923 sel_init(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_sel *sel, struct bcm_clk_trig *trig) sel_init() argument 936 selector_write(struct ccu_data *ccu, struct bcm_clk_gate *gate, struct bcm_clk_sel *sel, struct bcm_clk_trig *trig, u8 index) selector_write() argument 1188 struct ccu_data *ccu = bcm_clk->ccu; __peri_clk_init() local 1248 kona_ccu_init(struct ccu_data *ccu) kona_ccu_init() argument [all...] |
H A D | clk-kona-setup.c | 18 static bool ccu_data_offsets_valid(struct ccu_data *ccu) in ccu_data_offsets_valid() argument 20 struct ccu_policy *ccu_policy = &ccu->policy; in ccu_data_offsets_valid() 23 limit = ccu->range - sizeof(u32); in ccu_data_offsets_valid() 29 ccu->name, ccu_policy->enable.offset, limit); in ccu_data_offsets_valid() 35 ccu->name, ccu_policy->control.offset, limit); in ccu_data_offsets_valid() 85 range = bcm_clk->ccu->range; in peri_clk_data_offsets_valid() 408 * where we need something from the ccu, so we do these in peri_clk_data_valid() 739 static void ccu_clks_teardown(struct ccu_data *ccu) in ccu_clks_teardown() argument 743 for (i = 0; i < ccu->clk_num; i++) in ccu_clks_teardown() 744 kona_clk_teardown(&ccu in ccu_clks_teardown() 747 kona_ccu_teardown(struct ccu_data *ccu) kona_ccu_teardown() argument 760 ccu_data_valid(struct ccu_data *ccu) ccu_data_valid() argument 778 struct ccu_data *ccu = data; of_clk_kona_onecell_get() local 793 kona_dt_ccu_setup(struct ccu_data *ccu, struct device_node *node) kona_dt_ccu_setup() argument [all...] |
/kernel/linux/linux-5.10/drivers/clk/sunxi-ng/ |
H A D | ccu_reset.c | 16 struct ccu_reset *ccu = rcdev_to_ccu_reset(rcdev); in ccu_reset_assert() local 17 const struct ccu_reset_map *map = &ccu->reset_map[id]; in ccu_reset_assert() 21 spin_lock_irqsave(ccu->lock, flags); in ccu_reset_assert() 23 reg = readl(ccu->base + map->reg); in ccu_reset_assert() 24 writel(reg & ~map->bit, ccu->base + map->reg); in ccu_reset_assert() 26 spin_unlock_irqrestore(ccu->lock, flags); in ccu_reset_assert() 34 struct ccu_reset *ccu = rcdev_to_ccu_reset(rcdev); in ccu_reset_deassert() local 35 const struct ccu_reset_map *map = &ccu->reset_map[id]; in ccu_reset_deassert() 39 spin_lock_irqsave(ccu->lock, flags); in ccu_reset_deassert() 41 reg = readl(ccu in ccu_reset_deassert() 62 struct ccu_reset *ccu = rcdev_to_ccu_reset(rcdev); ccu_reset_status() local [all...] |
H A D | ccu-sun4i-a10.h | 11 #include <dt-bindings/clock/sun4i-a10-ccu.h> 12 #include <dt-bindings/clock/sun7i-a20-ccu.h> 13 #include <dt-bindings/reset/sun4i-a10-ccu.h>
|
H A D | ccu-sun8i-r.h | 9 #include <dt-bindings/clock/sun8i-r-ccu.h> 10 #include <dt-bindings/reset/sun8i-r-ccu.h>
|
H A D | ccu-sun50i-a100-r.h | 9 #include <dt-bindings/clock/sun50i-a100-r-ccu.h> 10 #include <dt-bindings/reset/sun50i-a100-r-ccu.h>
|
H A D | ccu-sun50i-h6-r.h | 9 #include <dt-bindings/clock/sun50i-h6-r-ccu.h> 10 #include <dt-bindings/reset/sun50i-h6-r-ccu.h>
|
H A D | ccu-sun5i.h | 11 #include <dt-bindings/clock/sun5i-ccu.h> 12 #include <dt-bindings/reset/sun5i-ccu.h>
|
H A D | ccu-sun8i-v3s.h | 5 * Based on ccu-sun8i-h3.h, which is: 12 #include <dt-bindings/clock/sun8i-v3s-ccu.h> 13 #include <dt-bindings/reset/sun8i-v3s-ccu.h>
|
H A D | ccu-suniv-f1c100s.h | 10 #include <dt-bindings/clock/suniv-ccu-f1c100s.h> 11 #include <dt-bindings/reset/suniv-ccu-f1c100s.h>
|
H A D | ccu-sun8i-h3.h | 11 #include <dt-bindings/clock/sun8i-h3-ccu.h> 12 #include <dt-bindings/reset/sun8i-h3-ccu.h>
|
H A D | ccu-sun8i-a83t.h | 11 #include <dt-bindings/clock/sun8i-a83t-ccu.h> 12 #include <dt-bindings/reset/sun8i-a83t-ccu.h>
|
/kernel/linux/linux-6.6/drivers/clk/sunxi-ng/ |
H A D | ccu_reset.c | 16 struct ccu_reset *ccu = rcdev_to_ccu_reset(rcdev); in ccu_reset_assert() local 17 const struct ccu_reset_map *map = &ccu->reset_map[id]; in ccu_reset_assert() 21 spin_lock_irqsave(ccu->lock, flags); in ccu_reset_assert() 23 reg = readl(ccu->base + map->reg); in ccu_reset_assert() 24 writel(reg & ~map->bit, ccu->base + map->reg); in ccu_reset_assert() 26 spin_unlock_irqrestore(ccu->lock, flags); in ccu_reset_assert() 34 struct ccu_reset *ccu = rcdev_to_ccu_reset(rcdev); in ccu_reset_deassert() local 35 const struct ccu_reset_map *map = &ccu->reset_map[id]; in ccu_reset_deassert() 39 spin_lock_irqsave(ccu->lock, flags); in ccu_reset_deassert() 41 reg = readl(ccu in ccu_reset_deassert() 62 struct ccu_reset *ccu = rcdev_to_ccu_reset(rcdev); ccu_reset_status() local [all...] |
H A D | ccu_common.c | 102 static int sunxi_ccu_probe(struct sunxi_ccu *ccu, struct device *dev, in sunxi_ccu_probe() argument 109 ccu->desc = desc; in sunxi_ccu_probe() 111 spin_lock_init(&ccu->lock); in sunxi_ccu_probe() 120 cclk->lock = &ccu->lock; in sunxi_ccu_probe() 146 reset = &ccu->reset; in sunxi_ccu_probe() 152 reset->lock = &ccu->lock; in sunxi_ccu_probe() 176 struct sunxi_ccu *ccu = res; in devm_sunxi_ccu_release() local 177 const struct sunxi_ccu_desc *desc = ccu->desc; in devm_sunxi_ccu_release() 180 reset_controller_unregister(&ccu->reset.rcdev); in devm_sunxi_ccu_release() 195 struct sunxi_ccu *ccu; in devm_sunxi_ccu_probe() local 217 struct sunxi_ccu *ccu; of_sunxi_ccu_probe() local [all...] |
H A D | ccu-sun4i-a10.h | 11 #include <dt-bindings/clock/sun4i-a10-ccu.h> 12 #include <dt-bindings/clock/sun7i-a20-ccu.h> 13 #include <dt-bindings/reset/sun4i-a10-ccu.h>
|
H A D | ccu-sun20i-d1.h | 10 #include <dt-bindings/clock/sun20i-d1-ccu.h> 11 #include <dt-bindings/reset/sun20i-d1-ccu.h>
|
H A D | ccu-sun8i-r.h | 9 #include <dt-bindings/clock/sun8i-r-ccu.h> 10 #include <dt-bindings/reset/sun8i-r-ccu.h>
|
H A D | ccu-sun50i-a100-r.h | 9 #include <dt-bindings/clock/sun50i-a100-r-ccu.h> 10 #include <dt-bindings/reset/sun50i-a100-r-ccu.h>
|
H A D | ccu-sun20i-d1-r.h | 10 #include <dt-bindings/clock/sun20i-d1-r-ccu.h> 11 #include <dt-bindings/reset/sun20i-d1-r-ccu.h>
|
H A D | ccu-sun50i-h6-r.h | 9 #include <dt-bindings/clock/sun50i-h6-r-ccu.h> 10 #include <dt-bindings/reset/sun50i-h6-r-ccu.h>
|
H A D | ccu-sun5i.h | 11 #include <dt-bindings/clock/sun5i-ccu.h> 12 #include <dt-bindings/reset/sun5i-ccu.h>
|
H A D | ccu-sun8i-v3s.h | 5 * Based on ccu-sun8i-h3.h, which is: 12 #include <dt-bindings/clock/sun8i-v3s-ccu.h> 13 #include <dt-bindings/reset/sun8i-v3s-ccu.h>
|
H A D | ccu-suniv-f1c100s.h | 10 #include <dt-bindings/clock/suniv-ccu-f1c100s.h> 11 #include <dt-bindings/reset/suniv-ccu-f1c100s.h>
|