linux/Documentation/frv/clock.txt
<<
>>
Prefs
   1Clock scaling
   2-------------
   3
   4The kernel supports scaling of CLCK.CMODE, CLCK.CM and CLKC.P0 clock
   5registers. If built with CONFIG_PM and CONFIG_SYSCTL options enabled, four
   6extra files will appear in the directory /proc/sys/pm/. Reading these files
   7will show:
   8
   9      p0                -- current value of the P0 bit in CLKC register.
  10      cm                -- current value of the CM bits in CLKC register.
  11      cmode             -- current value of the CMODE bits in CLKC register.
  12
  13On all boards, the 'p0' file should also be writable, and either '1' or '0'
  14can be rewritten, to set or clear the CLKC_P0 bit respectively, hence
  15controlling whether the resource bus rate clock is halved.
  16
  17The 'cm' file should also be available on all boards. '0' can be written to it
  18to shift the board into High-Speed mode (normal), and '1' can be written to
  19shift the board into Medium-Speed mode. Selecting Low-Speed mode is not
  20supported by this interface, even though some CPUs do support it.
  21
  22On the boards with FR405 CPU (i.e. CB60 and CB70), the 'cmode' file is also
  23writable, allowing the CPU core speed (and other clock speeds) to be
  24controlled from userspace.
  25
  26
  27Determining current and possible settings
  28-----------------------------------------
  29
  30The current state and the available masks can be found in /proc/cpuinfo. For
  31example, on the CB70:
  32
  33        # cat /proc/cpuinfo
  34        CPU-Series:     fr400
  35        CPU-Core:       fr405, gr0-31, BE, CCCR
  36        CPU:            mb93405
  37        MMU:            Prot
  38        FP-Media:       fr0-31, Media
  39        System:         mb93091-cb70, mb93090-mb00
  40        PM-Controls:    cmode=0xd31f, cm=0x3, p0=0x3, suspend=0x9
  41        PM-Status:      cmode=3, cm=0, p0=0
  42        Clock-In:       50.00 MHz
  43        Clock-Core:     300.00 MHz
  44        Clock-SDRAM:    100.00 MHz
  45        Clock-CBus:     100.00 MHz
  46        Clock-Res:      50.00 MHz
  47        Clock-Ext:      50.00 MHz
  48        Clock-DSU:      25.00 MHz
  49        BogoMips:       300.00
  50
  51And on the PDK, the PM lines look like the following:
  52
  53        PM-Controls:    cm=0x3, p0=0x3, suspend=0x9
  54        PM-Status:      cmode=9, cm=0, p0=0
  55
  56The PM-Controls line, if present, will indicate which /proc/sys/pm files can
  57be set to what values. The specification values are bitmasks; so, for example,
  58"suspend=0x9" indicates that 0 and 3 can be written validly to
  59/proc/sys/pm/suspend.
  60
  61The PM-Controls line will only be present if CONFIG_PM is configured to Y.
  62
  63The PM-Status line indicates which clock controls are set to which value. If
  64the file can be read, then the suspend value must be 0, and so that's not
  65included.
  66