mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 03:05:21 +07:00
84655b762a
As we want to move these clocks over to probe from the device tree we add a device tree probing path. The old platform data path will be deleted once we have the device tree overall code in place. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lkml.kernel.org/r/20200219103326.81120-3-linus.walleij@linaro.org Signed-off-by: Stephen Boyd <sboyd@kernel.org>
42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
struct regmap;
|
|
|
|
/**
|
|
* enum icst_control_type - the type of ICST control register
|
|
*/
|
|
enum icst_control_type {
|
|
ICST_VERSATILE, /* The standard type, all control bits available */
|
|
ICST_INTEGRATOR_AP_CM, /* Only 8 bits of VDW available */
|
|
ICST_INTEGRATOR_AP_SYS, /* Only 8 bits of VDW available */
|
|
ICST_INTEGRATOR_AP_PCI, /* Odd bit pattern storage */
|
|
ICST_INTEGRATOR_CP_CM_CORE, /* Only 8 bits of VDW and 3 bits of OD */
|
|
ICST_INTEGRATOR_CP_CM_MEM, /* Only 8 bits of VDW and 3 bits of OD */
|
|
ICST_INTEGRATOR_IM_PD1, /* Like the Versatile, all control bits */
|
|
};
|
|
|
|
/**
|
|
* struct clk_icst_desc - descriptor for the ICST VCO
|
|
* @params: ICST parameters
|
|
* @vco_offset: offset to the ICST VCO from the provided memory base
|
|
* @lock_offset: offset to the ICST VCO locking register from the provided
|
|
* memory base
|
|
*/
|
|
struct clk_icst_desc {
|
|
const struct icst_params *params;
|
|
u32 vco_offset;
|
|
u32 lock_offset;
|
|
};
|
|
|
|
struct clk *icst_clk_register(struct device *dev,
|
|
const struct clk_icst_desc *desc,
|
|
const char *name,
|
|
const char *parent_name,
|
|
void __iomem *base);
|
|
|
|
struct clk *icst_clk_setup(struct device *dev,
|
|
const struct clk_icst_desc *desc,
|
|
const char *name,
|
|
const char *parent_name,
|
|
struct regmap *map,
|
|
enum icst_control_type ctype);
|