Lines Matching +full:clk +full:- +full:phase +full:-

6  * SPDX-License-Identifier:	GPL-2.0+
35 * struct clk - A handle to (allowing control of) a single clock.
54 struct clk { struct
64 * struct clk_bulk - A handle to (allowing control of) a bulk of clocks.
76 struct clk *clks; argument
80 #if CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(CLK)
83 struct phandle_1_arg *cells, struct clk *clk);
86 * clock_get_by_index - Get/request a clock by integer index.
91 * device clock indices to provider clocks may be via device-tree properties,
92 * board-provided mapping tables, or some other mechanism.
100 int clk_get_by_index(struct udevice *dev, int index, struct clk *clk);
103 * clock_get_bulk - Get/request all clocks of a device.
108 * device clock indices to provider clocks may be via device-tree properties,
109 * board-provided mapping tables, or some other mechanism.
118 * clock_get_by_name - Get/request a clock by name.
123 * device clock names to provider clocks may be via device-tree properties,
124 * board-provided mapping tables, or some other mechanism.
132 int clk_get_by_name(struct udevice *dev, const char *name, struct clk *clk);
135 * clk_release_all() - Disable (turn off)/Free an array of previously
141 * @clk: A clock struct array that was previously successfully
144 * @return zero on success, or -ve error code.
146 int clk_release_all(struct clk *clk, int count);
150 struct clk *clk) in clk_get_by_index() argument
152 return -ENOSYS; in clk_get_by_index()
157 return -ENOSYS; in clk_get_bulk()
161 struct clk *clk) in clk_get_by_name() argument
163 return -ENOSYS; in clk_get_by_name()
166 static inline int clk_release_all(struct clk *clk, int count) in clk_release_all() argument
168 return -ENOSYS; in clk_release_all()
173 CONFIG_IS_ENABLED(CLK)
175 * clk_set_defaults - Process 'assigned-{clocks/clock-parents/clock-rates}'
190 * clk_release_bulk() - Disable (turn off)/Free an array of previously
196 * @clk: A clock bulk struct that was previously successfully
198 * @return zero on success, or -ve error code.
202 return clk_release_all(bulk->clks, bulk->count); in clk_release_bulk()
206 * clk_request - Request a clock by provider-specific ID.
208 * This requests a clock using a provider-specific ID. Generally, this function
211 * However, this function may be useful in core SoC-specific code.
219 int clk_request(struct udevice *dev, struct clk *clk);
222 * clock_free - Free a previously requested clock.
228 int clk_free(struct clk *clk);
231 * clk_get_rate() - Get current clock rate.
233 * @clk: A clock struct that was previously successfully requested by
235 * @return clock rate in Hz, or -ve error code.
237 ulong clk_get_rate(struct clk *clk);
240 * clk_set_rate() - Set current clock rate.
242 * @clk: A clock struct that was previously successfully requested by
245 * @return new rate, or -ve error code.
247 ulong clk_set_rate(struct clk *clk, ulong rate);
250 * clk_get_phase() - Get the phase shift of a clock signal.
252 * @clk: A clock struct that was previously successfully requested by
254 * @return the phase shift of a clock node in degrees, otherwise returns
255 * -ve error code.
257 int clk_get_phase(struct clk *clk);
260 * clk_set_rate() - Adjust the phase shift of a clock signal.
262 * @clk: A clock struct that was previously successfully requested by
265 * @return 0 on success, or -ve error code.
267 int clk_set_phase(struct clk *clk, int degrees);
270 * clk_set_parent() - Set current clock parent.
272 * @clk: A clock struct that was previously successfully requested by
276 * @return new rate, or -ve error code.
278 int clk_set_parent(struct clk *clk, struct clk *parent);
281 * clk_enable() - Enable (turn on) a clock.
283 * @clk: A clock struct that was previously successfully requested by
285 * @return zero on success, or -ve error code.
287 int clk_enable(struct clk *clk);
290 * clk_enable_bulk() - Enable (turn on) all clocks in a clock bulk struct.
294 * @return zero on success, or -ve error code.
299 * clk_disable() - Disable (turn off) a clock.
301 * @clk: A clock struct that was previously successfully requested by
303 * @return zero on success, or -ve error code.
305 int clk_disable(struct clk *clk);
308 * clk_disable_bulk() - Disable (turn off) all clocks in a clock bulk struct.
312 * @return zero on success, or -ve error code.
321 * clk_valid() - check if clk is valid
323 * @clk: the clock to check
326 static inline bool clk_valid(struct clk *clk) in clk_valid() argument
328 return !!clk->dev; in clk_valid()