firefly-linux-kernel-4.4.55.git
13 years ago[ARM] tegra: change SMP startup to use read-allocate cache
Gary King [Wed, 15 Sep 2010 16:42:36 +0000 (09:42 -0700)]
[ARM] tegra: change SMP startup to use read-allocate cache

mirror the change to v7 common startup in the tegra-specific
LP2 and hotplug statup routines

Change-Id: I0552eba951dbfc168e37e59b41394d31fab30256
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] mm: change to read-allocate as default SMP cache policy
Gary King [Wed, 15 Sep 2010 16:32:10 +0000 (09:32 -0700)]
[ARM] mm: change to read-allocate as default SMP cache policy

the "streaming" mode optimization which skips cacheline allocation
for fully-dirty lines is frequently defeated when coherent processors
perfom stores simultaneously

this results in cachelines being allocated in SMP which are not
allocated when run in uniprocessor, resulting in a significant
reduction in aggregate write bandwidth. for example, on Tegra 2
systems with 300MHz DDR main memory, running memset over a large
buffer (i.e., L2 miss) on a single processor will achieve ~2GB/sec
of write bandwidth, but if the same operation is run in parallel on
both CPUs, the aggregate write bandwidth is just 500MB/sec

changing the cache allocation policy to read-allocate reduces some
of this performance loss on SMP systems.

Change-Id: Ice47ab0a15f2490b7e9a007b4b37800566ed7be1
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: remove inner-writeback memory type from SMP startup
Gary King [Wed, 15 Sep 2010 16:24:35 +0000 (09:24 -0700)]
[ARM] tegra: remove inner-writeback memory type from SMP startup

the memory remapping (NMRR) registers were configured differently
by the SMP and LP2 startup code from the standard kernel.

temporarily reverting the inner-writeback change for now.

Change-Id: Ib9c4fc75580d1cc705a5dd83377c0703669bcabc
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] mm: add page allocator for modifying cache attributes
Gary King [Mon, 2 Aug 2010 22:55:16 +0000 (15:55 -0700)]
[ARM] mm: add page allocator for modifying cache attributes

ARM CPUs with speculative prefetching have undefined behaviors when the
same physical page is mapped to two different virtual addresses with
conflicting cache attributes.

since many recent systems include IOMMU functionality (i.e., remapping
of discontiguous physical pages into a virtually-contiguous address
range for I/O devices), it is desirable to support allocating any
available OS memory for use by the I/O devices. however, since many
systems do not support cache coherency between the CPU and DMA devices,
these devices are left with using DMA-coherent allocations from the OS
(which severely limits the benefit of an IOMMU) or performing cache
maintenance (which can be a severe performance loss, particularly on
systems with outer caches, compared to using DMA-coherent memory).

this change adds an API for allocating pages from the OS with specific
cache maintenance properties and ensures that the kernel's mapping
of the page reflects the desired cache attributes, in line with the
ARMv7 architectural requirements

Change-Id: If0bd3cfe339b9a9b10fd6d45a748cd5e65931cf0
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] mmu: add option to map lowmem with page mappings
Gary King [Thu, 7 Oct 2010 19:44:06 +0000 (12:44 -0700)]
[ARM] mmu: add option to map lowmem with page mappings

add a kernel configuration to map the kernel's lowmem pages using PTE
mappings, rather than the default behavior of 1MiB section mappings.
on ARMv7 processors, to support allocating pages with DMA-coherent
cache attributes, the cache attributes specified in the kernel's
mapping must match cache attributes specified for other mappings;
to ensure that this is the case, the kernel's attributes must be
specified on a per-page basis.

to avoid problems caused by the init_mm page table allocations exceeding
the available initial memory, when this config is enabled lowmem is
initially mapped using sections (matches current behavior), then remapped
using pages after bootmem is initialized

Change-Id: I8a6feba1d6806d007e17d9d4616525b0446c0fb1
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: i2s: Add I2S ioctl for setting bit format
Chris Fries [Fri, 8 Oct 2010 18:54:28 +0000 (13:54 -0500)]
[ARM] tegra: i2s: Add I2S ioctl for setting bit format

Added an ioctl to set the bit format for I2S between "DSP"/"PCM" mode and
normal mode (set by board file)

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra: irq: Implement retrigger
Colin Cross [Sat, 2 Oct 2010 02:16:54 +0000 (19:16 -0700)]
[ARM] tegra: irq: Implement retrigger

Change-Id: I5be02f60f1b0f35835a8d05abdb2934cdafb1122
Signed-off-by: Colin Cross <ccross@android.com>
13 years ago[ARM] tegra: Combine tegra_fiq_select with enable/disable
Colin Cross [Tue, 5 Oct 2010 01:22:56 +0000 (18:22 -0700)]
[ARM] tegra: Combine tegra_fiq_select with enable/disable

Change-Id: Iba3dc43e1a95993a6278eea008c7a8610ed0cd4c
Signed-off-by: Colin Cross <ccross@android.com>
13 years agommc: sdhci: Fix 4-bit wide support capability
Dmitry Shmidt [Thu, 7 Oct 2010 17:55:04 +0000 (10:55 -0700)]
mmc: sdhci: Fix 4-bit wide support capability

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
13 years agoRevert "[ARM] tegra: driver for spdif audio"
Iliyan Malchev [Thu, 7 Oct 2010 02:05:13 +0000 (19:05 -0700)]
Revert "[ARM] tegra: driver for spdif audio"

This reverts commit 3543d53703c5a1ed0b987c77e7a79226c3a24f45.

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra: i2s: Update pm_qos for 2.6.36
Colin Cross [Wed, 6 Oct 2010 04:59:08 +0000 (21:59 -0700)]
[ARM] tegra: i2s: Update pm_qos for 2.6.36

Change-Id: I205457db1432c672b026887defa8d498bc613412
Signed-off-by: Colin Cross <ccross@android.com>
13 years ago[ARM] tegra: correct device definition of second i2s controller
Chris Fries [Thu, 7 Oct 2010 01:44:47 +0000 (18:44 -0700)]
[ARM] tegra: correct device definition of second i2s controller

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra: hdmi: fix an incorrect register write
Iliyan Malchev [Tue, 5 Oct 2010 00:01:56 +0000 (17:01 -0700)]
[ARM] tegra: hdmi: fix an incorrect register write

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra: tegra_hsuart: fix a typo
Iliyan Malchev [Mon, 4 Oct 2010 22:11:37 +0000 (15:11 -0700)]
[ARM] tegra: tegra_hsuart: fix a typo

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra: dma: fix a typo
Iliyan Malchev [Mon, 4 Oct 2010 22:11:37 +0000 (15:11 -0700)]
[ARM] tegra: dma: fix a typo

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra: driver for spdif audio
Ravindra Lokhande [Mon, 27 Sep 2010 17:53:41 +0000 (12:53 -0500)]
[ARM] tegra: driver for spdif audio

-- creates /dev/spdif_out and /dev/spdif_out_ctl for playback and control
   settings.
-- playback only

Change-Id: I19af1d41e13dedef650784835339ef9718300d0c
Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra: add spdif device and resources
Iliyan Malchev [Tue, 28 Sep 2010 23:12:48 +0000 (16:12 -0700)]
[ARM] tegra: add spdif device and resources

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra_i2s_audio: add more elaborate error counts
Iliyan Malchev [Mon, 4 Oct 2010 19:10:29 +0000 (12:10 -0700)]
[ARM] tegra_i2s_audio: add more elaborate error counts

This patch replaces the error counter with two separate error counters, one for
late dma callbacks, and another for overruns (during recording) or underruns
(during playback).  The ioctls TEGRA_AUDIO_IN_GET_ERROR_COUNT and
TEGRA_AUDIO_OUT_GET_ERROR_COUNT now take a pointer to a struct containing both
error counters.

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years ago[ARM] tegra_i2s_audio: use pm_qos to prevent DMA-callback delays
Iliyan Malchev [Sun, 3 Oct 2010 00:31:54 +0000 (17:31 -0700)]
[ARM] tegra_i2s_audio: use pm_qos to prevent DMA-callback delays

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years agoARM: tegra: parent sclk on pll_m_out1 so it can run @ 240Mhz
Dima Zavin [Sat, 2 Oct 2010 03:01:42 +0000 (20:01 -0700)]
ARM: tegra: parent sclk on pll_m_out1 so it can run @ 240Mhz

Since sclk no longer needs pll_p_out4, don't explicitly enable it.

Change-Id: I47debdd3402e02967f77ebd4c3b8c4594ece4083
Signed-off-by: Dima Zavin <dima@android.com>
13 years agoARM: tegra: provide the correct max rates for pclk and sclk
Dima Zavin [Sat, 2 Oct 2010 03:00:59 +0000 (20:00 -0700)]
ARM: tegra: provide the correct max rates for pclk and sclk

Change-Id: Ieb1ae5356df26e0c9be631b9f58c641a350dc4eb
Signed-off-by: Dima Zavin <dima@android.com>
13 years agoARM: tegra: add a virtual cop clock for AVP reset assertion
Dima Zavin [Fri, 3 Sep 2010 02:18:59 +0000 (19:18 -0700)]
ARM: tegra: add a virtual cop clock for AVP reset assertion

Change-Id: Ib27e5191d78f7994d444167b7d3a981a43f59b3c
Signed-off-by: Dima Zavin <dima@android.com>
13 years agoARM: tegra: enable clk reset for non-peripheral clocks
Dima Zavin [Fri, 3 Sep 2010 02:11:11 +0000 (19:11 -0700)]
ARM: tegra: enable clk reset for non-peripheral clocks

Add a new 'reset' clk op. This can be provided for any clock,
not just peripherals.

Change-Id: I0742cfad1587ddc006066c7fa9bc22f180c04e6f
Signed-off-by: Dima Zavin <dima@android.com>
13 years agotegrafb: fix section mismatch in host driver skeleton
Gary King [Tue, 31 Aug 2010 21:17:57 +0000 (14:17 -0700)]
tegrafb: fix section mismatch in host driver skeleton

Change-Id: I2cf4646c8e362f591e8f1e5d6c0573fd7aee4365
Signed-off-by: Gary King <gking@nvidia.com>
13 years agotegrafb: add forward-decls for structs used in function prototypes
Gary King [Tue, 31 Aug 2010 22:22:24 +0000 (15:22 -0700)]
tegrafb: add forward-decls for structs used in function prototypes

Change-Id: Ief5f09f9340362197b01adeef28fbd42cd0a7a06
Signed-off-by: Gary King <gking@nvidia.com>
13 years agotegra: iovmm-gart: move init call to subsys_initcall
Gary King [Fri, 13 Aug 2010 18:08:42 +0000 (11:08 -0700)]
tegra: iovmm-gart: move init call to subsys_initcall

nvmap and nvhost will behave improperly if iovmm is not present when
their respective devices are probed; however, the probe ordering depends
on the order the initcalls are made to register the drivers. move
iovmm-gart into subsys_initcall to ensure that it is registered earlier
than other drivers

Change-Id: If3e07ce239e593a0833a3381cd1132f5d6ef6786
Signed-off-by: Gary King <gking@nvidia.com>
13 years agotouchscreen: panjit: use multi-touch reporting interface
Gary King [Sat, 11 Sep 2010 01:43:14 +0000 (18:43 -0700)]
touchscreen: panjit: use multi-touch reporting interface

Change-Id: I2bcad8cd07725e36598545168f33b87b9f217c11
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: ventana: fix pinmux for bluetooth and gas gauge
Gary King [Thu, 16 Sep 2010 23:37:23 +0000 (16:37 -0700)]
[ARM] tegra: ventana: fix pinmux for bluetooth and gas gauge

Fixes by Anantha Idapalapati <aidapalapati@nvidia.com> and
Mayuresh Kulkarni <mkulkarni@nvidia.com>

Change-Id: Ib7599d3593a8cc19b5b6dce451f3b203d4c5b70f
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: ventana: add OTG device
Gary King [Tue, 28 Sep 2010 19:36:31 +0000 (12:36 -0700)]
[ARM] tegra: ventana: add OTG device

Change-Id: Ie35453a385221b6d1f8b7eb05ed19e550a4c1d16
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: add tegra-otg and tegra_uart to devices.c
Gary King [Tue, 28 Sep 2010 19:39:08 +0000 (12:39 -0700)]
[ARM] tegra: add tegra-otg and tegra_uart to devices.c

Change-Id: Icdc0de036566220f337a21d5b1bae0e81057f115
Signed-off-by: Gary King <gking@nvidia.com>
13 years agousb: add OTG driver for tegra USB PHY
Gary King [Tue, 28 Sep 2010 19:32:13 +0000 (12:32 -0700)]
usb: add OTG driver for tegra USB PHY

Change-Id: I23be62e819b658c0e25f70eebfbb8dc0dc76c173
Signed-off-by: Gary King <gking@nvidia.com>
13 years agousb: gadget: fsl_udc: Removed unnecessary checks
Benoit Goby [Wed, 29 Sep 2010 23:17:18 +0000 (16:17 -0700)]
usb: gadget: fsl_udc: Removed unnecessary checks

The OTG driver disables the gadget device when the cable is
removed, so there is no need to check if the cable is plugged
before touching registers.

Change-Id: I0b1a3a8b07560d3eca2e2e25574b5219e3373808
Signed-off-by: Benoit Goby <benoit@android.com>
13 years agousb: gadget: fsl_udc: Unlock the spinlock before calling clk_enable
Benoit Goby [Wed, 29 Sep 2010 23:04:25 +0000 (16:04 -0700)]
usb: gadget: fsl_udc: Unlock the spinlock before calling clk_enable

On suspend, dr_controller_stop disable interrupts and on resume, interrupts
are disabled until dr_controller_run is called, so it is safe to call
fsl_udc_clk_suspend/resume with interrupts and the spinlock unlocked.

Change-Id: I33618295ea096a4bfd796d1a07dfc9722e7786b0
Signed-off-by: Benoit Goby <benoit@android.com>
13 years agousb: gadget: fsl_udc: fix warning
Benoit Goby [Wed, 29 Sep 2010 06:53:35 +0000 (23:53 -0700)]
usb: gadget: fsl_udc: fix warning

Change-Id: I2123ac05aafe3f89db3c17dbcb16b44ca6222ce2
Signed-off-by: Benoit Goby <benoit@android.com>
13 years ago[ARM] tegra: usb_phy: fix warning
Benoit Goby [Wed, 29 Sep 2010 06:52:10 +0000 (23:52 -0700)]
[ARM] tegra: usb_phy: fix warning

Change-Id: I10d3f7b001a13d4689adb64a7b4bf06626b6c786
Signed-off-by: Benoit Goby <benoit@android.com>
13 years agovideo: tegra: remove out of date TODO
Erik Gilling [Mon, 27 Sep 2010 23:51:54 +0000 (16:51 -0700)]
video: tegra: remove out of date TODO

Change-Id: I47d065e3cd89276c951a77dc76db02eecf1257a3
Signed-off-by: Erik Gilling <konkers@android.com>
13 years agovideo: tegra: force 24bit output on HDMI
Erik Gilling [Mon, 27 Sep 2010 23:50:54 +0000 (16:50 -0700)]
video: tegra: force 24bit output on HDMI

Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: I180bc0219485c96f3e24f0fa415fdaa488c56c8c

13 years agovideo: tegra: enable both display controller clock when enabling hdmi
Erik Gilling [Mon, 27 Sep 2010 23:49:38 +0000 (16:49 -0700)]
video: tegra: enable both display controller clock when enabling hdmi

The upstream DC needs to be clocked for accesses to HDMI to not hard lock the
system.  Because we don't know if HDMI is conencted to disp1 or disp2 we need
to enable both until we set the DC mux.

Change-Id: Iab7df9911aa9034ea559896850787e4eff3237d7
Signed-off-by: Erik Gilling <konkers@android.com>
13 years agovideo: tegra: add a no_vsync module param to disable vsync
Erik Gilling [Mon, 27 Sep 2010 00:55:52 +0000 (17:55 -0700)]
video: tegra: add a no_vsync module param to disable vsync

Change-Id: Icc950e1a94a7441dd820b774f8656b3db1be0e20
Signed-off-by: Erik Gilling <konkers@android.com>
13 years agousb: gadget: fsl_udc: Use dma_alloc_coherent to allocate the status buffer
Benoit Goby [Fri, 24 Sep 2010 00:58:55 +0000 (17:58 -0700)]
usb: gadget: fsl_udc: Use dma_alloc_coherent to allocate the status buffer

Change-Id: I7c17b7f8a8b89c6a687f6e2604542dabecc4cfa7
Signed-off-by: Benoit Goby <benoit@android.com>
13 years ago[ARM] tegra: ventana: register tps6586x interrupts
Gary King [Thu, 2 Sep 2010 20:59:36 +0000 (13:59 -0700)]
[ARM] tegra: ventana: register tps6586x interrupts

configure the PMC interrupt polarity low, and register IRQ
numbers with the TPS6586X core and RTC

Change-Id: Iba08704bd1355ed00af3d9132118ce095c5118fe
Signed-off-by: Gary King <gking@nvidia.com>
13 years agortc: tps6586x: add alarm support to tps6586x driver
Gary King [Thu, 16 Sep 2010 21:38:46 +0000 (14:38 -0700)]
rtc: tps6586x: add alarm support to tps6586x driver

Signed-off-by: Gary King <gking@nvidia.com>
13 years agomfd: tps6586x: add basic interrupt support
Gary King [Mon, 30 Aug 2010 23:16:55 +0000 (16:16 -0700)]
mfd: tps6586x: add basic interrupt support

add support for enabling and disabling tps6586x subdevice interrupts

Signed-off-by: Gary King <gking@nvidia.com>
13 years agovideo: tegra: set output color depth on init/resume
Erik Gilling [Fri, 24 Sep 2010 00:00:28 +0000 (17:00 -0700)]
video: tegra: set output color depth on init/resume

Signed-off-by: Erik Gilling <konkers@android.com>
Change-Id: If7e0af98910c68cc53227990ab2970a934e3867c

13 years ago[ARM] Tegra: SPI: Suspend/resume.
Todd Poynor [Fri, 30 Jul 2010 19:09:22 +0000 (12:09 -0700)]
[ARM] Tegra: SPI: Suspend/resume.

Save/restore SLINK_COMMAND_0 register.

Wait for in-progress transactions to complete before suspend.

Reject and WARN_ON transactions when suspended.

Change-Id: I0527781f0bf95781afa3a35a68282cde2f0189ae
Signed-off-by: Todd Poynor <toddpoynor@google.com>
13 years ago[ARM] twd: Always calibrate local timer
Colin Cross [Wed, 22 Sep 2010 06:12:19 +0000 (23:12 -0700)]
[ARM] twd: Always calibrate local timer

Change-Id: I075f883739d0eeea3b6b10da003119431cf3c2d2
Signed-off-by: Colin Cross <ccross@android.com>
13 years agovideo: tegra: set border color to black on init
Erik Gilling [Tue, 21 Sep 2010 01:00:56 +0000 (18:00 -0700)]
video: tegra: set border color to black on init

Change-Id: Ib8fe2722ab98b3d8a34edc2a26b6b5d4dd338973
Signed-off-by: Erik Gilling <konkers@android.com>
13 years agovideo: tegra: force blend update on enable/disable not suspend/resume
Erik Gilling [Tue, 21 Sep 2010 00:56:39 +0000 (17:56 -0700)]
video: tegra: force blend update on enable/disable not suspend/resume

Change-Id: I2d47d820311554b29db302ab9370574f2112cb51
Signed-off-by: Erik Gilling <konkers@android.com>
13 years ago[ARM] twd: Fix updating control register in set_mode
Colin Cross [Sat, 18 Sep 2010 04:30:05 +0000 (21:30 -0700)]
[ARM] twd: Fix updating control register in set_mode

Change-Id: I5096cc3fedf51024c332adbb846689e01e1f7ce0
Signed-off-by: Colin Cross <ccross@android.com>
13 years agommc: host: sdhci-tegra: Add no hispd quirk
Colin Cross [Wed, 22 Sep 2010 00:51:27 +0000 (17:51 -0700)]
mmc: host: sdhci-tegra: Add no hispd quirk

Change-Id: I3a4f1b8960a5cc71af31aeef8c5285c0cfefe145
Signed-off-by: Colin Cross <ccross@android.com>
13 years agommc: host: sdhci: Prevent IRQ capability from being set if quirk is set
Colin Cross [Wed, 22 Sep 2010 00:51:05 +0000 (17:51 -0700)]
mmc: host: sdhci: Prevent IRQ capability from being set if quirk is set

Change-Id: I18a622844a69ed00fee798786c28c75d10ba7c81
Signed-off-by: Colin Cross <ccross@android.com>
13 years agoenable tegra_i2s_audio
Iliyan Malchev [Thu, 9 Sep 2010 01:23:45 +0000 (18:23 -0700)]
enable tegra_i2s_audio

Change-Id: I0b6bfba1f2084d5d05929c2066a49a6c7413c54a
Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years agoARM: tegra: powergate the mpe and 3d cores at boot
Dima Zavin [Fri, 17 Sep 2010 00:58:05 +0000 (17:58 -0700)]
ARM: tegra: powergate the mpe and 3d cores at boot

Change-Id: I6ca09db039cd80eab18d062a7a4b5d2a93bd385e
Signed-off-by: Dima Zavin <dima@android.com>
13 years ago[ARM] twd: Fix prescaler getting cleared by set_mode
Colin Cross [Fri, 17 Sep 2010 20:51:48 +0000 (13:51 -0700)]
[ARM] twd: Fix prescaler getting cleared by set_mode

Change-Id: I98d4b02feeb9784591504c59a82058a58bbd038e
Signed-off-by: Colin Cross <ccross@android.com>
13 years ago[ARM] tegra: tegra_i2s_audio: add support for downsampling to 16kHz
Iliyan Malchev [Tue, 24 Aug 2010 20:40:26 +0000 (13:40 -0700)]
[ARM] tegra: tegra_i2s_audio: add support for downsampling to 16kHz

Signed-off-by: Iliyan Malchev <malchev@google.com>
13 years agousb: host: Add power_off_on_bus_suspend option
Benoit Goby [Fri, 10 Sep 2010 08:16:15 +0000 (01:16 -0700)]
usb: host: Add power_off_on_bus_suspend option

If the device connected to a port has out-of-band wakeup
signaling, the phy and controller may be powered off on bus suspend.

Change-Id: Ia206f05d01160411b97aefa83045cd759d35b66d
Signed-off-by: Benoit Goby <benoit@android.com>
13 years ago[ARM] tegra: usb_phy: Reset the ulpi phy on power off
Benoit Goby [Tue, 14 Sep 2010 00:43:44 +0000 (17:43 -0700)]
[ARM] tegra: usb_phy: Reset the ulpi phy on power off

Put the ulpi phy in reset on power off to save power in lp0.

Change-Id: I7d7441c1029b170ff24da7274d8404b4bcf1d9e9
Signed-off-by: Benoit Goby <benoit@android.com>
13 years ago[ARM] tegra: ventana: add tps6586x rtc and pda_power devices
Gary King [Sun, 15 Aug 2010 17:32:12 +0000 (10:32 -0700)]
[ARM] tegra: ventana: add tps6586x rtc and pda_power devices

Change-Id: I1c851ab4982764b7f72d968d665d0c898fae25aa
Signed-off-by: Gary King <gking@nvidia.com>
13 years agomfd: tps6586x: add RTC driver for TI TPS6586x
Gary King [Sat, 14 Aug 2010 18:17:54 +0000 (11:17 -0700)]
mfd: tps6586x: add RTC driver for TI TPS6586x

Change-Id: Ie22a19b662fda6365b1c514aaf83c9de12fabbd4
Signed-off-by: Gary King <gking@nvidia.com>
13 years agovideo: tegra: add z order blending, output position, and stride to overlays
Antti Hatala [Wed, 8 Sep 2010 23:09:31 +0000 (16:09 -0700)]
video: tegra: add z order blending, output position, and stride to overlays

Change-Id: I7439f60bfa3264bec9b1447fd970eef9e4c089d9
Signed-off-by: Erik Gilling <konkers@android.com>
13 years agospi: tegra: fix error setting on timeout
Erik Gilling [Thu, 9 Sep 2010 01:16:45 +0000 (18:16 -0700)]
spi: tegra: fix error setting on timeout

avoids derefencing an uninitialized pointer

Change-Id: Icf528441ae481e9f6f5ddc0be32c7c217fa49701
Signed-off-by: Erik Gilling <konkers@android.com>
13 years agovideo: tegra: correct typeo in HDMI parent clock setup
Erik Gilling [Thu, 9 Sep 2010 00:38:18 +0000 (17:38 -0700)]
video: tegra: correct typeo in HDMI parent clock setup

Change-Id: I7d1d1e8f0e627bc0b2d225af7dde29becc53f991
Signed-off-by: Erik Gilling <konkers@android.com>
13 years ago[ARM] tegra: ventana: specify panjit reset GPIO
Gary King [Tue, 7 Sep 2010 23:04:05 +0000 (16:04 -0700)]
[ARM] tegra: ventana: specify panjit reset GPIO

also delete the function which resets the touchscreen controller,
since that is now part of the panjit_touch driver _probe routine

Change-Id: I172b726978fde44cd98da391d233e31ecd9f7da2
Signed-off-by: Gary King <gking@nvidia.com>
13 years agoinput: touchscreen: panjit_i2c: fix suspend
Gary King [Mon, 6 Sep 2010 03:36:38 +0000 (20:36 -0700)]
input: touchscreen: panjit_i2c: fix suspend

the panjit touchscreen needs to be reset when returning from
deep sleep mode; add a platform data structure to specify
the reset GPIO.

perform the reset during _probe, since the code already needs
to exist for _resume

delete a bunch of unused preprocessor defines

Change-Id: I71ae65dec45710b0eab4625036edf75064d4cc2b
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: add tegra_pwm to devices.c
Gary King [Fri, 3 Sep 2010 23:44:52 +0000 (16:44 -0700)]
[ARM] tegra: add tegra_pwm to devices.c

Change-Id: I8d861fd9f7748f29879315cd6f0800cec6a84f9e
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: add PWM driver
Gary King [Fri, 3 Sep 2010 23:34:36 +0000 (16:34 -0700)]
[ARM] tegra: add PWM driver

add support for the pulse-width-modulation APIs using the tegra 2
internal PWM controllers

Change-Id: If313301aaebab01f08edbe120060537e6917ea4b
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: ventana: fix pinmux for wifi
Gary King [Mon, 6 Sep 2010 01:03:08 +0000 (18:03 -0700)]
[ARM] tegra: ventana: fix pinmux for wifi

configure the drive pinmux for wifi and i2c, and configure
the tristate and pullups for the wifi pins correctly

Change-Id: I40cddea16aa66e3a286c7ccc93677d5459ae3717
Signed-off-by: Gary King <gking@nvidia.com>
13 years agovideo: tegra: add HDMI support
Erik Gilling [Fri, 3 Sep 2010 22:32:42 +0000 (15:32 -0700)]
video: tegra: add HDMI support

Previous implementation was DVI only

Change-Id: I6e7defb0cf73a1cf094e330715a2a302fd273589
Signed-off-by: Erik Gilling <konkers@android.com>
13 years agovideo: tegra: set output size for hdmi
Erik Gilling [Fri, 3 Sep 2010 22:30:40 +0000 (15:30 -0700)]
video: tegra: set output size for hdmi

Change-Id: I4737963d57e01be62c95076d22a26aaae45bfde1
Signed-off-by: Erik Gilling <konkers@android.com>
13 years ago[ARM] serial: update tegra_hsuart to use PTR_ERRless dma API
Erik Gilling [Wed, 1 Sep 2010 20:43:43 +0000 (13:43 -0700)]
[ARM] serial: update tegra_hsuart to use PTR_ERRless dma API

Change-Id: I071d99032995c878bc1d563cda56602f5410ab43
Signed-off-by: Erik Gilling <konkers@android.com>
13 years ago[ARM] tegra: update i2s to use PTR_ERRless dma API
Erik Gilling [Wed, 1 Sep 2010 20:43:01 +0000 (13:43 -0700)]
[ARM] tegra: update i2s to use PTR_ERRless dma API

Change-Id: I4bfe6ef64688244ae1d6a380891c7d94e2e243e7
Signed-off-by: Erik Gilling <konkers@android.com>
13 years ago[ARM] tegra: usb_phy: Add support for usb2 ulpi external phy
Benoit Goby [Fri, 3 Sep 2010 00:47:06 +0000 (17:47 -0700)]
[ARM] tegra: usb_phy: Add support for usb2 ulpi external phy

Change-Id: Ie2ed0d22abae1319996fe0a6caf28ec7d7e4313d
Signed-off-by: Benoit Goby <benoit@android.com>
13 years agousb: gadget: Enable/disable the gadget device on vbus_session calls
Benoit Goby [Wed, 1 Sep 2010 00:09:39 +0000 (17:09 -0700)]
usb: gadget: Enable/disable the gadget device on vbus_session calls

If we use an OTG driver, the driver will detect VBUS changes and notify
the gadget driver through vbus_session. Enable/disable the gadget driver
in vbus session so that there is no need to check the OTG state on every
interrupt.

Change-Id: I617ad5742be2632b2257b71314db8f330be463d5
Signed-off-by: Benoit Goby <benoit@android.com>
13 years agousb: host: OTG driver now adds/removes the ehci device based on ID pin status
Benoit Goby [Tue, 31 Aug 2010 23:49:39 +0000 (16:49 -0700)]
usb: host: OTG driver now adds/removes the ehci device based on ID pin status

There is no need anymore to check the OTG state on every interrupts and
use a work thread.

Moved the suspend code from usb_phy.c as this is ehci specific.

Change-Id: I523baab1476323a35360b1d802088370e42d0fd7
Signed-off-by: Benoit Goby <benoit@android.com>
13 years agousb: host: ehci-hub: Add port_reset_no_wait quirk
Benoit Goby [Tue, 31 Aug 2010 23:36:14 +0000 (16:36 -0700)]
usb: host: ehci-hub: Add port_reset_no_wait quirk

Tegra quirk: The PORT_RESET bit in PORTSC1 does not need to be cleared
and there is no need to wait for it to clear. The bit will automatically
change to 0 when the bus-reset sequence is done and an interrupt will be
generated.

Change-Id: I645417013af46785a249096ebc06a1f688228d94
Signed-off-by: Benoit Goby <benoit@android.com>
13 years ago[ARM] tegra: Compile usb_phy.c only if usb support is enabled
Benoit Goby [Tue, 31 Aug 2010 22:59:00 +0000 (15:59 -0700)]
[ARM] tegra: Compile usb_phy.c only if usb support is enabled

Change-Id: I190bab00533d065171ab2478363830c6d95e66cb
Signed-off-by: Benoit Goby <benoit@android.com>
13 years ago[ARM] tegra: usb_phy: Moved suspend/resume code to ehci driver
Benoit Goby [Tue, 31 Aug 2010 22:38:09 +0000 (15:38 -0700)]
[ARM] tegra: usb_phy: Moved suspend/resume code to ehci driver

The suspend/resume methods should go to the ehci driver as they only
save/restore ehci registers.

Remove phy_init and initialize all phy registers in power_on as all the
registers need to be reinitialized after LP0.

Change-Id: I649d2cb66339aaff2d7db442a5441d2d3f06268b
Signed-off-by: Benoit Goby <benoit@android.com>
13 years agoserial: tegra_hsuart: Fix typo preventing non 8-bit modes
Colin Cross [Thu, 2 Sep 2010 23:16:24 +0000 (16:16 -0700)]
serial: tegra_hsuart: Fix typo preventing non 8-bit modes

Change-Id: Ife085017dd7a956c46ad4077c5bbf33d5a049f3d
Signed-off-by: Colin Cross <ccross@android.com>
13 years agotegra: sdhci: Remove set_clock op, not needed
Todd Poynor [Thu, 2 Sep 2010 23:13:24 +0000 (16:13 -0700)]
tegra: sdhci: Remove set_clock op, not needed

The SDHCI controller specifies a maximum SDCLK speed of 48MHz, which is
now in agreement with the platform clock, and so the SDHCI host max_clk
no longer needs to be overriden.

Change-Id: Ie8c7f643d956cfd1bb83675708336278482c40d8
Signed-off-by: Todd Poynor <toddpoynor@google.com>
13 years ago[ARM] tegra: clocks: Set all SDMMC clocks to 48MHz at boot
Todd Poynor [Thu, 2 Sep 2010 22:10:29 +0000 (15:10 -0700)]
[ARM] tegra: clocks: Set all SDMMC clocks to 48MHz at boot

48MHz is the max speed reported by present-day Tegra2 SDHCI controllers
and is the max speed we can run without adjusting for DVFS changes.

Change-Id: I3f2c23ffdfc40aebe8211688077003f09f599f1a
Signed-off-by: Todd Poynor <toddpoynor@google.com>
13 years ago[ARM] tegra: add tegra_wdt_device to devices.c
Gary King [Fri, 27 Aug 2010 03:00:29 +0000 (20:00 -0700)]
[ARM] tegra: add tegra_wdt_device to devices.c

Change-Id: I8098fa38ebef8636a6eeb1179e679201445e5237
Signed-off-by: Gary King <gking@nvidia.com>
13 years agowatchdog: add tegra_wdt driver
Gary King [Thu, 26 Aug 2010 17:59:50 +0000 (10:59 -0700)]
watchdog: add tegra_wdt driver

add a driver for the hardware watchdog timer embedded in NVIDIA
Tegra SoCs

Change-Id: I45bc829f26f350143d5a07e1f4ddc46d24f3a54c
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: ventana: do not tristate backlight & battery pins
Gary King [Sun, 15 Aug 2010 16:46:11 +0000 (09:46 -0700)]
[ARM] tegra: ventana: do not tristate backlight & battery pins

Change-Id: I5f844fd58a379cb7191f03bb23599cd4061caf5c
Signed-off-by: Gary King <gking@nvidia.com>
13 years ago[ARM] tegra: ventana: fix suspend build break
Gary King [Tue, 31 Aug 2010 19:05:31 +0000 (12:05 -0700)]
[ARM] tegra: ventana: fix suspend build break

update the suspend platform data for ventana to match recent changes

Change-Id: I142123027453ee34f80c094fb7cf1fcb464e889d
Signed-off-by: Gary King <gking@nvidia.com>
13 years agousb: host: ehci-hcd: add controller_resets_phy quirk
Gary King [Tue, 8 Dec 2009 04:52:35 +0000 (20:52 -0800)]
usb: host: ehci-hcd: add controller_resets_phy quirk

only reset the controller when doing so won't also reset the phy (Tegra quirk)

Change-Id: I549a18977d0d5ebfa12c32016aa9e6bffaa8643c
Signed-off-by: Gary King <gking@nvidia.com>
13 years agopanjit_touch: fix warning "control reaches end of non-void function"
Gary King [Tue, 3 Aug 2010 22:09:46 +0000 (15:09 -0700)]
panjit_touch: fix warning "control reaches end of non-void function"

Change-Id: I3a43dc58edff3687e294c2d2a09d1f6e06e27fce
Signed-off-by: Gary King <gking@nvidia.com>
13 years agoinput: touchscreen driver for panjit capacitive i2c touch panels
Gary King [Fri, 30 Jul 2010 15:53:11 +0000 (08:53 -0700)]
input: touchscreen driver for panjit capacitive i2c touch panels

driver supports the MGG1010AI06 and EGG1010AI06 capacitive touch panels

Change-Id: I038030bf4c9acbd0d3d504427a32f4e46632c115
Signed-off-by: Gary King <gking@nvidia.com>
13 years agommc: fix non-arm build due to eMMC 4.3+ change
Olof Johansson [Wed, 28 Jul 2010 04:11:15 +0000 (23:11 -0500)]
mmc: fix non-arm build due to eMMC 4.3+ change

drivers/mmc/core/mmc.c:228: error: ‘SZ_256K’ undeclared (first use in this function)

Introduced by:
    mmc: subtract boot sectors from disk size for eMMC 4.3+ devices

(SZ_* doesn't exist on anything but arm)

Change-Id: I981217adea4ef56bf870562b6711488f3f4bf830
Signed-off-by: Olof Johansson <olof@lixom.net>
13 years agoserial: tegra_hsuart: fix receive DMA, RTS, timeout, and tx trigger
Jay Cheng [Thu, 19 Aug 2010 11:09:49 +0000 (07:09 -0400)]
serial: tegra_hsuart: fix receive DMA, RTS, timeout, and tx trigger

initialize baud rate and configuration settings to safe default values
when receive DMA is in use, so that the DMA request may be enqueued at
initialization time

re-enqueue the receive DMA buffer immediately it is dequeued by the
DMA threshold callback and the receive ISR, rather than waiting for the
DMA complete callback

originally fixed by Gary King <gking@nvidia.com>

Fixing tx trigger level setting:

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.
originally fixed by Laxman Dewangan (ldewangan@nvidia.com)

Change-Id: Iea00478f143e61c604828035c6c92d614fa7cccb
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
13 years agoserial: tegra_hsuart: Fix void return type on writel accessors
Colin Cross [Mon, 2 Aug 2010 03:05:38 +0000 (20:05 -0700)]
serial: tegra_hsuart: Fix void return type on writel accessors

Signed-off-by: Colin Cross <ccross@google.com>
13 years agoserial: tegra_hsuart: fix section mismatch error
Gary King [Tue, 29 Jun 2010 01:18:06 +0000 (18:18 -0700)]
serial: tegra_hsuart: fix section mismatch error

Change-Id: Ib4c1872c691a98f11bc7c8553df41bec93f64285
Signed-off-by: Gary King <gking@nvidia.com>
13 years agoserial: tegra_hsuart: Cleanups and bug fixes
Colin Cross [Fri, 4 Jun 2010 17:56:50 +0000 (10:56 -0700)]
serial: tegra_hsuart: Cleanups and bug fixes

tegra_start_tx was called directly by the serial core, as
well as from dma and serial interrupts to queue the next
block of data.  Separate out the "queue next data"
functionality into tegra_start_next_tx.

Also fixes TX PIO by adjusting FIFO sizes and prevents
last characters from getting lost by spinning on TEMT
before disabling clocks.

Change-Id: If8ce15490f77dcbde48f1e64959d5c3f0ec35120
Signed-off-by: Colin Cross <ccross@android.com>
13 years agoserial: tegra_hsuart: Fix DMA receive, drop err in dma callbacks
Colin Cross [Fri, 4 Jun 2010 00:50:27 +0000 (17:50 -0700)]
serial: tegra_hsuart: Fix DMA receive, drop err in dma callbacks

Change-Id: I4c4bc12e8c883912f8979b75a8eb418a62e77f94
Signed-off-by: Colin Cross <ccross@android.com>
13 years agoserial: Add tegra_hsuart driver
Colin Cross [Mon, 5 Apr 2010 20:30:14 +0000 (13:30 -0700)]
serial: Add tegra_hsuart driver

Change-Id: Ic2d0a43ac3597c8a270758af6ea3090acdd0fe7f
Signed-off-by: Colin Cross <ccross@android.com>
13 years agommc: sdhci-tegra: Always call sdhci suspend/resume functions
Dmitry Shmidt [Fri, 13 Aug 2010 01:17:47 +0000 (18:17 -0700)]
mmc: sdhci-tegra: Always call sdhci suspend/resume functions

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
13 years agommc: sdhci: Skip mmc suspend/resume ops for SDIO device,
Dmitry Shmidt [Fri, 13 Aug 2010 01:08:40 +0000 (18:08 -0700)]
mmc: sdhci: Skip mmc suspend/resume ops for SDIO device,

enable/disable sdc irq instead of request/free,
mask all sdc interrupts on suspend

Change-Id: I3fb137363c6e639882b796aff8b80784c5256a71
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
13 years agommc: subtract boot sectors from disk size for eMMC 4.3+ devices
Gary King [Fri, 16 Jul 2010 00:11:32 +0000 (17:11 -0700)]
mmc: subtract boot sectors from disk size for eMMC 4.3+ devices

the csd sector count reported by eMMC 4.3+ cards includes the boot
partition size; subtract this from the size reported to the disk
since the boot partition is inaccessible

Change-Id: I601b83aa0159b7aa446409ea8c945b256dd0b5b1
Signed-off-by: Gary King <gking@nvidia.com>
13 years agotegra-sdhci: treat -1 as invalid card detect GPIO
Gary King [Thu, 15 Jul 2010 03:41:23 +0000 (20:41 -0700)]
tegra-sdhci: treat -1 as invalid card detect GPIO

0 is a valid GPIO number (GPIO_PA0), so the check in the tegra
SDHCI driver for a valid card detect pin should compare against -1
instead

Change-Id: I47ad31eaf89472b2e6938978d72a9d0b92a74958
Signed-off-by: Gary King <gking@nvidia.com>
13 years agodrivers: mmc: sdhci-tegra: Add suspend/resume processing
Dmitry Shmidt [Thu, 1 Jul 2010 21:47:07 +0000 (14:47 -0700)]
drivers: mmc: sdhci-tegra: Add suspend/resume processing

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
13 years agommc: sdhci: Initial Tegra sdhci driver
Colin Cross [Thu, 11 Mar 2010 04:42:35 +0000 (20:42 -0800)]
mmc: sdhci: Initial Tegra sdhci driver

Change-Id: I6a761b978224fe91dc7928ef5595af2cbd66fc92
Signed-off-by: Colin Cross <ccross@android.com>