Lines Matching full:sci
3 * SCI Clock driver for keystone based devices
25 * struct sci_clk_provider - TI SCI clock provider representation
26 * @sci: Handle to the System Control Interface protocol handler
27 * @ops: Pointer to the SCI ops to be used by the clocks
33 const struct ti_sci_handle *sci; member
41 * struct sci_clk - TI SCI clock representation
67 * sci_clk_prepare - Prepare (enable) a TI SCI clock
70 * Prepares a clock to be actively used. Returns the SCI protocol status.
79 return clk->provider->ops->get_clock(clk->provider->sci, clk->dev_id, in sci_clk_prepare()
86 * sci_clk_unprepare - Un-prepares (disables) a TI SCI clock
96 ret = clk->provider->ops->put_clock(clk->provider->sci, clk->dev_id, in sci_clk_unprepare()
105 * sci_clk_is_prepared - Check if a TI SCI clock is prepared or not
117 ret = clk->provider->ops->is_on(clk->provider->sci, clk->dev_id, in sci_clk_is_prepared()
131 * sci_clk_recalc_rate - Get clock rate for a TI SCI clock
135 * Gets the current clock rate of a TI SCI clock. Returns the current
145 ret = clk->provider->ops->get_freq(clk->provider->sci, clk->dev_id, in sci_clk_recalc_rate()
162 * Determines a suitable clock rate and parent for a TI SCI clock.
179 ret = clk->provider->ops->get_best_match_freq(clk->provider->sci, in sci_clk_determine_rate()
202 * sci_clk_set_rate - Set rate for a TI SCI clock
205 * @parent_rate: rate of the clock parent, not used for TI SCI clocks
207 * Sets a clock frequency for a TI SCI clock. Returns the TI SCI
215 return clk->provider->ops->set_freq(clk->provider->sci, clk->dev_id, in sci_clk_set_rate()
221 * sci_clk_get_parent - Get the current parent of a TI SCI clock
224 * Returns the index of the currently selected parent for a TI SCI clock.
232 ret = clk->provider->ops->get_parent(clk->provider->sci, clk->dev_id, in sci_clk_get_parent()
247 * sci_clk_set_parent - Set the parent of a TI SCI clock
251 * Sets the parent of a TI SCI clock. Return TI SCI protocol status.
259 return clk->provider->ops->set_parent(clk->provider->sci, clk->dev_id, in sci_clk_set_parent()
276 * _sci_clk_get - Gets a handle for an SCI clock
277 * @provider: Handle to SCI clock provider
278 * @sci_clk: Handle to the SCI clock to populate
280 * Gets a handle to an existing TI SCI hw clock, or builds a new clock
372 * Xlate function for retrieving clock TI SCI hw clock handles based on
375 * to the TI SCI hw clock struct, or ERR_PTR value in failure.
413 { .compatible = "ti,k2g-sci-clk" },
434 ret = provider->ops->get_num_parents(provider->sci, dev_id, in ti_sci_scan_clocks_from_fw()
556 provider->ops->get_num_parents(provider->sci, in ti_sci_scan_clocks_from_dt()
572 * any mux clock from sci-clk driver in ti_sci_scan_clocks_from_dt()
632 * ti_sci_clk_probe - Probe function for the TI SCI clock driver
635 * Probes the TI SCI clock device. Allocates a new clock provider
657 provider->sci = handle; in ti_sci_clk_probe()
677 pr_err("ti-sci-init-clocks failed.\n"); in ti_sci_clk_probe()
685 * ti_sci_clk_remove - Remove TI SCI clock device
688 * Removes the TI SCI device. Unregisters the clock provider registered
703 .name = "ti-sci-clk",
710 MODULE_DESCRIPTION("TI System Control Interface(SCI) Clock driver");
712 MODULE_ALIAS("platform:ti-sci-clk");