Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/arch



Module Name:    src
Committed By:   bouyer
Date:           Sat Oct 17 15:30:14 UTC 2015

Modified Files:
        src/sys/arch/arm/allwinner: awin_board.c awin_reg.h awin_var.h
        src/sys/arch/evbarm/awin: awin_machdep.c
        src/sys/arch/evbarm/conf: BPI CUBIEBOARD

Log Message:
Implement CPU frequency switching for A20.
This requires adjusting the CPU voltage, so enable the axp20x driver for
A20 boards.
In evbarm/awin/awin_machdep.c, the DCDC powering up the CPU cores needs to
be defined for each board. The board machine-dependant code (at this time,
only awin_machdep.c) has to provide a awin_set_mpu_volt() function
which calls the right PMU driver to change the CPU core voltage.

The CPU frequency/voltage table in awin_board.c comes from various
sources: linux kernel, device tree and fex scripts, and experiments on
olimex lime2 and cubieboard 2.
The following sysctls are provided (compatible with estd):
machdep.frequency.min,machdep.frequency.max: writable lower and upper
   bounds of the useable frequencies. Affects machdep.frequency.available.
   Lower bound defaults to 700Mhz, as does linux.
   Upper bound defaults to 960Mhz, which is the boot frequency
   on the boards I tested. There is a 1008Mhz entry available,
   but requires an out of spec CPU voltage (more than 1.4V) so it's
   not available by default.
machdep.frequency.available: list of available frequencies. This is
   the CPU frequency/voltage table, bound by machdep.frequency.{min,max}.
machdep.frequency.current: current CPU speed. Write a new value to change
  the CPU speed, only values from machdep.frequency.available are
  accepted.


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/sys/arch/arm/allwinner/awin_board.c
cvs rdiff -u -r1.79 -r1.80 src/sys/arch/arm/allwinner/awin_reg.h
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/arm/allwinner/awin_var.h
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/evbarm/awin/awin_machdep.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/evbarm/conf/BPI
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/evbarm/conf/CUBIEBOARD

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index