Age | Commit message (Collapse) | Author |
|
As our hardware only allows triggering an interrupt on over-temperature
shutdown we setup a workqueue to catch leaving it again.
For Tegra 3 NVIDIA relies on the regular Linux thermal subsystem.
As follows some output during a thermal throttling run:
root@colibri-t30:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
45000
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [12%,2%,3%,6%]@475 EMC 533 AVP 81 VDE 400 EDP limit 1300000
Temperatures CPU 42.4 Board 36.4
root@colibri-t30:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
60000
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [14%,5%,4%,4%]@1300 EMC 533 AVP 81 VDE 400 EDP limit 1300000
Temperatures CPU 54.2 Board 47.8
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [100%,100%,100%,100%]@1200 EMC 533 AVP 81 VDE 400 EDP limit 1200000
Temperatures CPU 70.4 Board 56.6
root@colibri-t30:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
75000
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [54%,49%,48%,48%]@1200 EMC 533 AVP 81 VDE 400 EDP limit 1200000
Temperatures CPU 70.9 Board 57.1
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [100%,100%,100%,100%]@1100 EMC 533 AVP 81 VDE 400 EDP limit 1100000
Temperatures CPU 75.3 Board 60.5
root@colibri-t30:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
85000
RAM 401/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [65%,61%,61%,61%]@1100 EMC 533 AVP 81 VDE 400 EDP limit 1100000
Temperatures CPU 75.2 Board 61.0
RAM 401/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [100%,100%,100%,100%]@1000 EMC 533 AVP 81 VDE 400 EDP limit 1100000
Temperatures CPU 85.1 Board 69.8
RAM 401/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [100%,100%,100%,100%]@760 EMC 533 AVP 81 VDE 400 EDP limit 1100000
Temperatures CPU 85.1 Board 69.9
root@colibri-t30:~# cat /sys/class/thermal/cooling_device0/cur_state
0
root@colibri-t30:~# cat /sys/class/thermal/cooling_device0/max_state
10
root@colibri-t30:~# cat /sys/class/thermal/cooling_device0/type
balanced
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/cdev0_trip_point
0
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/temp
84531
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/trip_point_0_temp
85000
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/trip_point_0_type
passive
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/type
lm95245_remote
|
|
Adjust thermal throttling to latest lm95245 evolution and wait with the
interrupt registration until we get the LM95245 drivers probe callback.
While at it add some clarifying comments and wrap RTC stuff with a
define.
|
|
Our platform data erroneously used the forth (bus number 3) rather than
the first (bus number 0) controller instance.
|
|
Get rid of obsolete NAND aka Colibri T30 v1.0a prototype handling.
|
|
As our hardware only allows triggering an interrupt on over-temperature
shutdown we first use it to catch entering throttle limit and only then
set it up to catch an actual over-temperature shutdown.
While throttling we setup a workqueue to catch leaving it again.
We support the same sysfs interface as on NVIDIA Ventana:
root@colibri-t20:~# cat /sys/kernel/debug/thermal/shutdown
115000
root@colibri-t20:~# cat /sys/kernel/debug/thermal/throttle
90000
As follows some output of before and during a throttling run:
root@colibri-t20:~# tegrastats
RAM 159/345MB (lfb 36x4MB) Carveout 11/128MB (lfb 116MB) GART 0/32MB
(lfb 32MB) IRAM 4/255kB(lfb 248kB) cpu [51%,23%]@216 EMC 666 AVP 72 VDE
240 EDP limit -1 Temperatures CPU 48.7 Board 43.2
root@colibri-t20:~# cat /sys/devices/system/cpu/cpu0/cpufreq/throttle
0
root@colibri-t20:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
90000
root@colibri-t20:~# cat /sys/kernel/debug/thermal/shutdown
115000
root@colibri-t20:~# cat /sys/kernel/debug/thermal/throttle
90000
root@colibri-t20:~# tegrastats
RAM 66/345MB (lfb 5x32kB) Carveout 75/128MB (lfb 53MB) GART 8/32MB
(lfb 24MB) IRAM 20/255kB(lfb 232kB) cpu [85%,83%]@912 EMC 666 AVP 216
VDE 240 EDP limit -1 Temperatures CPU 90.1 Board 77.9
root@colibri-t20:~# cat /sys/devices/system/cpu/cpu0/cpufreq/throttle
1
root@colibri-t20:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
115000
|
|
Integrate remote over-temperature shutdown ROS pin handling.
|
|
Clean-up I2C platform data and bring it more in line with Colibri T30.
|
|
Avoid the following issue on both /dev/ttyHS1 as well as /dev/ttyHS3:
[ 4419.708332] tegra_uart tegra_uart.1: Setting clk_src pll_m
[ 4419.714361] Failed to set parent pll_m for uartb (violates clock
limit 600000000)
[ 4427.469124] tegra_uart tegra_uart.3: Setting clk_src pll_m
[ 4427.476177] Failed to set parent pll_m for uartd (violates clock
limit 600000000)
|
|
Integrate spidev support straight from Colibri T20.
|
|
Instead of copying the boot loader frame buffer which currently neither
displays anything worth preserving nor even what it has in the right
resolution make sure both LVDS as well as HDMI frame buffers get
cleared during initialisation to avoid displaying random garbled stuff.
|
|
Add the following tested (e.g. framebuffer console and X) video modes:
- 1280x1024@60
- 1600x1200@60
- 1680x1050@60
- 1920x1080p
- 1920x1200
And the following portrait modes:
- 480x640
- 540x960
- 720x1280
The define TEGRA_FB_VGA in board-colibri_t20.h can be used to switch
between VGA and 800x480.
While at it clean-up some defines and includes.
|
|
Clean-up I2C platform data.
|
|
Validate pin-muxing for latest Colibri T30 v1.1a and v1.1b module
hardware.
|
|
Clean-up kernel configuration and bring it more in line with Colibri T20.
|
|
Add the following tested (e.g. framebuffer console and X) video modes:
- 1280x1024@60
- 1600x1200@60
- 1680x1050@60
- 1920x1080p
- 1920x1200
And the following portrait modes:
- 480x640
- 540x960
- 720x1280
The define TEGRA_FB_VGA in board-colibri_t20.h can be used to switch
between VGA and 800x480.
While at it fix rename of CAMERA_INTERFACE to COLIBRI_T20_VI as well.
|
|
As the new Colibri Evaluation carrier board v3.1a uses SODIMM pin 45 as
IrDA transceiver SD with a 100 K pull-down we revert to using the power
key as high active.
|
|
GPIO keys configured as active-low either require pull-ups on the
carrier board or via pin-muxing. We enable the later for now.
|
|
Use GPIO inputs for function tri-stating rather than pin group
tri-stating to avoid influencing neighbouring pins.
While at it get rid of most pull-up/downs and a lot of commented out
stuff.
|
|
Rename CAMERA_INTERFACE to COLIBRI_T20_VI which stands for video input
to be more in-line with Colibri T30.
|
|
Get rid of optional CAM/GEN3_I2C on SODIMM pin 127/133.
|
|
Verify standard GPIO usage for latest v1.2a modules.
|
|
The Iris carrier board by default uses SODIMM pin 73 as DAC power save.
Note: This conflicts with the CAN interrupt on the new EvalBoard v3.1a.
|
|
VESA VGA mode defines hsync/vsync to be of polarity low rather than
high.
|
|
The HDMI power rail configuration used to be done within the LVDS aka
TFTLCD panel enable function. Now moving it to the platform power
initialisation where it really belongs. This avoids any
duplicate/spurious regulator configuration.
|
|
As the deep-sleep LP0 suspend mode is currently anyway not supported
default to the LP1 suspend mode for now.
|
|
The full PMIC power off decreases power consumption but doing a
subsequent reset won't force a re-boot any more.
|
|
Clean-up the following unused regulator supplies in the platform power
stuff:
p_cam_avdd, avdd_lvds, vddio_sys (panjit_touch), vmmc (sdhci-tegra.3)
and avdd_2v85.
While at it add some more comments concerning specific consumers/rails.
|
|
Instead of copying the boot loader frame buffer which currently neither
displays anything worth preserving nor even what it has in the right
resolution make sure both LVDS as well as HDMI frame buffers get
cleared during initialisation to avoid displaying random garbled stuff.
|
|
The boot logo and framebuffer console where displayed with a wrong
stride caused by a colour depth mismatch. Fix this by initially
configuring the display controllers to 16 bpp.
|
|
There are some classes of devices that are controlled entirely from
user space. Userspace consumer driver provides ability to control power
supplies for such devices. Enable this configuration option to be more
in line with the T30.
|
|
If the console is locked while the system is rebooted, the messages in
the temporary log buffer would not have propagated to all the console
drivers. This option forces the console lock to be released if it
failed to be acquired, which will cause all the pending messages to be
flushed. Enable this configuration option to be more in line with the
T30.
|
|
Get rid of the 2G/2G user/kernel memory split configuration in order to
use the default 3G/1G user/kernel memory split. This is more in line
with the T30 and avoids issues trying to run Android.
|
|
Fix two issues concerning SDMMC4B pinmux (e.g. using a regular SD card
as the boot device instead of the on-module eMMC). First according to
the TRM it is illegal to mux a certain function to two sets of balls
(e.g. the regular SDMMC4 as well as the SDMMC4B muxing). Second make
absolutely sure all unused balls are not only tri-stating their outputs
but also disable their inputs to prevent any illegal internal states.
|
|
Make sure NC balls are not only tri-stating their outputs but also do
not drive their inputs but rather have them pulled down in order to
prevent any unstable internal values.
While at it fix alphabetical order of the pinmuxes.
|
|
This fixes the following build issue:
arch/arm/mach-tegra/board-colibri_t30.c:276:41: error:
'colibri_t30_emmc_platform_data' defined but not used
[-Werror=unused-variable]
cc1: all warnings being treated as errors
|
|
Verify standard GPIO usage for latest v1.1a samples.
While at it get rid of some commented out obsolete stuff.
|
|
Integrate proper Ethernet initialisation analogous to how it is done
for the Colibri T20.
|
|
Add a commented out define for v1.0a modules with optional NAND
variants which are auto detected.
|
|
As we don't want to exclusively reserve the detection GPIO temporarily
enabling it is still required.
|
|
Hack to force WIRELESS_EXT required to build Redpine Signals LiteFi driver.
|
|
Enable kernel configuration for USB audio.
|
|
As Colibris are usually self powered default drawn VBUS to 2 mA rather
than demanding 500 mA. This should fix it running from not self powered
USB hubs as well.
|
|
Activate Android rather than mass storage gadget driver to support
multiple USB functions. The functions can be configured via a board
file and may be enabled and disabled dynamically. E.g. the following
enables regular Ethernet aka RNDIS functionality once booted:
echo rndis > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
|
|
Activate Colibri rather than Tegra USB OTG driver as used on
Colibri T20 as well.
|
|
Integrate USB OTG functionality similar to Colibri T20.
|
|
Clean up various comments, indentation and white space issues.
|
|
Get rid of duplicate USB EHCI ULPI VIEWPORT stuff in Kconfig.
|
|
Several file names and paths showed copy/paste or otherwise issues.
|
|
Add default kernel configuration in order to run oe-core on any of the
Colibri PXA series modules. So far no further platform data additions
have been committed meaning only older PXA270 v1.x, PXA300/310 v1.x or
PXA320 v1.x modules as anyway supported in mainline will work.
|
|
So far only Income's board advertised PWM availability but of course
any Colibri is potentially PWM capable.
|