cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

clk-icst.h (1342B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2struct regmap;
      3
      4/**
      5 * enum icst_control_type - the type of ICST control register
      6 */
      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 VCO
     19 * @params: ICST parameters
     20 * @vco_offset: offset to the ICST VCO from the provided memory base
     21 * @lock_offset: offset to the ICST VCO locking register from the provided
     22 *	memory base
     23 */
     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);