Lines Matching +full:fixed +full:- +full:factor +full:- +full:clock
1 /* SPDX-License-Identifier: GPL-2.0-only */
7 * Common Clock Framework support for all Samsung platforms
13 #include <linux/clk-provider.h>
14 #include "clk-pll.h"
15 #include "clk-cpu.h"
18 * struct samsung_clk_provider - information about clock provider
20 * @dev: clock provider device needed for runtime PM
21 * @lock: maintains exclusion between callbacks for a given clock-provider
22 * @clk_data: holds clock related data like clk_hw* and number of clocks
33 * struct samsung_clock_alias - information about mux clock
34 * @id: platform specific id of the clock
35 * @dev_name: name of the device to which this clock belongs
36 * @alias: optional clock alias name to be assigned to this clock
54 * struct samsung_fixed_rate_clock - information about fixed-rate clock
55 * @id: platform specific id of the clock
56 * @name: name of this fixed-rate clock
57 * @parent_name: optional parent clock name
58 * @flags: optional fixed-rate clock flags
59 * @fixed_rate: fixed clock rate of this clock
79 * struct samsung_fixed_factor_clock - information about fixed-factor clock
80 * @id: platform specific id of the clock
81 * @name: name of this fixed-factor clock
82 * @parent_name: parent clock name
83 * @mult: fixed multiplication factor
84 * @div: fixed division factor
85 * @flags: optional fixed-factor clock flags
107 * struct samsung_mux_clock - information about mux clock
108 * @id: platform specific id of the clock
109 * @name: name of this mux clock
110 * @parent_names: array of pointer to parent clock names
112 * @flags: optional flags for basic clock
114 * @shift: starting bit location of the mux control bit-field in @reg
115 * @width: width of the mux control bit-field in @reg
116 * @mux_flags: flags for mux-type clock
149 /* Used by MUX clocks where reparenting on clock rate change is allowed. */
157 * struct samsung_div_clock - information about div clock
158 * @id: platform specific id of the clock
159 * @name: name of this div clock
160 * @parent_name: name of the parent clock
161 * @flags: optional flags for basic clock
163 * @shift: starting bit location of the div control bit-field in @reg
165 * @div_flags: flags for div-type clock
203 * struct samsung_gate_clock - information about gate clock
204 * @id: platform specific id of the clock
205 * @name: name of this gate clock
206 * @parent_name: name of the parent clock
207 * @flags: optional flags for basic clock
209 * @bit_idx: bit index of the gate control bit-field in @reg
210 * @gate_flags: flags for gate-type clock
239 * struct samsung_clk_reg_dump - register dump of clock controller registers
240 * @offset: clock register offset from the controller base address
249 * struct samsung_pll_clock - information about pll clock
250 * @id: platform specific id of the clock
251 * @name: name of this pll clock
252 * @parent_name: name of the parent clock
253 * @flags: optional flags for basic clock
319 * struct samsung_cmu_info - all clocks information needed for CMU registration
328 * @fixed_clks: list of fixed clocks
330 * @fixed_factor_clks: list of fixed factor clocks
335 * @clk_regs: list of clock registers
336 * @nr_clk_regs: count of clock registers in @clk_regs
337 * @suspend_regs: list of clock registers to set before suspend
338 * @nr_suspend_regs: count of clock registers in @suspend_regs
339 * @clk_name: name of the parent clock needed for CMU register access