firefly-linux-kernel-4.4.55.git
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 years agovideo: tegra: include nvhost.h instead of nvhost_dev.h
Erik Gilling [Tue, 24 Aug 2010 23:43:44 +0000 (16:43 -0700)]
video: tegra: include nvhost.h instead of nvhost_dev.h

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: set window size on mode change
Erik Gilling [Tue, 24 Aug 2010 23:13:39 +0000 (16:13 -0700)]
video: tegra: set window size on mode change

otherwise it's hardcoded by the platform-data

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: add hdmi output support
Erik Gilling [Tue, 24 Aug 2010 04:36:56 +0000 (21:36 -0700)]
video: tegra: add hdmi output support

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: add hotplug display support
Erik Gilling [Tue, 24 Aug 2010 04:28:12 +0000 (21:28 -0700)]
video: tegra: add hotplug display support

This is needed for HDMI.

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: add fb_edid_add_monspecs for parsing extended edid information
Erik Gilling [Tue, 17 Aug 2010 23:16:19 +0000 (16:16 -0700)]
video: add fb_edid_add_monspecs for parsing extended edid information

Modern monitors/tvs have more extended EDID information blocks which can
contain extra detailed modes.  This adds a fb_edid_add_monspecs function
which drivers can use to parse those additions blocks.

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: add host bus support to display controller
Erik Gilling [Fri, 6 Aug 2010 02:10:37 +0000 (19:10 -0700)]
video: tegra: add host bus support to display controller

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: add skeleton host bus support
Erik Gilling [Tue, 24 Aug 2010 04:58:20 +0000 (21:58 -0700)]
video: tegra: add skeleton host bus support

The host (or host1x) bus sits between the cpu core and the 3d, 2d, camera,
display, and mpeg encoder functions.  It contains provides DMA channels,
hardware mutexes, and synchronization points.

Signed-off-by: Erik Gilling <konkers@android.com>
14 years ago[ARM] tegra: tegra_i2s_audio: remove debugfs, add sysfs interface
Iliyan Malchev [Fri, 20 Aug 2010 22:09:59 +0000 (15:09 -0700)]
[ARM] tegra: tegra_i2s_audio: remove debugfs, add sysfs interface

-- Removed debugfs interface for toggling DMA
-- Added it under sysfs
-- Also added attributes for settings the attention levels of the i2s fifos

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: tegra_i2s_audio: do not reset the i2s fifo unnecessarily
Iliyan Malchev [Tue, 24 Aug 2010 01:42:07 +0000 (18:42 -0700)]
[ARM] tegra: tegra_i2s_audio: do not reset the i2s fifo unnecessarily

This patch removes redundant i2s fifo resets, which also cause blips on playback.
It also moves the fifo attention levels to struct audio_stream.

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: tegra_i2s_audio: allow preloading of the tx fifo with data
Iliyan Malchev [Fri, 20 Aug 2010 22:11:48 +0000 (15:11 -0700)]
[ARM] tegra: tegra_i2s_audio: allow preloading of the tx fifo with data

Add an ioctl to allow the TX fifo to be loaded with data before playback
starts.  Playback can then be started by calling write() on the FIFO, even
with a length of 0.  This will cause the pending data to be played out.

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: tegra_i2s_audio: clean up handling of state
Iliyan Malchev [Wed, 18 Aug 2010 01:36:41 +0000 (18:36 -0700)]
[ARM] tegra: tegra_i2s_audio: clean up handling of state

-- Use consistently the various state flags:
   -- active is set only when there is a read or write in flight
   -- recording_canncelled is set only when recording is stopped via the ioctl()
   -- dma_has_it is used to determine whether DMA is already in flight; do not
      use the state of the fifos for this (e.g., if the TX fifo is empty, do not
      assume that playback is stopped)
   -- added a stop_completion (implemented for readers only) so that readers
      closing a stream can wait until DMA or PIO transactions are stopped
-- Split /dev/audio0_{in,out} into /dev/audio0_{in,in_ctl,out,out_ctl} where the
   _ctl versions have the ioctl()s
-- Introduced an error count per audio_stream; error count is reset on open, can
   be read back & reset through an ioctl

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: tegra_i2s_audio: configure in/out buffer sizes from user space
Iliyan Malchev [Tue, 17 Aug 2010 18:34:39 +0000 (11:34 -0700)]
[ARM] tegra: tegra_i2s_audio: configure in/out buffer sizes from user space

-- Add ioctls for configuring buffer, threshold, and DMA-transaction sizes from
   user space.
-- Buffer sizes are provided in orders of magnitude.
-- Allocate max-sized buffers during probe, and allow the user to resize them
   only within the original allocation, to avoid the risk from kmalloc failing
   due to kernel-heap fragmentation, and also to avoid race conditions on DMA
   shut-down.
-- In tegra_audio_write(), moved the call to start_playback_if_necessary()
   immediately after writing to the fifo.  Otherwise, when the fifo size is
   smaller than what the user is trying to write, the user will block before
   playback is started.
-- Silenced printk spew on spinning on i2s registers after transactions are
   completed.
-- Cleaned up a 80-col style violation in downsample()

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: tegra_i2s_audio: combine audio_in_stream and audio_out_stream
Iliyan Malchev [Tue, 17 Aug 2010 16:56:18 +0000 (09:56 -0700)]
[ARM] tegra: tegra_i2s_audio: combine audio_in_stream and audio_out_stream

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years agousb: host: Add support for suspend and bus suspend
Benoit Goby [Fri, 20 Aug 2010 05:01:58 +0000 (22:01 -0700)]
usb: host: Add support for suspend and bus suspend

On suspend, use phy_suspend save the phy registers so that there is
no need to reset the controller and re-enumerate devices on resume.

Change-Id: I00fe5b87a1b319044724494b8e635b540088a38b
Signed-off-by: Benoit Goby <benoit@android.com>
14 years agousb: gadget: Reset the controller when cable is unplugged
Benoit Goby [Fri, 20 Aug 2010 04:42:23 +0000 (21:42 -0700)]
usb: gadget: Reset the controller when cable is unplugged

Reset the controller when the cable is unplugged to leave it in the idle
state. The OTG driver will reconfigure it on vbus/id pin detection.

Change-Id: I87903ec86f3c35af64a141f27a34cc0720a61b08
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: usb_phy: Add phy_suspend and phy_clk_disable
Benoit Goby [Fri, 20 Aug 2010 04:28:59 +0000 (21:28 -0700)]
[ARM] tegra: usb_phy: Add phy_suspend and phy_clk_disable

phy_suspend save the phy registers and power it off. phy_clk_disable
disable the phy clock to put the phy in low power mode.

Change-Id: If5665ec96beec9441fae3b737923dbe69c86e650
Signed-off-by: Benoit Goby <benoit@android.com>
14 years agousb: gadget: In OTG mode, power down the controller on probe
Benoit Goby [Tue, 10 Aug 2010 03:49:09 +0000 (20:49 -0700)]
usb: gadget: In OTG mode, power down the controller on probe

The OTG driver will power it up on ID pin detection. This avoids
race conditions when the device is powered on with the otg cable
attached.

Change-Id: I6bd5f1d73284f9b8534ef3dfb936b81a9400fa5b
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: ventana: Add pmu device
Colin Cross [Sun, 22 Aug 2010 01:23:34 +0000 (18:23 -0700)]
[ARM] tegra: ventana: Add pmu device

Change-Id: I5fa227893cc64b900ee749d292cb09a728f9ec2f
Signed-off-by: Colin Cross <ccross@google.com>
14 years ago[ARM] tegra: harmony: Add pmu device
Colin Cross [Sun, 22 Aug 2010 01:23:11 +0000 (18:23 -0700)]
[ARM] tegra: harmony: Add pmu device

Originally fixed by Will Deacon.

Change-Id: I2319d269f645766597100f91b2086fde4535c0fd
Signed-off-by: Colin Cross <ccross@google.com>
14 years ago[ARM] tegra: Add pmu to common devices
Colin Cross [Sun, 22 Aug 2010 01:21:23 +0000 (18:21 -0700)]
[ARM] tegra: Add pmu to common devices

Originally fixed by Will Deacon.

Change-Id: I504f8109bedd1eea4bf637395913726a98eb6bb8
Signed-off-by: Colin Cross <ccross@google.com>
14 years ago[ARM] tegra: cpufreq: Adjust twds on frequency scaling
Colin Cross [Fri, 20 Aug 2010 05:19:53 +0000 (22:19 -0700)]
[ARM] tegra: cpufreq: Adjust twds on frequency scaling

Change-Id: I8d187b861e18dfefcbf4566f4c695dfd1e17fe98
Signed-off-by: Colin Cross <ccross@google.com>
14 years ago[ARM] tegra: localtimer: Pass target twd rate
Colin Cross [Fri, 20 Aug 2010 05:08:06 +0000 (22:08 -0700)]
[ARM] tegra: localtimer: Pass target twd rate

Change-Id: I4d57462045732f1f219a62c1be911437adf9a077
Signed-off-by: Colin Cross <ccross@google.com>
14 years ago[ARM] twd: Allow twd rescaling to match cpu frequency
Colin Cross [Fri, 20 Aug 2010 05:07:43 +0000 (22:07 -0700)]
[ARM] twd: Allow twd rescaling to match cpu frequency

The clock to the ARM TWD local timer scales with the cpu
frequency.  To allow the cpu frequency to change while
maintaining a constant TWD frequency, pick a lower target
frequency for the TWD and use the prescaler to divide down
to the closest lower frequency.

This patch provides a new initialization function that takes
a target TWD frequency and the relation between the cpu
clock and the TWD clock, required to be an integer divider
>= 2 by the ARM spec.  It also provides a function to be
called from cpufreq drivers to set the prescaler whenever
the cpu frequency changes.

Also fixes a typo in the printk of the calibrated frequency.

Change-Id: I3fa8ef718ff5518170f1b2bab29efe960741853e
Signed-off-by: Colin Cross <ccross@google.com>
14 years ago[ARM] tegra_i2s_audio: add software downsampling for recorded data + fixes
Iliyan Malchev [Thu, 12 Aug 2010 01:19:47 +0000 (18:19 -0700)]
[ARM] tegra_i2s_audio: add software downsampling for recorded data + fixes

downsampling:
-- add ioctl()s to downsample recorded data
-- supported frequencies are 8kHz, 11.025kHz, 22.05kHz, and 44.1kHz
-- downsamping to stereo and mono
-- default is 11.025kHz mono

fixes:
-- fix crashes from dequeuing DMA requests twice

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years agovideo: tegra: include linux/pm.h in mach/tegradc.h
Erik Gilling [Thu, 12 Aug 2010 02:53:36 +0000 (19:53 -0700)]
video: tegra: include linux/pm.h in mach/tegradc.h

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: add init/suspend/resume hooks to outputs
Erik Gilling [Thu, 12 Aug 2010 01:52:50 +0000 (18:52 -0700)]
video: tegra: add init/suspend/resume hooks to outputs

Allows board specific code to handle panel init.

Signed-off-by: Erik Gilling <konkers@android.com>
14 years ago[ARM] tegra: usb_phy: Power up/down bias and otg config pad circuitry
Benoit Goby [Wed, 4 Aug 2010 04:27:49 +0000 (21:27 -0700)]
[ARM] tegra: usb_phy: Power up/down bias and otg config pad circuitry

On tegra, the UTMIP PAD control logic is common to all utmip phys and
are controlled from usb1. This adds a reference count to turn off the
pads when all utmip phy are off.

Change-Id: I3537d5cc52df929f817e547a79da235394d2c265
Signed-off-by: Benoit Goby <benoit@android.com>
14 years agovideo: tegra: checkpatch changes
Erik Gilling [Wed, 11 Aug 2010 22:55:49 +0000 (15:55 -0700)]
video: tegra: checkpatch changes

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agousb: host: Fix kernel warning on probe
Benoit Goby [Tue, 10 Aug 2010 23:36:58 +0000 (16:36 -0700)]
usb: host: Fix kernel warning on probe

Change-Id: I6d5b10e047807f9bcb36809672705f8a8b2d11a4
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: audio_i2s_audio: clean up & support for recording audio
Iliyan Malchev [Fri, 6 Aug 2010 22:41:26 +0000 (15:41 -0700)]
[ARM] tegra: audio_i2s_audio: clean up & support for recording audio

-- add audio_in_stream (identical to audio_out_stream, may merge them later)
-- add support for DMA and PIO recording
-- add ioctls for /dev/audio<n>_in to start and stop recording

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years agovideo: tegra: add tegra display controller driver
Erik Gilling [Mon, 12 Jul 2010 00:06:28 +0000 (17:06 -0700)]
video: tegra: add tegra display controller driver

Notable ommisions:
* support for anything but lvds panels
* inegration with nvhost driver to sync updates with 3D
* FB physical geometry is not set
* lacks interface to set overlay/window x,y offset

v2 changes:
* suspend/resume support
* move code into drivers/video/tegra/dc
* modularize output support
* clean register dumping, add debugfs register file
* code review feedback
* make the display controller register the framebuffer devices

Signed-off-by: Erik Gilling <konkers@android.com>
14 years agovideo: tegra: remove old tegra fb driver
Erik Gilling [Mon, 12 Jul 2010 00:00:24 +0000 (17:00 -0700)]
video: tegra: remove old tegra fb driver

Signed-off-by: Erik Gilling <konkers@android.com>
14 years ago[ARM] tegra: ventana: add suspend support to ventana
Gary King [Wed, 4 Aug 2010 00:48:42 +0000 (17:48 -0700)]
[ARM] tegra: ventana: add suspend support to ventana

add support for system suspend to ventana; currently LP1 (DRAM in
self-refresh, CPU power-gated, core power active) is used.

Change-Id: Idb223a7da94c3b87ea61e0eef1de77206c4171e4
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: ventana: register gpio-keys device
Gary King [Wed, 4 Aug 2010 00:50:19 +0000 (17:50 -0700)]
[ARM] tegra: ventana: register gpio-keys device

Change-Id: Ie2e59f61facb116a5af88478e231542778af9eaf
Signed-off-by: Gary King <gking@nvidia.com>
14 years agousb: host: Fix tegra EHCI suspend in OTG mode
Benoit Goby [Tue, 3 Aug 2010 03:22:58 +0000 (20:22 -0700)]
usb: host: Fix tegra EHCI suspend in OTG mode

Change-Id: Ia46830dfbb8bc39de1280b00ce30efe6022f6bd3
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: clock: Add pll_u to common clock init table
Benoit Goby [Tue, 3 Aug 2010 03:18:11 +0000 (20:18 -0700)]
[ARM] tegra: clock: Add pll_u to common clock init table

Change-Id: I8cdef0406b6fe04551584ae0bae9534b4aec93f6
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: ventana: use tegra_gart_device rather than local definition
Gary King [Tue, 3 Aug 2010 21:54:46 +0000 (14:54 -0700)]
[ARM] tegra: ventana: use tegra_gart_device rather than local definition

Change-Id: I6cb57dd46162c258e32c4946de5a649daff3a79b
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: harmony: use tegra_gart_device rather than local definition
Gary King [Tue, 3 Aug 2010 21:54:13 +0000 (14:54 -0700)]
[ARM] tegra: harmony: use tegra_gart_device rather than local definition

Change-Id: I1b456bb5634a75ae1dba2f5bd64ad71b8abdfc53
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: add gart device to devices.c
Gary King [Tue, 3 Aug 2010 21:53:23 +0000 (14:53 -0700)]
[ARM] tegra: add gart device to devices.c

Change-Id: Id748aa37a3c2234a2a618b09dfa963a4b4ac572c
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] ventana: register i2c, touchscreen & regulator
Gary King [Wed, 28 Jul 2010 20:05:45 +0000 (13:05 -0700)]
[ARM] ventana: register i2c, touchscreen & regulator

register I2C controllers, regulator consumers and the panjit
touchscreen platform_device

Change-Id: Ife13c0d86084f26c734dea2c358f8c4fd3e27a8e
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: fix packet alignment and padding
Gary King [Wed, 28 Jul 2010 22:03:57 +0000 (15:03 -0700)]
[ARM] tegra: fix packet alignment and padding

tegra's DMA controller expects to start transfers at word boundaries,
and the standard packet alignment (2) was resulting in data corruption

also, provide a full cacheline of padding between skbuffs, to eliminate
coherency issues between the processor and USB networking devices.

Change-Id: Ibb508b512f43c8934d35eb182c8738370b7be585
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: generic driver for i2s audio (initial implementation)
Iliyan Malchev [Thu, 29 Jul 2010 21:00:54 +0000 (14:00 -0700)]
[ARM] tegra: generic driver for i2s audio (initial implementation)

-- i2s settings are passed through the board file
-- supports playback (no recording yet)
-- works in DMA and PIO (non-DMA) modes (toggle through debugfs)
-- does NOT perform volume and audio-path control
-- exports /dev/audio<n>_{in, out}, where <n> is the i2s interface
-- assumes that i2s is used such that fifo1 is TX and fifo2 is RX

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: header describing i2s registers
Iliyan Malchev [Thu, 29 Jul 2010 21:02:17 +0000 (14:02 -0700)]
[ARM] tegra: header describing i2s registers

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: add platform devices for i2s1 and i2s2
Iliyan Malchev [Thu, 29 Jul 2010 20:57:45 +0000 (13:57 -0700)]
[ARM] tegra: add platform devices for i2s1 and i2s2

Signed-off-by: Iliyan Malchev <malchev@google.com>
14 years ago[ARM] tegra: Don't share tegra_usb1_resources
Benoit Goby [Thu, 29 Jul 2010 03:16:43 +0000 (20:16 -0700)]
[ARM] tegra: Don't share tegra_usb1_resources

Don't share tegra_usb1_resources as both tegra-udc and ehci1 are loaded
in otg mode.

Change-Id: Id5c9a076572e18662b5d3e7835f638b1cc5a1e07
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: add EHCI and UDC controllers to devices.c
Gary King [Wed, 28 Jul 2010 23:22:31 +0000 (16:22 -0700)]
[ARM] tegra: add EHCI and UDC controllers to devices.c

update harmony and ventana to use the common UDC definition, rather
than using the current duplicated definitions

Change-Id: I2e3aca674ab35305a0c516bd22e044382280d05e
Signed-off-by: Gary King <gking@nvidia.com>
14 years ago[ARM] tegra: Add USB PHY configuration
Benoit Goby [Wed, 28 Jul 2010 07:10:13 +0000 (00:10 -0700)]
[ARM] tegra: Add USB PHY configuration

Configure board dependant phy settings from the board file.

Change-Id: I29f6ffe0b84a2a6eb55bade1379002f561d92d17
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: Setup USB PHY as recommended by NVIDIA
Benoit Goby [Sat, 24 Jul 2010 00:02:26 +0000 (17:02 -0700)]
[ARM] tegra: Setup USB PHY as recommended by NVIDIA

This fixes enumeration issues with some devices

Change-Id: I6283a6fb49a9e4505ad388cacdd88ecf1bdf1b9d
Signed-off-by: Benoit Goby <benoit@android.com>
14 years agousb: gadget: Fix tegra udc in OTG mode
Benoit Goby [Thu, 22 Jul 2010 01:05:06 +0000 (18:05 -0700)]
usb: gadget: Fix tegra udc in OTG mode

Check the transceiver state before checking udc->stopped
Enable/disable the PHY and the clock on cable events

Change-Id: Id5a8a1b94f83da8060786f31181014dd1d546fc7
Signed-off-by: Benoit Goby <benoit@android.com>
14 years agousb: host: Add EHCI driver for NVIDIA Tegra SoCs
Benoit Goby [Fri, 9 Jul 2010 00:00:48 +0000 (17:00 -0700)]
usb: host: Add EHCI driver for NVIDIA Tegra SoCs

Change-Id: I53c560f2c31e043f139b840f58786429ded6ec62
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: usb_phy: Add tegra_usb_phy_power_off
Benoit Goby [Thu, 22 Jul 2010 00:44:44 +0000 (17:44 -0700)]
[ARM] tegra: usb_phy: Add tegra_usb_phy_power_off

Change-Id: If4d66b1a0f1810773b9dc9bcec0e252df947e609
Signed-off-by: Benoit Goby <benoit@android.com>
14 years ago[ARM] tegra: harmony/ventana: register additional devices
Gary King [Wed, 14 Jul 2010 01:30:59 +0000 (18:30 -0700)]
[ARM] tegra: harmony/ventana: register additional devices

register GART, pda_power, and OTG devices

Change-Id: I6dec5f765494cdc96f3395cf32fd962c87bf70b7
Signed-off-by: Gary King <gking@nvidia.com>