linux/Documentation/sh/clk.txt
<<
>>
Prefs
   1Clock framework on SuperH architecture
   2
   3The framework on SH extends existing API by the function clk_set_rate_ex,
   4which prototype is as follows:
   5
   6    clk_set_rate_ex (struct clk *clk, unsigned long rate, int algo_id)
   7
   8The algo_id parameter is used to specify algorithm used to recalculate clocks,
   9adjanced to clock, specified as first argument. It is assumed that algo_id==0
  10means no changes to adjanced clock
  11
  12Internally, the clk_set_rate_ex forwards request to clk->ops->set_rate method,
  13if it is present in ops structure. The method should set the clock rate and adjust
  14all needed clocks according to the passed algo_id.
  15Exact values for algo_id are machine-dependent. For the sh7722, the following
  16values are defined:
  17
  18        NO_CHANGE       = 0,
  19        IUS_N1_N1,      /* I:U = N:1, U:Sh = N:1 */
  20        IUS_322,        /* I:U:Sh = 3:2:2        */
  21        IUS_522,        /* I:U:Sh = 5:2:2        */
  22        IUS_N11,        /* I:U:Sh = N:1:1        */
  23        SB_N1,          /* Sh:B = N:1            */
  24        SB3_N1,         /* Sh:B3 = N:1           */
  25        SB3_32,         /* Sh:B3 = 3:2           */
  26        SB3_43,         /* Sh:B3 = 4:3           */
  27        SB3_54,         /* Sh:B3 = 5:4           */
  28        BP_N1,          /* B:P   = N:1           */
  29        IP_N1           /* I:P   = N:1           */
  30
  31Each of these constants means relation between clocks that can be set via the FRQCR
  32register
  33