summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-08-06[arm/tegrar]serial:Make sure dma status updated before dma stop.tegra-10.8.1Laxman Dewangan
Sometimes, when uart ask for the dma for get the number of bytes transferred by dma, the dma does not return the actual number of bytes transffred, it returns the less number of byes (less by burst size) and so uart driver client gets the data loss in communication. So to avoid the race condition, the driver stops the incoming data by making RTS line to inactive and wait for some time to complete the dma burst and then ask dma to get number of bytes transffred by dma from fifo to memory. Change-Id: I08de955fde77431115626bd884b68c8e42d52270 Reviewed-on: http://git-master/r/4832 Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com> Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-08-05[arm/tegra] Serial: Fixing tx trigger level setting.Laxman Dewangan
On tegra uart, the FCR setting for different tx trigger level is not same as the 16550 tx trigger level setting. The tegra uart have the setting in reverse direction on tx fifo attention level: b00 for 16 bytes attention level. b01 for 8 byte attention level. b10 for 4 byte attention level b11 for 1 byte attention level. The rx trigger attention level match with the standard uart FCR register setttings. Also fixing the typo in code when setting DTR. bug 717072 Change-Id: I3e5230de71652e3216949734f4eaca8b85e03d99 Reviewed-on: http://git-master.nvidia.com/r/4753 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com> Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-08-04[arm/tegra] serial: write accessor should not add read ops.Laxman Dewangan
The write accessor function uart_writeb() and uart_writel() is doing the read of the same address on which it is writing the data. This is causing unnecessarily read of rx fifo and so causing data loss in rx path if tx fifo is getting written by cpu. This is happening becasue of rx fifo and tx fifo address are same. Change-Id: I194363872d0fd251ddd15a40f42e58acd5ccc7a1 Reviewed-on: http://git-master/r/4746 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Venkata (Muni) Anda <vanda@nvidia.com> Reviewed-by: Ramachandrudu Kandhala <rkandhala@nvidia.com> Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com> Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-08-03usb gadget: restarting controller on cable connect in non-OTG modeAbhishek Aggarwal
On cable disconnect, the controller was stopped but on cable connect it was restarted only if OTG is enabled. Due to this for non-OTG mode, the USB device was not working after disconnecting and re-connecting the cable. Fixed this by restarting the controller for both OTG and non-OTG modes. Bug: 717685 Change-Id: I4ba83e96cfe9a559b203615a2d78d0ed582a20a7 Reviewed-on: http://git-master/r/4708 Tested-by: Abhishek Aggarwal <aaggarwal@nvidia.com> Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-08-02tegra-fb: add panningArthur Spence
Tegra framebuffer is double buffered (two contiguous framebuffers), so panning needs to be implemented. Each call to tegra_fb_pan_display also needs to cause a frame trigger in the case of one-shot displays. Change-Id: Ica110acd53f292505e487a0ca25adcb3f7a9d9aa Reviewed-on: http://git-master/r/4223 Tested-by: Arthur Spence <aspence@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-29tegra video: add driver for host1x hardwareAndrew Howe
The graphics hardware modules on Tegra family of SOCs are accessed via the host1x dma and synchronization engine. This driver exposes an userspace interface for submitting command buffers to 2d, 3d, display and mpe hardware modules and accessing the module register apertures for exclusive use hardware modules. Additional features of the driver include: - interrupt-driven hardware module usage synchronization - automatic clock management for hw modules - hardware context switching for 3d registers Change-Id: I693582249597fd307526ff3c7e35889d37406017 Reviewed-on: http://git-master/r/4091 Reviewed-by: Janne Hellsten <jhellsten@nvidia.com> Tested-by: Janne Hellsten <jhellsten@nvidia.com>
2010-07-28[tegra mmc] Generate mmcblk names based on controller.vdumpa
Generate mmcblk[%d] names based on sdhci controller instance numbers. Bug 700011 Change-Id: I2be0c88f45cb2044306b1f8b8fe98ee95a800e0e Reviewed-on: http://git-master.nvidia.com/r/4274 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-27[arm/tegra] Driver for internal RTC and alarmJon Mayo
Implementation using internal RTC(real time clock). Alarm wake up from lp0/lp1 is supported. Use option CONFIG_RTC_DRV_TEGRA to enable. Tested as working on E1108 A02 and E1109 A01 boards. Bug: 607035 Change-Id: I4c048439fd87f7df1918983f565dc7ca566fdf4c Reviewed-on: http://git-master.nvidia.com/r/3899 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-27mmc: SDHCI_INT_DATA_MASK typo errorZhangfei Gao
Signed-off-by: Zhangfei Gao <zgao6@marvell.com> Reviewed-by: Matt Fleming <matt@console-pimps.org> Cc: <linux-mmc@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Change-Id: Ie20a9aea9ac6811bc6d4f0a96d60f9f226024747 Reviewed-on: http://git-master.nvidia.com/r/4482 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-07-26[ventana]Battery charging.Suresh Mangipudi
The GPIO port R pin 6 needs to be set low for charging of battery on ventana rev C Change-Id: I2ac17494f65f550d5bf676ae8ec09819983b72ac Reviewed-on: http://git-master/r/4171 Tested-by: Suresh Mangipudi <smangipudi@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-23[tegra-udc] Fix remove mutex call from spin_locks.Venkat Moganty
Regulator current limit uses mutex, which is called from the irq after acquiring the spin locks. Similarly when vbus is detected phy clock enable is called, which uses mutex inside the spin locks. This is fixed by calling these apis under work when called from interrupt context. Bug 711837 Change-Id: Ib926ad33d3d3674353447b3d94ff63f9eecf6f65 Reviewed-on: http://git-master/r/4339 Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Reviewed-by: Ramachandrudu Kandhala <rkandhala@nvidia.com> Tested-by: Ramachandrudu Kandhala <rkandhala@nvidia.com> Reviewed-by: Frank Cheng <fcheng@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-23tegra spi: added support for various spi signal modesSheshu Shenoy
with out this change, we would only support signal mode 0... Change-Id: I2cd2c9a3e30da94f2e95a654f3154fd33e940f13 Reviewed-on: http://git-master/r/4286 Reviewed-by: Udaykumar Rameshchan Raval <uraval@nvidia.com> Reviewed-by: Sheshagiri Shenoy <sshenoy@nvidia.com> Tested-by: Sheshagiri Shenoy <sshenoy@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-22[tegra-otg] Fix usb cable notification after LP0 resume.Venkat Moganty
After resume from LP0 VBUS and ID interrupt enable bits are cleared and are not enabled. So cable connect/disconnect is not functional after resume from LP0. This is fixed by enabling the interrupts during the resume functionality. Bug 712862 Change-Id: I67fd63f4daefbb811757c675538071371242c428 Reviewed-on: http://git-master.nvidia.com/r/4266 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-22[tegra-udc] Fix LP0 resume hang in USB OTG-deviceVenkat Moganty
Setting OTG state to device mode on resume from LP0 if VBUS is detected during LP0 resume. Change-Id: Ib029e6ea5b1d3e4b5c4b5c913c71e2789106a426 Reviewed-on: http://git-master/r/4247 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-22tegra rfkill: adding of rfkill support for bcm4329rgoyal
Adding rfkill Implementation for Broadcom BT chip (BCM4329) in existing code. Change-Id: I9a59052ca440124a1039255c72aa7cb00a015416 Reviewed-on: http://git-master/r/3883 Reviewed-by: Udaykumar Rameshchan Raval <uraval@nvidia.com> Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com> Tested-by: Rakesh Goyal <rgoyal@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-21[arm/tegra] let RTC internal and ODM drivers coexistJon Mayo
Change-Id: I353d5ff87243c3098100320b2cd184b47b471e84 Reviewed-on: http://git-master/r/4182 Reviewed-by: Gary King <gking@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Jonathan Mayo <jmayo@nvidia.com>
2010-07-20MMC: fix to report correct disk space in case of emmc 4.3+ cardsNitin Ghate
change to subtract the boot partiotion size from the entire device size so that proper device size is reported. updated the code as per suggestions from Gary, removed the comment bug: 683019 Change-Id: Iaa1a8d773dc1b876eb1da55823ff44a7f745d234 Reviewed-on: http://git-master/r/3496 Tested-by: Nitin Ghate <nghate@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-19[tegra-udc]: Fix LP0 hang in udc suspend for OTG mode.Venkat Moganty
After long time of executing LP0 cycles some times device fails to handle the udc irq in OTG mode. This is due to the OTG state which is changed to unknown before the controller is completely stopped. Fixed this by setting OTG state properly to unknown only after disabling the interrupts and stopping the controller completely in suspend path. Change-Id: I4baf2f29857cd35937acc67aca7c01077e362be1 Reviewed-on: http://git-master/r/4016 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-17[kernel/driver]: Driver for Ambient Light Sensor ISL29018.Laxman Dewangan
Adding the new kernel driver for the ambient light sensor which provides the light intensity measurement functionality. This kernel driver provides the sysfs interface to change the property and read the lux information. Following sysfs interface are available: op_mode: set the opertaing mode as 0 for power down and 1 for conversion. min_range: Set the minimum range for the light sensing. max_range: Set the maximum range for the light sensing. show_lux: To get the current light intensity in lux. This is blocking call and convesrion start once this file is read. The driver can be enabled by setting the CONFIG_HWMON to y and CONFIG_SENSORS_ISL29018 to y in the defconfig. The board information for device can be provided through odm init code. Change-Id: Ifaf2cb322506efc27005980d6924bcc69ff9725f Reviewed-on: http://git-master/r/2546 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
2010-07-16[tegra-hcd]: Fix for LP0 hang in host for CONFIG_USB_SUSPENDVenkat Moganty
When CONFIG_USB_SUSPEND is enabled auto suspend feature is getting executed by the HUB driver during the suspend/resume, which calls the ehci_hub_control from the hub thread to read the port status. When there is no device connected controller is suspended and can not be accessed the registers which is causing hang during suspend/resume. Fixed this by accessing the controller only if host is resumed. Change-Id: I066ff1e5ef11f3cb15a4dc809cd11ee0345dc31a Reviewed-on: http://git-master/r/4014 Reviewed-by: Iqbal Bhinderwala <iqbalb@nvidia.com> Tested-by: Iqbal Bhinderwala <iqbalb@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-15smsc usb debug print disabledBitan Biswas
Debug prints enabled inadvertently in smsc usb code being disabled Bug 703116 Change-Id: I80e36ffd1ea845ac46cedd17c0fe67d983e18ffa Reviewed-on: http://git-master.nvidia.com/r/3885 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Tested-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Antti Rasmus <arasmus@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-15[kernel/driver]: Driver for the magnetometer AK8975Laxman Dewangan
Adding the new kernel driver for the magnetometer which provides the compass functionality. This kernel driver provides the sys fs interface to change the property and read the flux information. Following sysfs interface are available: mode: set the opertaing mode as 0 for power down and 1 for conversion. show_flux: To get the current flux data in x, y, z axis. This is blocking call and conversion start once this file is read. The return value in microTesla (uT). The driver can be enabled by setting the CONFIG_HWMON to y and CONFIG_SENSORS_AK8975 to y in the defconfig. The board information for device can be provided through odm init code. Change-Id: If9fe4873835f65579254669aeb915717eeb30834 Reviewed-on: http://git-master.nvidia.com/r/2544 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-13[arm/tegra] serial: Removing tx fifo empty wait after each tx.Laxman Dewangan
When dma is used to transmit the data through uart, there is a wait to become the tx fifo empty after each tx dma complete. This wait is not required after each dma transfer complete because the next dma/pio based transfer can start even if tx fifo is not empty. Th uart controller only req dma when there is space in tx fifo. The correct state will be returned from the function of tx_empty based on tx state and fifo status. Change-Id: I3eb34e26d68b8a3d214759c23b89ef6585881729 Reviewed-on: http://git-master.nvidia.com/r/3782 Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com> Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-12[Tegra KBC] Added call of NvOdmKbcFilterKeys function from keyboard driver.Victor Ryabukhin
Fix for bug 688807. Function NvOdmKbcFilterKeys (ghost keys filter) was called only from bootloader keyboard driver, but not from OS driver. Fixed. Change-Id: Ibf8c0ccbf393e9c53a08a4cb2f746960bb43e4f8 Reviewed-on: http://git-master/r/3648 Tested-by: Victor Ryabukhin <vryabukhin@nvidia.com> Reviewed-by: Janne Hellsten <jhellsten@nvidia.com>
2010-07-09[tegra-usb] Fix USB-OTG for CONFIG_USB_SUSPENDVenkat Moganty
When CONFIG_USB_SUSPEND is enabled, after auto suspend by the usb core driver, USB devices(mouse,keyboard etc.) are not recognised. After auto suspend device state goes to suspend and not resuming to the address. This is fixed by changing the device state to address state on USB cable insertion. Bug 674938 Bug 698734 Change-Id: I837562fd1eb020f400824f2d475289df5fbc1f83 Reviewed-on: http://git-master/r/3494 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com>
2010-07-09[arm/tegra]i2c:msg index should be valid for print error.Laxman Dewangan
The index for msg during printing the NvRmI2cTransaction() status is out of the range. The msg index should be maximum of num -1 where num is number of messages. Fixing this issue to print correctly. Change-Id: I43841e3278e3041aae422ebe8bdef2dbd84b6084 Reviewed-on: http://git-master/r/3727 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-07-09[arm/tegra] serial: Enabling hw based rts control.Laxman Dewangan
Tegra arch2x have the capability to control the rts line based on data available in the rx fifo. If data vaiable in rx fifo is equal to the rx trigger level then rts become inactive by the controller. Once the data read from fifo either by cpu or by the dma, the rts become active by hw. Change-Id: I67a52ea105973e9ca21a4cc08f0fb1e3234a7d55 Reviewed-on: http://git-master/r/3299 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
2010-07-09nvmap : Fix missing size update in carveoutYu-Huan Hsu
Added carveout block size properly in nvmap_split_block. Bug 707072 Change-Id: Ie46ca482aba9f6e3231948a159144b41fe0e7c1c Reviewed-on: http://git-master/r/3708 Tested-by: Yu-Huan Hsu <yhsu@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-07-05[arm/tegra] kbc: Configuring kbc controller for LP0.Laxman Dewangan
KBC driver should set the DPD override register before entering in to LP0. Also it should forcefully clear the interrupt status register to clear any pending status. Configuring the kbc rowmask register for allowing the key detection only from wakeup enabled keysi before suspend. Change-Id: I2b1b0e2cd7d0ffc10c2b2f6b2e88f79ab7fb687b Reviewed-on: http://git-master/r/3495 Tested-by: Abhishek Aggarwal <aaggarwal@nvidia.com> Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2010-07-02nvmap: carveout_free can swallow split heapsakamath
Check if the spare buffers are contiguous before merging them. bug 697501 Change-Id: I0987dcabefdad8fe6a1c33e63c7b19cb4a017c42 Reviewed-on: http://git-master.nvidia.com/r/3360 Tested-by: Amit Kamath <akamath@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-29tegra: [RTC Alarm Clock] Implement TI pmu tps6586x by PMIC (pwr_int) pinrhsieh
Integrate PMU RTC alarm function from K29 to K32. Bug 701881 Change-Id: Iee137be5a2e9a369611037da4c39b9f443ce8979 Reviewed-on: http://git-master/r/3265 Reviewed-by: Ching Kuang (Roger) Hsieh <rhsieh@nvidia.com> Tested-by: Ching Kuang (Roger) Hsieh <rhsieh@nvidia.com> Reviewed-by: Wilson Chen <wichen@nvidia.com> Reviewed-by: Antti Hatala <ahatala@nvidia.com>
2010-06-28nvec-battery: code cleanupBharat Nihalani
Removed references to usb-charging as this driver only interacts with EC. Change-Id: If325d7390d7e553464a93069c3f8e93e3d1dea70 Reviewed-on: http://git-master/r/3038 Tested-by: Amit Kamath <akamath@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-28Tegra odm uart: add odm call-backs in uart driverRui Zhuo
Adding NVODM UART callbacks into linux uart driver so that customer can customized UART according to their actual usecases. Hook four NVODM UART functions in linux uart driver: NvOdmUartOpen, NvOdmUartClose, NvOdmUartSuspend, NvOdmUartResume. Bug 684390. Change-Id: I8f1a89122a57e14631efe876cb7e7bd4a35b73cd Reviewed-on: http://git-master/r/2817 Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-06-28tegra_mtd: don't ignore return value for add_mtd_partitionsGary King
when the mtd partition command line format is used, ignoring the return value left err set to the number of partitions, which was later interpreted as an error return code for tegra_nand_probe, which caused the MTD master to be unregistered (ultimately causing NULL pointer derefs when mounting the root partition). this fix allows bootloaders to use the standard mtdparts= syntax for specifying partitions, rather than the tegrapart= syntax Change-Id: Ia50a2ebe72efb213f3dd418510f01d59ad178d31 Reviewed-on: http://git-master/r/3276 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-06-27i2c-tegra: memset all buffers to 0Gary King
stack-allocated transaction & data buffers were not getting memset to 0, resulting in invalid transactions getting sent to the RM Change-Id: I8e16f0c90f74c31cf03b69cb098436e4e64e215e Reviewed-on: http://git-master/r/3244 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-06-26tegra gpio module: Using regulator module for GPIO power rail controlLuke Huang
Modify gpio module to use regulator module for controlling GPIO power rail. Since there are some issues related to init sequence after this change, using "postcore_initcall_sync" to involve regulator module, as well as modifying NvRmOpenNew routine are required. Bug Id 697774 Change-Id: Ie8002f1190da83355c0554496f9fef24d18207f5 Reviewed-on: http://git-master/r/3103 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-06-25kernel: fixing kernel compilation warningsSachin Nikam
Integrating warning fixes from kernel .29 to .32 Change-Id: I95f0dd92e830f80cae2fb4d3383c9efa845238a9 Reviewed-on: http://git-master/r/3176 Tested-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2010-06-25tegra_uvc: graceful exit on usb camera unplugSachin Nikam
Bug 657105 Problem:When the USB Camera is unplugged while preview VIDIOC_DQBUF ioctl hangs in uvc_queue_waiton() as it waits on interrupt which will never come, as USB Camera is unplugged. Solution:Using wait_event_interruptible_timeout() instead of wait_event_interruptible() in function uvc_queue_waiton() with timeout value 250 mSec so as to gracefully exit. With this change VIDIOC_DQBUF ioctl returns error, USB Camera driver handles this error to gracefully exit. Change-Id: I509162ab3d50b7b52e83e015922eff2c83d6e2fb Reviewed-on: http://git-master/r/3183 Tested-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2010-06-24tegra accelerometer: reverting threshold setting changesVenu Byravarasu
As these changes are causing power regressions on whistler, reverting them. Tested on: whistler Bug 702317 Change-Id: I025e1f4e7d58f020ced7dadff1707ac403d620ba Reviewed-on: http://git-master/r/3180 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Tested-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-22tegra: Run time detection of accelerometer on E1206Venu Byravarasu
Enabled Bosch and Kionix accelerometers together. Added an abstraction layer which would route calls to Bosch or Kionix accelerometer based on run time detection Testing done: observed changes in accelerometer readings when the device is moved. Change-Id: I7cdadb609703d6d0eeabf6e2878adb5f81c43b72 Reviewed-on: http://git-master/r/2753 Tested-by: Venu Byravarasu <vbyravarasu@nvidia.com> Reviewed-by: Hoang Pham <hopham@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-22[ARM/tegra]Serial:Check xmit buffer before updating xmit fifoSuresh Mangipudi
Checking explicitly number of available bytes in transmit buffer before writing into the transmit buffer. Removing additional checks. Bug 700035 Change-Id: Ica2a6649e9acb2e059ebf6bb08dc5eaecdad8ed7 Reviewed-on: http://git-master/r/2990 Tested-by: Suresh Mangipudi <smangipudi@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-22fsl udc: Add support for USB test mode feature.Venkat Moganty
Adding support for USB-IF High Speed electrical test mode for device mode. Support added for electrical test modes: 1. TEST_J 2. TEST_K 3. TEST_SE0_NAK 4. TEST_PACKET 5. TEST_FORCE_ENABLE Bug 675483 Bug 649012 Tested on AP20/Whistler and AP20/Harmony with USB HS electrical test tool. Change-Id: I75c0990f1e5abd55bb626bb04ffe48f0e4efe5e3 Reviewed-on: http://git-master.nvidia.com/r/2534 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Reviewed-by: Ramachandrudu Kandhala <rkandhala@nvidia.com> Tested-by: Ramachandrudu Kandhala <rkandhala@nvidia.com>
2010-06-22tegra-ehci: enable DMABOUNCE for tegra EHCI controllerGary King
tegra 2 EHCI controllers need transfers aligned to 32B boundaries; enable DMABOUNCE by default whenever USB_TEGRA_HCD is selected, and create DMA pools for the EHCI devices Change-Id: I6c391a52370e19c904cab714a4ebd223c7647329 Reviewed-on: http://git-master.nvidia.com/r/2959 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>
2010-06-22ehci-tegra: halting the controller before powering down the PHYAbhishek Aggarwal
It was observed that when trying to power down the PHY, the RS bit(0:0) in USBCMD register was still set to RUN(1). Calling ehci_halt() before powering down the PHY in tegra_ehci_suspend() to set RS bit to STOP(0) before PHY is powered down. Bug: 695655 Change-Id: I677550be63eebd5140ca466096cb796a21a1167 Reviewed-on: http://git-master/r/2929 Tested-by: Abhishek Aggarwal <aaggarwal@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-21mmc: Support byte-addr cards with start offsetPavan Kunapuli
Supporting byte addressing mode cards with EMBEDDED_MMC_START_OFFSET. Setting the card addressing mode based on the access mode bit in OCR register. Change-Id: Ib10543d7aa2b474e28c95bb24fff645236686689 Reviewed-on: http://git-master/r/2581 Tested-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-21[ARM/tegra] Touch driver event size for finger vs cheek events.Michael Hsu
Touch screen drivers must report size value for presses. If size < 0.6, then it is considered finger press. If size > 0.6, then event is considered to be cheek press. The distinction is important in phone mode, because cheek presses are ignored in that mode (the user has the device next to his face in phone mode, and will likely press cheek accidentally against touch screen). Bug 700050 Change-Id: I6792a888f4761672230140e011e9fdc5d60696d3 Reviewed-on: http://git-master/r/2903 Reviewed-by: Michael Hsu <mhsu@nvidia.com> Tested-by: Michael Hsu <mhsu@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-18mmc: wake_unlock after flushing delayed work; flush after suspendGary King
after flushing the delayed_work queue, there is no need to keep a hold of the delayed_work wakelock; release it to avoid causing problems in the suspend loop, in case the cancellation of the scheduled work would cause the normally-scheduled wake_unlock call to never be called additionally, some host + card combinations can cause a disable operation to be scheduled in the workqueue during mmc_host_suspend. if the system completes the suspend down to the wakelock power driver before this work executes, the system will fail to suspend because the delayed_work wakelock is held. re-flush the workqueue after removing the card and suspending the bus to avoid this race. Change-Id: I847fb004304f81d91b03be48765af1ff52de1c5e Reviewed-on: http://git-master/r/2890 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-18tegra-sdhci: disable polling for hosts with non-removable cardsGary King
hosts with non-removable cards should not need to specify MMC_CAP_POLLING; this causes additional exits from the CPU idle loop. add a field to the platform data to specify that the host is removable, and initialize card_present to true if the host is not removable Change-Id: I55d9c8295435deb522977b3e7380abc0f8f05721 Reviewed-on: http://git-master/r/2888 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-18[arm/tegra]serial: Power control api for bluesleep power management.Laxman Dewangan
Adding apis for following function to hooking up tegra serial driver with bluesleep power management: - Clock off. - Clock on. - Setting flow control to desired state. - Checking for tx fifo status. Following 4 state of uart state machine is developed to achieve this: UART_CLOSED, UART_OPENED, UART_SUSPEND, UART_CLOCK_OFF. The transitions of states are as follows: UART_CLOSED: the init state on which resource is allocated but not opened by client or when device is closed. UART_OPENED: Able to do data transfer. CLOSED to OPENED by opening the port. CLOCK_OFF to OPENED by calling function tegra_uart_request_clock_on(). SUSPEND to OPENED by calling resume(). UART_CLOCK_OFF: The controller clock is disabled and so no data transfer can happen. At this state, controller is not ready for deep power down. OPENED to CLOCK_OFF by calling tegra_uart_request_clock_off(). Can not go to this state from CLOSED and SUSPEND. UART_SUSPEND: The controller is in suspended state and ready for deep power down. UART_CLOCK_OFF to SUSPEND: OPENED to SUSPEND. Change-Id: Ib0c40547665181cadd172840be9aed2cc18ba448 Reviewed-on: http://git-master/r/2819 Reviewed-by: Anantha Idapalapati <aidapalapati@nvidia.com> Tested-by: Anantha Idapalapati <aidapalapati@nvidia.com> Reviewed-by: Udaykumar Rameshchan Raval <uraval@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
2010-06-18framebuffer: tegra-fb: add 32bit frame buffer displayJay Cheng
tegra-fb driver didn't check whether frame buffer is 16bit or 32bit allocated by bootloader and force to use 16bit display. Check frame buffer color format to support 32bit ARGB frame buffer. Bug 685731 Tested on Whistler Change-Id: Ib545df6227c966d9a26d414687226f4a81bb16bd Reviewed-on: http://git-master/r/2426 Reviewed-by: Gary King <gking@nvidia.com> Tested-by: Gary King <gking@nvidia.com>