root/arch/mips/lantiq/clk.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 
  58 struct 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 
  72 extern void clkdev_add_static(unsigned long cpu, unsigned long fpi,
  73                                 unsigned long io, unsigned long ppe);
  74 
  75 extern unsigned long ltq_danube_cpu_hz(void);
  76 extern unsigned long ltq_danube_fpi_hz(void);
  77 extern unsigned long ltq_danube_pp32_hz(void);
  78 
  79 extern unsigned long ltq_ar9_cpu_hz(void);
  80 extern unsigned long ltq_ar9_fpi_hz(void);
  81 
  82 extern unsigned long ltq_vr9_cpu_hz(void);
  83 extern unsigned long ltq_vr9_fpi_hz(void);
  84 extern unsigned long ltq_vr9_pp32_hz(void);
  85 
  86 extern unsigned long ltq_ar10_cpu_hz(void);
  87 extern unsigned long ltq_ar10_fpi_hz(void);
  88 extern unsigned long ltq_ar10_pp32_hz(void);
  89 
  90 extern unsigned long ltq_grx390_cpu_hz(void);
  91 extern unsigned long ltq_grx390_fpi_hz(void);
  92 extern unsigned long ltq_grx390_pp32_hz(void);
  93 
  94 #endif

/* [<][>][^][v][top][bottom][index][help] */