Blame view

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