blob: 22216887d3da2f5044eca5beff05c422fe738cea (
plain)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#!/bin/sh
#"NVIDIA specific init script"
nvexec() {
# power state
if [ -e /sys/power/state ]; then
chmod 0666 /sys/power/state
fi
# Set minimum cpu freq.
if [ -e /sys/devices/soc0/family ]; then
SOCFAMILY="`cat /sys/devices/soc0/family`"
fi
if [ "$SOCFAMILY" = "Tegra13" ] &&
[ -e /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq ]; then
sudo bash -c "echo -n 510000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"
fi
# CPU hotplugging
if [ -d /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet ] ; then
echo 500 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/down_delay
echo 1 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable
elif [ -w /sys/module/cpu_tegra3/parameters/auto_hotplug ] ; then
# compatibility for prior kernels without cpuquiet support
echo 1 > /sys/module/cpu_tegra3/parameters/auto_hotplug
fi
# lp2 idle state
if [ -e /sys/module/cpuidle/parameters/power_down_in_idle ] ; then
echo "Y" > /sys/module/cpuidle/parameters/power_down_in_idle
elif [ -e /sys/module/cpuidle/parameters/lp2_in_idle ] ; then
# compatibility for prior kernels
echo "Y" > /sys/module/cpuidle/parameters/lp2_in_idle
fi
#FIXME remove once kernel CL merges into main Bug 1231069
for uartInst in 0 1 2 3
do
uartNode="/dev/ttyHS$uartInst"
if [ -e "$uartNode" ]; then
ln -s /dev/ttyHS$uartInst /dev/ttyTHS$uartInst
fi
done
# remove power to dc.0 for jetson-tk1
machine=`cat /sys/devices/soc0/machine`
if [ "${machine}" = "jetson-tk1" ] ; then
echo 4 > /sys/class/graphics/fb0/blank
if [ -e /sys/devices/platform/tegra-otg/enable_device ] ; then
echo 0 > /sys/devices/platform/tegra-otg/enable_device
fi
if [ -e /sys/devices/platform/tegra-otg/enable_host ] ; then
echo 1 > /sys/devices/platform/tegra-otg/enable_host
fi
fi
# CPU frequency governor
if [ -e /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors ]; then
read governors < /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
case $governors in
*interactive*)
echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
if [ -e /sys/devices/system/cpu/cpufreq/interactive ] ; then
echo "1224000" > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
echo "95" > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo "20000" > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
fi
;;
*)
;;
esac
fi
# CPU frequency boost on input event
if [ -e /sys/module/input_cfboost/parameters/boost_freq ]; then
echo "1224000" > /sys/module/input_cfboost/parameters/boost_freq
fi
}
case "$1" in
start)
nvexec
exit 0
;;
*)
exit 1
esac
|