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.h (2513B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 *
      4 * Copyright (C) 2010 John Crispin <john@phrozen.org>
      5 */
      6
      7#ifndef _LTQ_CLK_H__
      8#define _LTQ_CLK_H__
      9
     10#include <linux/clkdev.h>
     11
     12/* clock speeds */
     13#define CLOCK_33M	33333333
     14#define CLOCK_60M	60000000
     15#define CLOCK_62_5M	62500000
     16#define CLOCK_83M	83333333
     17#define CLOCK_83_5M	83500000
     18#define CLOCK_98_304M	98304000
     19#define CLOCK_100M	100000000
     20#define CLOCK_111M	111111111
     21#define CLOCK_125M	125000000
     22#define CLOCK_133M	133333333
     23#define CLOCK_150M	150000000
     24#define CLOCK_166M	166666666
     25#define CLOCK_167M	166666667
     26#define CLOCK_196_608M	196608000
     27#define CLOCK_200M	200000000
     28#define CLOCK_222M	222000000
     29#define CLOCK_240M	240000000
     30#define CLOCK_250M	250000000
     31#define CLOCK_266M	266666666
     32#define CLOCK_288M	288888888
     33#define CLOCK_300M	300000000
     34#define CLOCK_333M	333333333
     35#define CLOCK_360M	360000000
     36#define CLOCK_393M	393215332
     37#define CLOCK_400M	400000000
     38#define CLOCK_432M	432000000
     39#define CLOCK_450M	450000000
     40#define CLOCK_500M	500000000
     41#define CLOCK_600M	600000000
     42#define CLOCK_666M	666666666
     43#define CLOCK_720M	720000000
     44
     45/* clock out speeds */
     46#define CLOCK_32_768K	32768
     47#define CLOCK_1_536M	1536000
     48#define CLOCK_2_5M	2500000
     49#define CLOCK_12M	12000000
     50#define CLOCK_24M	24000000
     51#define CLOCK_25M	25000000
     52#define CLOCK_30M	30000000
     53#define CLOCK_40M	40000000
     54#define CLOCK_48M	48000000
     55#define CLOCK_50M	50000000
     56#define CLOCK_60M	60000000
     57
     58struct clk {
     59	struct clk_lookup cl;
     60	unsigned long rate;
     61	unsigned long *rates;
     62	unsigned int module;
     63	unsigned int bits;
     64	unsigned long (*get_rate) (void);
     65	int (*enable) (struct clk *clk);
     66	void (*disable) (struct clk *clk);
     67	int (*activate) (struct clk *clk);
     68	void (*deactivate) (struct clk *clk);
     69	void (*reboot) (struct clk *clk);
     70};
     71
     72extern void clkdev_add_static(unsigned long cpu, unsigned long fpi,
     73				unsigned long io, unsigned long ppe);
     74
     75extern unsigned long ltq_danube_cpu_hz(void);
     76extern unsigned long ltq_danube_fpi_hz(void);
     77extern unsigned long ltq_danube_pp32_hz(void);
     78
     79extern unsigned long ltq_ar9_cpu_hz(void);
     80extern unsigned long ltq_ar9_fpi_hz(void);
     81
     82extern unsigned long ltq_vr9_cpu_hz(void);
     83extern unsigned long ltq_vr9_fpi_hz(void);
     84extern unsigned long ltq_vr9_pp32_hz(void);
     85
     86extern unsigned long ltq_ar10_cpu_hz(void);
     87extern unsigned long ltq_ar10_fpi_hz(void);
     88extern unsigned long ltq_ar10_pp32_hz(void);
     89
     90extern unsigned long ltq_grx390_cpu_hz(void);
     91extern unsigned long ltq_grx390_fpi_hz(void);
     92extern unsigned long ltq_grx390_pp32_hz(void);
     93
     94#endif