diff options
Diffstat (limited to 'recipes-bsp/binary-drivers/linux-driver-package')
-rwxr-xr-x | recipes-bsp/binary-drivers/linux-driver-package/nv | 87 | ||||
-rw-r--r-- | recipes-bsp/binary-drivers/linux-driver-package/nv.service | 18 | ||||
-rwxr-xr-x | recipes-bsp/binary-drivers/linux-driver-package/nvfb | 25 | ||||
-rw-r--r-- | recipes-bsp/binary-drivers/linux-driver-package/nvfb.service | 17 | ||||
-rw-r--r-- | recipes-bsp/binary-drivers/linux-driver-package/tegra_xusb_firmware | bin | 0 -> 124416 bytes | |||
-rw-r--r-- | recipes-bsp/binary-drivers/linux-driver-package/xorg.conf | 22 | ||||
-rw-r--r-- | recipes-bsp/binary-drivers/linux-driver-package/xorg.conf.add | 11 |
7 files changed, 180 insertions, 0 deletions
diff --git a/recipes-bsp/binary-drivers/linux-driver-package/nv b/recipes-bsp/binary-drivers/linux-driver-package/nv new file mode 100755 index 0000000..2221688 --- /dev/null +++ b/recipes-bsp/binary-drivers/linux-driver-package/nv @@ -0,0 +1,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 diff --git a/recipes-bsp/binary-drivers/linux-driver-package/nv.service b/recipes-bsp/binary-drivers/linux-driver-package/nv.service new file mode 100644 index 0000000..3fab9b2 --- /dev/null +++ b/recipes-bsp/binary-drivers/linux-driver-package/nv.service @@ -0,0 +1,18 @@ +[Unit] +Description=Nvidia binary driver init script +After=nvfb.service + +[Install] +WantedBy=multi-user.target + +[Service] +Type=forking +Restart=no +TimeoutSec=5min +IgnoreSIGPIPE=no +KillMode=process +GuessMainPID=no +RemainAfterExit=yes +ExecStart=/etc/init.d/nv start +ExecStop=/etc/init.d/nv stop + diff --git a/recipes-bsp/binary-drivers/linux-driver-package/nvfb b/recipes-bsp/binary-drivers/linux-driver-package/nvfb new file mode 100755 index 0000000..e5f4502 --- /dev/null +++ b/recipes-bsp/binary-drivers/linux-driver-package/nvfb @@ -0,0 +1,25 @@ +#!/bin/sh +#"specific first-boot script" + +nvexec() { + RET=0 + if [ ! -e /etc/nv/nvfirstboot ]; then + RET=0 + else + echo "/usr/lib/arm-linux-gnueabihf/tegra" >> /etc/ld.so.conf + echo "/usr/lib/arm-linux-gnueabihf/tegra-egl" >> /etc/ld.so.conf + + ldconfig + rm -rf /etc/nv/nvfirstboot + fi + exit $RET +} + +case "$1" in + start) + nvexec + exit 0 + ;; + *) + exit 1 +esac diff --git a/recipes-bsp/binary-drivers/linux-driver-package/nvfb.service b/recipes-bsp/binary-drivers/linux-driver-package/nvfb.service new file mode 100644 index 0000000..4d923da --- /dev/null +++ b/recipes-bsp/binary-drivers/linux-driver-package/nvfb.service @@ -0,0 +1,17 @@ +[Unit] +Description=Nvidia binary driver first-boot script +Before=nv.service + +[Install] +WantedBy=multi-user.target + +[Service] +Type=forking +Restart=no +TimeoutSec=5min +IgnoreSIGPIPE=no +KillMode=process +GuessMainPID=no +RemainAfterExit=yes +ExecStart=/etc/init.d/nvfb start +ExecStop=/etc/init.d/nvfb stop diff --git a/recipes-bsp/binary-drivers/linux-driver-package/tegra_xusb_firmware b/recipes-bsp/binary-drivers/linux-driver-package/tegra_xusb_firmware Binary files differnew file mode 100644 index 0000000..7a18086 --- /dev/null +++ b/recipes-bsp/binary-drivers/linux-driver-package/tegra_xusb_firmware diff --git a/recipes-bsp/binary-drivers/linux-driver-package/xorg.conf b/recipes-bsp/binary-drivers/linux-driver-package/xorg.conf new file mode 100644 index 0000000..68b7925 --- /dev/null +++ b/recipes-bsp/binary-drivers/linux-driver-package/xorg.conf @@ -0,0 +1,22 @@ +# Copyright (c) 2011-2013 NVIDIA CORPORATION. All Rights Reserved. + +# +# This is the minimal configuration necessary to use the Tegra driver. +# Please refer to the xorg.conf man page for more configuration +# options provided by the X server, including display-related options +# provided by RandR 1.2 and higher. + +# Disable extensions not useful on Tegra. +Section "Module" + Disable "dri" + SubSection "extmod" + Option "omit xfree86-dga" + EndSubSection +EndSection + +Section "Device" + Identifier "Tegra0" + Driver "nvidia" + Option "NoLogo" "true" +EndSection + diff --git a/recipes-bsp/binary-drivers/linux-driver-package/xorg.conf.add b/recipes-bsp/binary-drivers/linux-driver-package/xorg.conf.add new file mode 100644 index 0000000..0abe390 --- /dev/null +++ b/recipes-bsp/binary-drivers/linux-driver-package/xorg.conf.add @@ -0,0 +1,11 @@ +Section "Monitor" + Identifier "DSI-1" + Option "DPMS" "false" +EndSection + +Section "ServerLayout" + Identifier "ServerLayout0" + Option "StandbyTime" "0" + Option "SuspendTime" "0" + Option "OffTime" "0" +EndSection |