tty: serial: qcom_geni_serial: Use OPP API to set clk/perf state
geni serial needs to express a perforamnce state requirement on CX powerdomain depending on the frequency of the clock rates. Use OPP table from DT to register with OPP framework and use dev_pm_opp_set_rate() to set the clk/perf state. Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Akash Asthana <akashast@codeaurora.org> Cc: linux-serial@vger.kernel.org Link: https://lore.kernel.org/r/1592222564-13556-2-git-send-email-rnayak@codeaurora.org Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:

committed by
Bjorn Andersson

parent
cff80645d6
commit
a5819b548a
@@ -47,6 +47,8 @@ struct geni_icc_path {
|
||||
* @num_clk_levels: Number of valid clock levels in clk_perf_tbl
|
||||
* @clk_perf_tbl: Table of clock frequency input to serial engine clock
|
||||
* @icc_paths: Array of ICC paths for SE
|
||||
* @opp_table: Pointer to the OPP table
|
||||
* @has_opp_table: Specifies if the SE has an OPP table
|
||||
*/
|
||||
struct geni_se {
|
||||
void __iomem *base;
|
||||
@@ -56,6 +58,8 @@ struct geni_se {
|
||||
unsigned int num_clk_levels;
|
||||
unsigned long *clk_perf_tbl;
|
||||
struct geni_icc_path icc_paths[3];
|
||||
struct opp_table *opp_table;
|
||||
bool has_opp_table;
|
||||
};
|
||||
|
||||
/* Common SE registers */
|
||||
|
Reference in New Issue
Block a user