freebsd-dev/sys/arm/freescale/imx
Ian Lepore 0140748043 Rework the cpu frequency management code for imx6.
This adds the concept of "operating points," combinations of frequency
and voltage at which the cpu is known to work correctly.  Some day these
should come from FDT data, but for now the table is hard-coded.

This also allows tuning the min and max operating frequencies.  The min
frequency is what the thermal management code will slow down to if the
core temperature gets too high.  The max frequency is what gets used if
the temperature is okay.

Normally the max cannot be set higher than the value burned into the
ocotp fuses as the chip's rated max, but there is now a new sysctl+tunable
cpu_overclock_enable; when set to non-zero it allows raising the frequency
above the ocotp value: USE WITH CARE!  (At least one of my imx6 boards
has a cpu whose ocotp values never got set correctly; they claim a max
of 792mhz, but the physical markings on the chip say it's good to 1ghz.)

Because all these values affect the entire SoC, there is a new sysctl
node, hw.imx6, where all these values live.  The values that are currently
under dev.imx6_anatop.0 should probably move to hw.imx6 too, because
"anatop" doesn't even mean anything to me, let alone to an end user.
2014-04-02 21:34:48 +00:00
..
console.c Tweak the imx debug console code so that it works with multiple SoCs. 2013-08-03 13:31:10 +00:00
files.imx6 Switch imx6 to using the mpcore per-cpu event timers, but continue to use 2014-04-02 21:06:43 +00:00
files.imx51 Eliminate irq_dispatch.S. Move the data items it contained into arm/intr.c 2014-03-10 18:10:09 +00:00
files.imx53 Eliminate irq_dispatch.S. Move the data items it contained into arm/intr.c 2014-03-10 18:10:09 +00:00
i2c.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx6_anatop.c Rework the cpu frequency management code for imx6. 2014-04-02 21:34:48 +00:00
imx6_anatopreg.h Add basic cpu frequency control and temperature monitoring to imx6_anatop. 2014-02-21 06:00:06 +00:00
imx6_anatopvar.h Add basic cpu frequency control and temperature monitoring to imx6_anatop. 2014-02-21 06:00:06 +00:00
imx6_ccm.c Initialize the Low Power Mode bits to keep the ARM cores running during WFI. 2014-02-27 22:55:33 +00:00
imx6_ccmreg.h Initialize the Low Power Mode bits to keep the ARM cores running during WFI. 2014-02-27 22:55:33 +00:00
imx6_machdep.c Switch imx6 to using the mpcore per-cpu event timers, but continue to use 2014-04-02 21:06:43 +00:00
imx6_mp.c Add a tunable to set the number of active cores, and enable SMP by default. 2014-03-02 19:46:03 +00:00
imx6_pl310.c Add the Soc- / machine-dependent parts of imx6 support. 2013-11-01 00:21:09 +00:00
imx6_usbphy.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx51_ccm.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx51_ccmreg.h Add some bare-bones support for enabling usb and usbphy clocks. This 2013-10-30 14:33:15 +00:00
imx51_ccmvar.h Update copyright date. 2013-05-08 09:42:50 +00:00
imx51_dpllreg.h Update copyright date. 2013-05-08 09:42:50 +00:00
imx51_gpio.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx51_iomux.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx51_iomuxreg.h Update copyright date. 2013-05-08 09:42:50 +00:00
imx51_iomuxvar.h Update copyright date. 2013-05-08 09:42:50 +00:00
imx51_ipuv3_fbd.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx51_ipuv3.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx51_ipuv3reg.h Update copyright date. 2013-05-08 09:42:50 +00:00
imx51_machdep.c Remove local devmap code and use the essentially identical common code 2013-11-05 05:18:18 +00:00
imx51_sdmareg.h Update copyright date. 2013-05-08 09:42:50 +00:00
imx51_ssireg.h Update copyright date. 2013-05-08 09:42:50 +00:00
imx51_tzicreg.h Fix a typo _IMX51_TZICRREG_H_ -> _IMX51_TZICREG_H_ (extra R) 2014-02-23 21:13:04 +00:00
imx53_machdep.c Remove local devmap code and use the essentially identical common code 2013-11-05 05:18:18 +00:00
imx_common.c Move all the files named foo/common.c to foo/foo_common.c, as 2014-03-08 00:14:40 +00:00
imx_gpt.c Replace many pasted identical definitions of cpu_initclocks() with a common 2014-02-26 22:06:10 +00:00
imx_gptreg.h Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
imx_gptvar.h Update copyright date. 2013-05-08 09:42:50 +00:00
imx_machdep.c Remove local devmap code and use the essentially identical common code 2013-11-05 05:18:18 +00:00
imx_machdep.h Remove a couple obsolete function declarations. 2014-02-13 19:14:23 +00:00
imx_nop_usbphy.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx_sdhci.c Don't call sdhci_init_slot() until after handling the FDT properties 2014-04-02 19:06:53 +00:00
imx_wdog.c Follow r261352 by updating all drivers which are children of simplebus 2014-02-02 19:17:28 +00:00
imx_wdogreg.h Update copyright date. 2013-05-08 09:42:50 +00:00
std.imx6 Add the bits needed to run SMP on imx6. 2014-02-24 03:51:31 +00:00
std.imx51 Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with 2014-01-28 09:12:04 +00:00
std.imx53 Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with 2014-01-28 09:12:04 +00:00
tzic.c Move Open Firmware device root on PowerPC, ARM, and MIPS systems to 2014-02-05 14:44:22 +00:00