brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · 1a119ef Raw
42 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2struct regmap;3 4/**5 * enum icst_control_type - the type of ICST control register6 */7enum icst_control_type {8	ICST_VERSATILE, /* The standard type, all control bits available */9	ICST_INTEGRATOR_AP_CM, /* Only 8 bits of VDW available */10	ICST_INTEGRATOR_AP_SYS, /* Only 8 bits of VDW available */11	ICST_INTEGRATOR_AP_PCI, /* Odd bit pattern storage */12	ICST_INTEGRATOR_CP_CM_CORE, /* Only 8 bits of VDW and 3 bits of OD */13	ICST_INTEGRATOR_CP_CM_MEM, /* Only 8 bits of VDW and 3 bits of OD */14	ICST_INTEGRATOR_IM_PD1, /* Like the Versatile, all control bits */15};16 17/**18 * struct clk_icst_desc - descriptor for the ICST VCO19 * @params: ICST parameters20 * @vco_offset: offset to the ICST VCO from the provided memory base21 * @lock_offset: offset to the ICST VCO locking register from the provided22 *	memory base23 */24struct clk_icst_desc {25	const struct icst_params *params;26	u32 vco_offset;27	u32 lock_offset;28};29 30struct clk *icst_clk_register(struct device *dev,31			      const struct clk_icst_desc *desc,32			      const char *name,33			      const char *parent_name,34			      void __iomem *base);35 36struct clk *icst_clk_setup(struct device *dev,37			   const struct clk_icst_desc *desc,38			   const char *name,39			   const char *parent_name,40			   struct regmap *map,41			   enum icst_control_type ctype);42