Lines Matching full:clock
15 * A clock is a hardware signal that oscillates autonomously at a specific
16 * frequency and duty cycle. Most hardware modules require one or more clock
17 * signal to drive their operation. Clock signals are typically generated
19 * clock provider. This API provides a standard means for drivers to enable and
22 * A driver that implements UCLASS_CLOCK is a clock provider. A provider will
25 * clock providers must implement.
27 * Clock consumers/clients are the HW modules driven by the clock signals. This
34 * struct clk - A handle to (allowing control of) a single clock.
36 * Clients provide storage for clock handles. The content of the structure is
37 * managed solely by the clock API and clock drivers. A clock struct is
38 * initialized by "get"ing the clock struct. The clock struct is passed to all
39 * other clock APIs to identify which clock signal to operate upon.
41 * @dev: The device which implements the clock signal.
42 * @id: The clock signal ID within the provider.
45 * processed during the various clock ops.
47 * Should additional information to identify and configure any clock signal
49 * either (a) add more fields to allow clock providers to store additional
67 * Clients provide storage for the clock bulk. The content of the structure is
68 * managed solely by the clock API. A clock bulk struct is
69 * initialized by "get"ing the clock bulk struct.
70 * The clock bulk struct is passed to all other bulk clock APIs to apply
71 * the API to all the clock in the bulk struct.
73 * @clks: An array of clock handles.
74 * @count: The number of clock handles in the clks array.
87 * clock_get_by_index - Get/request a clock by integer index.
89 * This looks up and requests a clock. The index is relative to the client
92 * device clock indices to provider clocks may be via device-tree properties,
96 * @index: The index of the clock to request, within the client's list of
98 * @clock A pointer to a clock struct to initialize.
109 * device clock indices to provider clocks may be via device-tree properties,
113 * @bulk A pointer to a clock bulk struct to initialize.
119 * clock_get_by_name - Get/request a clock by name.
121 * This looks up and requests a clock. The name is relative to the client
124 * device clock names to provider clocks may be via device-tree properties,
128 * @name: The name of the clock to request, within the client's list of
130 * @clock: A pointer to a clock struct to initialize.
139 * For each clock contained in the clock array, this function will check if
140 * clock has been previously requested and then will disable and free it.
142 * @clk: A clock struct array that was previously successfully
144 * @count Number of clock contained in the array
176 * clk_set_defaults - Process 'assigned-{clocks/clock-parents/clock-rates}'
192 * requested clocks in a clock bulk struct.
194 * For each clock contained in the clock bulk struct, this function will check
195 * if clock has been previously requested and then will disable and free it.
197 * @clk: A clock bulk struct that was previously successfully
207 * clk_request - Request a clock by provider-specific ID.
209 * This requests a clock using a provider-specific ID. Generally, this function
211 * better separates clients from intimate knowledge of clock providers.
214 * @dev: The clock provider device.
215 * @clock: A pointer to a clock struct to initialize. The caller must
217 * clock provider uses to identify the clock.
223 * clock_free - Free a previously requested clock.
225 * @clock: A clock struct that was previously successfully requested by
232 * clk_get_rate() - Get current clock rate.
234 * @clk: A clock struct that was previously successfully requested by
236 * @return clock rate in Hz, or -ve error code.
241 * clk_set_rate() - Set current clock rate.
243 * @clk: A clock struct that was previously successfully requested by
245 * @rate: New clock rate in Hz.
251 * clk_set_parent() - Set current clock parent.
253 * @clk: A clock struct that was previously successfully requested by
255 * @parent: A clock struct that was previously successfully requested by
262 * clk_enable() - Enable (turn on) a clock.
264 * @clk: A clock struct that was previously successfully requested by
271 * clk_enable_bulk() - Enable (turn on) all clocks in a clock bulk struct.
273 * @bulk: A clock bulk struct that was previously successfully requested
280 * clk_disable() - Disable (turn off) a clock.
282 * @clk: A clock struct that was previously successfully requested by
289 * clk_disable_bulk() - Disable (turn off) all clocks in a clock bulk struct.
291 * @bulk: A clock bulk struct that was previously successfully requested
302 * @clk: the clock to check