Lines Matching full:sci
2 * SCI Clock driver for keystone based devices
33 * struct sci_clk_provider - TI SCI clock provider representation
34 * @sci: Handle to the System Control Interface protocol handler
35 * @ops: Pointer to the SCI ops to be used by the clocks
41 const struct ti_sci_handle *sci; member
49 * struct sci_clk - TI SCI clock representation
75 * sci_clk_prepare - Prepare (enable) a TI SCI clock
78 * Prepares a clock to be actively used. Returns the SCI protocol status.
87 return clk->provider->ops->get_clock(clk->provider->sci, clk->dev_id, in sci_clk_prepare()
94 * sci_clk_unprepare - Un-prepares (disables) a TI SCI clock
104 ret = clk->provider->ops->put_clock(clk->provider->sci, clk->dev_id, in sci_clk_unprepare()
113 * sci_clk_is_prepared - Check if a TI SCI clock is prepared or not
125 ret = clk->provider->ops->is_on(clk->provider->sci, clk->dev_id, in sci_clk_is_prepared()
139 * sci_clk_recalc_rate - Get clock rate for a TI SCI clock
143 * Gets the current clock rate of a TI SCI clock. Returns the current
153 ret = clk->provider->ops->get_freq(clk->provider->sci, clk->dev_id, in sci_clk_recalc_rate()
170 * Determines a suitable clock rate and parent for a TI SCI clock.
187 ret = clk->provider->ops->get_best_match_freq(clk->provider->sci, in sci_clk_determine_rate()
210 * sci_clk_set_rate - Set rate for a TI SCI clock
213 * @parent_rate: rate of the clock parent, not used for TI SCI clocks
215 * Sets a clock frequency for a TI SCI clock. Returns the TI SCI
223 return clk->provider->ops->set_freq(clk->provider->sci, clk->dev_id, in sci_clk_set_rate()
229 * sci_clk_get_parent - Get the current parent of a TI SCI clock
232 * Returns the index of the currently selected parent for a TI SCI clock.
240 ret = clk->provider->ops->get_parent(clk->provider->sci, clk->dev_id, in sci_clk_get_parent()
255 * sci_clk_set_parent - Set the parent of a TI SCI clock
259 * Sets the parent of a TI SCI clock. Return TI SCI protocol status.
267 return clk->provider->ops->set_parent(clk->provider->sci, clk->dev_id, in sci_clk_set_parent()
284 * _sci_clk_get - Gets a handle for an SCI clock
285 * @provider: Handle to SCI clock provider
286 * @sci_clk: Handle to the SCI clock to populate
288 * Gets a handle to an existing TI SCI hw clock, or builds a new clock
380 * Xlate function for retrieving clock TI SCI hw clock handles based on
383 * to the TI SCI hw clock struct, or ERR_PTR value in failure.
421 { .compatible = "ti,k2g-sci-clk" },
442 ret = provider->ops->get_num_parents(provider->sci, dev_id, in ti_sci_scan_clocks_from_fw()
564 provider->ops->get_num_parents(provider->sci, in ti_sci_scan_clocks_from_dt()
580 * any mux clock from sci-clk driver in ti_sci_scan_clocks_from_dt()
640 * ti_sci_clk_probe - Probe function for the TI SCI clock driver
643 * Probes the TI SCI clock device. Allocates a new clock provider
665 provider->sci = handle; in ti_sci_clk_probe()
685 pr_err("ti-sci-init-clocks failed.\n"); in ti_sci_clk_probe()
693 * ti_sci_clk_remove - Remove TI SCI clock device
696 * Removes the TI SCI device. Unregisters the clock provider registered
711 .name = "ti-sci-clk",
718 MODULE_DESCRIPTION("TI System Control Interface(SCI) Clock driver");
720 MODULE_ALIAS("platform:ti-sci-clk");