Lines Matching full:sci

3  * SCI Clock driver for keystone based devices
24 * struct sci_clk_provider - TI SCI clock provider representation
25 * @sci: Handle to the System Control Interface protocol handler
26 * @ops: Pointer to the SCI ops to be used by the clocks
32 const struct ti_sci_handle *sci; member
40 * struct sci_clk - TI SCI clock representation
66 * sci_clk_prepare - Prepare (enable) a TI SCI clock
69 * Prepares a clock to be actively used. Returns the SCI protocol status.
78 return clk->provider->ops->get_clock(clk->provider->sci, clk->dev_id, in sci_clk_prepare()
85 * sci_clk_unprepare - Un-prepares (disables) a TI SCI clock
95 ret = clk->provider->ops->put_clock(clk->provider->sci, clk->dev_id, in sci_clk_unprepare()
104 * sci_clk_is_prepared - Check if a TI SCI clock is prepared or not
116 ret = clk->provider->ops->is_on(clk->provider->sci, clk->dev_id, in sci_clk_is_prepared()
130 * sci_clk_recalc_rate - Get clock rate for a TI SCI clock
134 * Gets the current clock rate of a TI SCI clock. Returns the current
144 ret = clk->provider->ops->get_freq(clk->provider->sci, clk->dev_id, in sci_clk_recalc_rate()
161 * Determines a suitable clock rate and parent for a TI SCI clock.
178 ret = clk->provider->ops->get_best_match_freq(clk->provider->sci, in sci_clk_determine_rate()
201 * sci_clk_set_rate - Set rate for a TI SCI clock
204 * @parent_rate: rate of the clock parent, not used for TI SCI clocks
206 * Sets a clock frequency for a TI SCI clock. Returns the TI SCI
214 return clk->provider->ops->set_freq(clk->provider->sci, clk->dev_id, in sci_clk_set_rate()
220 * sci_clk_get_parent - Get the current parent of a TI SCI clock
223 * Returns the index of the currently selected parent for a TI SCI clock.
231 ret = clk->provider->ops->get_parent(clk->provider->sci, clk->dev_id, in sci_clk_get_parent()
246 * sci_clk_set_parent - Set the parent of a TI SCI clock
250 * Sets the parent of a TI SCI clock. Return TI SCI protocol status.
258 return clk->provider->ops->set_parent(clk->provider->sci, clk->dev_id, in sci_clk_set_parent()
275 * _sci_clk_build - Gets a handle for an SCI clock
276 * @provider: Handle to SCI clock provider
277 * @sci_clk: Handle to the SCI clock to populate
279 * Gets a handle to an existing TI SCI hw clock, or builds a new clock
373 * Xlate function for retrieving clock TI SCI hw clock handles based on
376 * to the TI SCI hw clock struct, or ERR_PTR value in failure.
414 { .compatible = "ti,k2g-sci-clk" },
435 ret = provider->ops->get_num_parents(provider->sci, dev_id, in ti_sci_scan_clocks_from_fw()
558 provider->ops->get_num_parents(provider->sci, in ti_sci_scan_clocks_from_dt()
574 * any mux clock from sci-clk driver in ti_sci_scan_clocks_from_dt()
591 ret = provider->ops->is_auto(provider->sci, in ti_sci_scan_clocks_from_dt()
643 * ti_sci_clk_probe - Probe function for the TI SCI clock driver
646 * Probes the TI SCI clock device. Allocates a new clock provider
668 provider->sci = handle; in ti_sci_clk_probe()
688 pr_err("ti-sci-init-clocks failed.\n"); in ti_sci_clk_probe()
696 * ti_sci_clk_remove - Remove TI SCI clock device
699 * Removes the TI SCI device. Unregisters the clock provider registered
712 .name = "ti-sci-clk",
719 MODULE_DESCRIPTION("TI System Control Interface(SCI) Clock driver");
721 MODULE_ALIAS("platform:ti-sci-clk");