linux-stable/include/linux/interconnect-clk.h
Dmitry Baryshkov 0ac2a08f42 interconnect: add clk-based icc provider support
For some devices it is useful to export clocks as interconnect providers,
if the clock corresponds to bus bandwidth.

For example, on MSM8996 the cluster interconnect clock should be scaled
according to the cluster frequencies. Exporting it as an interconnect
allows one to properly describe this as the cluster bandwidth
requirements.

Tested-by: Yassine Oudjana <y.oudjana@protonmail.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20230512001334.2983048-3-dmitry.baryshkov@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2023-05-18 19:02:23 +03:00

22 lines
466 B
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2023, Linaro Ltd.
*/
#ifndef __LINUX_INTERCONNECT_CLK_H
#define __LINUX_INTERCONNECT_CLK_H
struct device;
struct icc_clk_data {
struct clk *clk;
const char *name;
};
struct icc_provider *icc_clk_register(struct device *dev,
unsigned int first_id,
unsigned int num_clocks,
const struct icc_clk_data *data);
void icc_clk_unregister(struct icc_provider *provider);
#endif