Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/freescale/imx/imx6_anatop.c
Show All 12 Lines | |||||
uint32_t cfg3speed; | uint32_t cfg3speed; | ||||
struct oppt * op; | struct oppt * op; | ||||
SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | ||||
OID_AUTO, "cpu_mhz", CTLFLAG_RD, &sc->cpu_curmhz, 0, | OID_AUTO, "cpu_mhz", CTLFLAG_RD, &sc->cpu_curmhz, 0, | ||||
"CPU frequency"); | "CPU frequency"); | ||||
SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | ||||
OID_AUTO, "cpu_minmhz", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NOFETCH, | OID_AUTO, "cpu_minmhz", | ||||
CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NOFETCH | CTLFLAG_NEEDGIANT, | |||||
sc, 0, cpufreq_sysctl_minmhz, "IU", "Minimum CPU frequency"); | sc, 0, cpufreq_sysctl_minmhz, "IU", "Minimum CPU frequency"); | ||||
SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | ||||
OID_AUTO, "cpu_maxmhz", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NOFETCH, | OID_AUTO, "cpu_maxmhz", | ||||
CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_NOFETCH | CTLFLAG_NEEDGIANT, | |||||
sc, 0, cpufreq_sysctl_maxmhz, "IU", "Maximum CPU frequency"); | sc, 0, cpufreq_sysctl_maxmhz, "IU", "Maximum CPU frequency"); | ||||
SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | ||||
OID_AUTO, "cpu_maxmhz_hw", CTLFLAG_RD, &sc->cpu_maxmhz_hw, 0, | OID_AUTO, "cpu_maxmhz_hw", CTLFLAG_RD, &sc->cpu_maxmhz_hw, 0, | ||||
"Maximum CPU frequency allowed by hardware"); | "Maximum CPU frequency allowed by hardware"); | ||||
SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | ||||
OID_AUTO, "cpu_overclock_enable", CTLFLAG_RWTUN, | OID_AUTO, "cpu_overclock_enable", CTLFLAG_RWTUN, | ||||
Show All 24 Lines | |||||
while (sc->temp_last_cnt == 0) | while (sc->temp_last_cnt == 0) | ||||
temp_update_count(sc); | temp_update_count(sc); | ||||
sc->temp_throttle_delay = 100 * SBT_1MS; | sc->temp_throttle_delay = 100 * SBT_1MS; | ||||
callout_init(&sc->temp_throttle_callout, 0); | callout_init(&sc->temp_throttle_callout, 0); | ||||
callout_reset_sbt(&sc->temp_throttle_callout, sc->temp_throttle_delay, | callout_reset_sbt(&sc->temp_throttle_callout, sc->temp_throttle_delay, | ||||
0, tempmon_throttle_check, sc, 0); | 0, tempmon_throttle_check, sc, 0); | ||||
SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | ||||
OID_AUTO, "temperature", CTLTYPE_INT | CTLFLAG_RD, sc, 0, | OID_AUTO, "temperature", | ||||
CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, sc, 0, | |||||
temp_sysctl_handler, "IK", "Current die temperature"); | temp_sysctl_handler, "IK", "Current die temperature"); | ||||
SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_imx), | ||||
OID_AUTO, "throttle_temperature", CTLTYPE_INT | CTLFLAG_RW, sc, | OID_AUTO, "throttle_temperature", | ||||
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT, sc, | |||||
0, temp_throttle_sysctl_handler, "IK", | 0, temp_throttle_sysctl_handler, "IK", | ||||
"Throttle CPU when exceeding this temperature"); | "Throttle CPU when exceeding this temperature"); | ||||
} | } | ||||
static void | static void | ||||
intr_setup(void *arg) | intr_setup(void *arg) | ||||
{ | { | ||||
int rid; | int rid; | ||||
Show All 12 Lines |