summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2013-02-21colibri_t30: enable back key wake-upMarcel Ziswiler
Enable back key wake-up source.
2013-02-21colibri_t30: fix gpio-key pull-upsMarcel Ziswiler
Due to missing pull-ups on the gpio-key pins Android unintentionally entered safe-mode.
2013-02-20apalis_t30: fix 24 bpp rgb outputMarcel Ziswiler
Activate 24 bpp RGB output. Please not that this is just the backend configuration. For true 24 bpp output the framebuffer as well as driver have to be configured for 24 resp. 32 bpp as well.
2013-02-19apalis_t30: fix analog audioMarcel Ziswiler
The audio_port_id in the audio platform data really has to be the index of the registered tegra_i2s_device rather than the I2S interface instance.
2013-02-19apalis_t30: enable b43 driver as moduleMarcel Ziswiler
Enable building b43 driver as a module to demo Broadcom AirForce BCM4311 based mini-PCIe Wi-Fi 802.11a/b/g module.
2013-02-19apalis_t30: reset PLX PEX 8605 PCIe switchMarcel Ziswiler
Reset PLX PEX 8605 PCIe Switch on Apalis Evaluation Board to enable X43, X44 and X45.
2013-02-19apalis_t30: add generic Apalis GPIO definesMarcel Ziswiler
Add defines for the generic Apalis GPIOs 1 to 8 and the special use thereof on the Apalis Evaluation Board: FAN_EN on GPIO8: enable FAN supply on X35 PEX_PERST_N on GPIO7: reset PCIe switch for X43, X44 and X45 TOUCH_WIPER on GPIO6: optional touch wiper GPIO
2013-02-19tegra: pcie: fix buildMarcel Ziswiler
Fix the following build error using our OpenEmbedded gcc-4.7: arch/arm/mach-tegra/pcie.c:335:22: error: 'reg_pmc_base' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors
2013-02-19tegra: pcie: new driverMarcel Ziswiler
Add new PCIe driver fixing multi-port operation. Pulled from Linux_Kernel-src_CARMA_DevKit-ver3.1.10_l4t_Rev545.tgz.
2013-02-13colibri_t20/30: integrate Fusion 7 and 10 multi-touchMarcel Ziswiler
This patch integrates multi-touch for the TouchRevolution Fusion 7 and 10 panels connected to Iris as follows: Iris X16-5, SODIMM pin 194, I2C SDA Iris X16-6, SODIMM pin 196, I2C SCL Iris X16-15, SODIMM pin 103, pen down interrupt Iris X16-16, SODIMM pin 101, reset The following kernel configuration needs to be enabled: Device Drivers -> Input device support -> Touchscreens -> TouchRevolution Fusion F0710A Touchscreens Please note that level shifters are required. Please further note that our current OpenEmbedded BSP does not yet integrate multi-touch support in the XInput as well as X server layers.
2013-02-12apalis/colibri_t20/30: updated Fusion 10 display timingsMarcel Ziswiler
This patch contains updated display timings for the TouchRevolution Fusion 10 aka Chunghwa Picture Tubes CLAA101NC05 10.1 inch 1024x600@60 single channel LVDS panel. While at it add a note that the backlight brightness polarity is display model specific.
2013-02-05apalis/colibri_t20/30: add CPT CLAA101NC05 display timingsMarcel Ziswiler
This patch adds display timings for the Chunghwa Picture Tubes CLAA101NC05 10.1 inch 1024x600@60 single channel LVDS panel.
2013-02-05apalis_t30: add LG LP156WF1 display timingsMarcel Ziswiler
This patch adds display timings for the LG LP156WF1 15.6 inch full HD dual channel LVDS panel.
2013-02-05apalis_t30: add LVDS GPIO exportsMarcel Ziswiler
The THine THC63LVD827 LVDS transmitter uses 8 GPIOs for configuration. This patch configures and exports them for easy user-space access. Configure LG LP156WF1 15.6 inch full HD dual channel LVDS panel: root@apalis-t30:~# echo out > /sys/class/gpio/gpio216/direction root@apalis-t30:~# echo 0 > /sys/class/gpio/gpio216/value root@apalis-t30:~# echo out > /sys/class/gpio/gpio219/direction root@apalis-t30:~# echo 1 > /sys/class/gpio/gpio219/value root@apalis-t30:~# echo out > /sys/class/gpio/gpio220/direction root@apalis-t30:~# echo 1 > /sys/class/gpio/gpio220/value root@apalis-t30:~# echo out > /sys/class/gpio/gpio221/direction root@apalis-t30:~# echo 1 > /sys/class/gpio/gpio221/value root@apalis-t30:~# echo out > /sys/class/gpio/gpio222/direction root@apalis-t30:~# echo 1 > /sys/class/gpio/gpio222/value root@apalis-t30:~# echo out > /sys/class/gpio/gpio223/direction root@apalis-t30:~# echo 1 > /sys/class/gpio/gpio223/value root@apalis-t30:~# echo out > /sys/class/gpio/gpio225/direction root@apalis-t30:~# echo 1 > /sys/class/gpio/gpio225/value root@apalis-t30:~# echo out > /sys/class/gpio/gpio226/direction root@apalis-t30:~# echo 1 > /sys/class/gpio/gpio226/value root@apalis-t30:~# cat /sys/kernel/debug/gpio | grep LVDS gpio-216 (LVDS: Single/Dual Ch) out lo gpio-219 (LVDS: 18/24 Bit Mode) out hi gpio-220 (LVDS: Output Enable ) out hi gpio-221 (LVDS: Power Down ) out hi gpio-222 (LVDS: Clock Polarity) out hi gpio-223 (LVDS: Colour Mapping) out hi gpio-225 (LVDS: Swing Mode ) out hi gpio-226 (LVDS: DDRclk Disable) out hi
2013-01-30apalis_t30: hack to fix MMC1 slot card detectionMarcel Ziswiler
Looks like this DPD stuff whatever it is fails 8-bit MMC1 slot card detection on our current Apalis T30 prototypes. See f4cd0d4448d65a42b65c338f85a3ab8064923c61.
2013-01-24tegra: apalis_t30: initial Toradex Apalis T30 L4T supportMarcel Ziswiler
Tested on early prototype Apalis T30 V1.0a module. Known issues: - ADC not integrated yet. - HDA not integrated yet. - CEC not integrated yet. - IrDA not integrated yet. - Keys not integrated yet therefore no way to wake from suspend. - 8-bit MMC1 slot card detection interrupt not working despite detection GPIO successfully being tested with GPIOConfig. Note: even 8-bit cards work fine if already plugged-in during boot. - PCIe limited to internal Gigabit Ethernet chip for now due to our proprietary way of resetting other ports which requires further integration into NVIDIA's driver.
2013-01-21colibri_t30: set DD pins to push/pullMax Krummenacher
set DD pins to push/pull if not used for I2C in open drain mode
2013-01-21colibri_t30: w1: set platform data in w1-deviceMax Krummenacher
2013-01-16colibri_t30: Added 3.3V fixed regulator to replace ldo2 as the parent of all ↵Max Krummenacher
3.3V consumers
2013-01-16colibri_t30: V1.1b module moved some supplies - DDR: now supplied by VDD1 - ↵Max Krummenacher
PLLE: now supplied by LDO6 - Put the limits of the supplied circuit as constraints - Moved derived rails from 1.8V to 3.3V where applicable
2013-01-16colibri_t30: ldo1, ldo2 have now vio as parentMax Krummenacher
2013-01-11colibri_t20: fix GMI_WR_N on SODIMM pin 93 RDnWRMarcel Ziswiler
Looks like we mixed up the low-active buffer enable GPIOs. This fixes GMI_WR_N on SODIMM pin 93 RDnWR curtsey Tord Andersson from Endian Technologies AB.
2013-01-11colibri_t30: migrate to proper machine typeMarcel Ziswiler
After having registered the following proper machine type migrate to actually using it. http://www.arm.linux.org.uk/developer/machines/list.php?id=4493
2013-01-11colibri_t20: w1: re-add missing includeMarcel Ziswiler
Well commit bfd8d6dc27ccf00bf89b0a7bb3d359bab2142376 got rid of the w1 include a little prematurely.
2013-01-11colibri_t30: w1: add platform dataMarcel Ziswiler
Add one-wire platform data. Still requires explicitly enabling the following two kernel configuration options: CONFIG_W1 CONFIG_W1_MASTER_TEGRA
2013-01-11colibri_t30: integrate PWM LED functionalityMarcel Ziswiler
Make PWM B, C, D accessible from userspace. e.g as /sys/class/leds/pwm_b.
2013-01-11colibri_t30: integrate LP1 suspendMarcel Ziswiler
Can be initiated both by LXDE Logout - Suspend or manually doing 'echo mem > /sys/power/state'. Uses GPIO key power (SODIMM pin 45, Iris X16-20) as wake-up source. If woken-up LXDE session does not automatically activate desktop again try manually doing a 'chvt 7'.
2013-01-11colibri_t30: GPIO keys implementationMarcel Ziswiler
Implement the following GPIO keys: - find (SODIMM pin 77) - home (SODIMM pin 127) - back (SODIMM pin 133, Iris X16-14) - volume up (SODIMM pin 22) - volume down (SODIMM pin 24) - power (SODIMM pin 45, Iris X16-20) - menu (SODIMM pin 135)
2013-01-11colibri_t30: clean-up camera definesMarcel Ziswiler
Now simply enabling CONFIG_TEGRA_CAMERA resp. not explicitly disabling it will make L4T's nv_omx_vip Gstreamer plug-in work with analogue video decoders like the ADV7180 or MAX9526.
2013-01-11colibri_t30: fix system hang caused by USB device insertionMarcel Ziswiler
Booting with a bare USB hub (e.g. EvalBoard V3.1A) and later plugging in a USB device completely hang the system. This fixes it.
2013-01-11colibri_t30: clean-up board fileMarcel Ziswiler
Shorten GPL license header. Get rid of obsolete includes. Get rid of spurious comments. Fix indentation. Add some clarifying comments.
2013-01-11colibri_t20: clean-up camera definesMarcel Ziswiler
Now simply enabling CONFIG_TEGRA_CAMERA resp. not explicitly disabling it will make L4T's nv_omx_vip Gstreamer plug-in work with analogue video decoders like the ADV7180 or MAX9526.
2013-01-11colibri_t20: fix I2C SCL/SDA definesMarcel Ziswiler
Commit 39ca35e4610f1307247815ec5268b5072172d24a mixed up the SCL/SDA GPIOs. This fixes it again.
2013-01-11colibri_t20: clean-up board file.Marcel Ziswiler
Shorten GPL license header. Get rid of obsolete includes. Get rid of spurious comments. Fix indentation. Add some clarifying comments. Rename board level init_machine and reserve functions.
2013-01-09colibri_t30: integrate thermal throttlingMarcel Ziswiler
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
2013-01-09colibri_t20: adjust thermal throttlingMarcel Ziswiler
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.
2013-01-08colibri_t30: fix SPIMarcel Ziswiler
Our platform data erroneously used the forth (bus number 3) rather than the first (bus number 0) controller instance.
2013-01-08colibri_t30: get rid of obsolete NAND handlingMarcel Ziswiler
Get rid of obsolete NAND aka Colibri T30 v1.0a prototype handling.
2013-01-07colibri_t20: integrate thermal throttlingMarcel Ziswiler
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
2013-01-07colibri_t20: hwmon: integrate ROS pin handlingMarcel Ziswiler
Integrate remote over-temperature shutdown ROS pin handling.
2013-01-07colibri_t20: clean-up I2C platform dataMarcel Ziswiler
Clean-up I2C platform data and bring it more in line with Colibri T30.
2013-01-03colibri_t20: fix high speed UARTsMarcel Ziswiler
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)
2012-12-21colibri_t30: integrate spidev supportT30_LinuxImageV2.0Alpha0_20121227Marcel Ziswiler
Integrate spidev support straight from Colibri T20.
2012-12-21colibri_t30: clear LVDS/HDMI framebuffersMarcel Ziswiler
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.
2012-12-21tegra: colibri_t30: add more video modesMarcel Ziswiler
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.
2012-12-21colibri_t30: i2c: clean-upMarcel Ziswiler
Clean-up I2C platform data.
2012-12-21colibri_t30: pin-mux: validate for latest hardwareMarcel Ziswiler
Validate pin-muxing for latest Colibri T30 v1.1a and v1.1b module hardware.
2012-12-21colibri_t30: clean-up configMarcel Ziswiler
Clean-up kernel configuration and bring it more in line with Colibri T20.
2012-12-17tegra: colibri_t20: add more video modesT20_LinuxImageV2.0Beta1_20121218Marcel Ziswiler
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.
2012-12-17colibri_t20: fix power key on EvalBoard v3.1aMarcel Ziswiler
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.