5 years agoARM: tegra: smp: fix build failure with CONFIG_SMP=n
Donghan Ryu [Tue, 29 Mar 2011 16:10:14 +0000]
ARM: tegra: smp: fix build failure with CONFIG_SMP=n

Devs can disable SMP for debugging. However, there
was a build failure when CONFIG_SMP=n. This change
fixes it with minimum change. It looks like
headsmp.s and headsmp-t2.s cannot be removed from
Makefile since there are stuff used for both
multicore/unicore cpus in it.

Bug 809076

Original-Change-Id: Idc440aa912a98f5decff4c59845af4918e504cd2
Reviewed-on: http://git-master/r/24843
Reviewed-by: Donghan Ryu <dryu@nvidia.com>
Tested-by: Donghan Ryu <dryu@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: R7d80fc13cbff447403c89f4e54b986e96489da15

5 years agoarm: tegra: use debug_uartport kernel parameter
Pradeep Goudagunta [Wed, 23 Mar 2011 17:46:12 +0000]
arm: tegra: use debug_uartport kernel parameter

Use debug_uartport kernel option to configure debug uart port as
high speed(ttyHS1) or low speed(ttyS0) according to odmdata(19:18).

Bug 803465

Original-Change-Id: Ide9a74c358a42f25ddb3ca03f4d949dc053f59f4
Reviewed-on: http://git-master/r/24019
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>

Rebase-Id: R9f97592339354828a0324c8645e41f523c93dd76

5 years agoARM: tegra: pinmux: correct i2c drive pin groups
Nitin Kumbhar [Tue, 22 Mar 2011 06:27:35 +0000]
ARM: tegra: pinmux: correct i2c drive pin groups

The drive pin groups for i2c are DBG(GEN1_I2C), VI2(CAM_I2C),
AT1(GEN2_I2C) and AO1(PWR_I2C). As there are no entries in
tegra_soc_drive_pingroups table for DTF, I2CP and RM, pg_readl()
and pg_writel() use '0' as reg offset while configuring i2c drive
pin groups.

Original-Change-Id: Ide6aa68ad0d7247791169f1b3e6c84b324c1dfcf
Reviewed-on: http://git-master/r/23831
Tested-by: Nitin Kumbhar <nkumbhar@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>

Rebase-Id: R4e899e870214bf5e0e849290cc2b7c41510bd747

5 years agoARM: tegra: Power-gate PCIE at system init.
Roger Hsieh [Mon, 21 Mar 2011 08:51:36 +0000]
ARM: tegra: Power-gate PCIE at system init.

PCIE on tegra2 is diabled by default. Power-gate this block to
save power.

Bug 800450

Original-Change-Id: I0483d0c85a032c00005d5a3cd430c4d62a2cedc9
Reviewed-on: http://git-master/r/23683
Reviewed-by: Ching Kuang (Roger) Hsieh <rhsieh@nvidia.com>
Tested-by: Ching Kuang (Roger) Hsieh <rhsieh@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>

Rebase-Id: Ra1c8dea494e35c69b29a265002d296dee331cee2

5 years agovideo: tegra: dsi: Added dsi support.
Luke Huang [Thu, 27 Jan 2011 21:14:44 +0000]
video: tegra: dsi: Added dsi support.

Bug 793366
Bug 794499

Original-Change-Id: Id49d86dd7760b75ef4947f5bdab9e37f0333391d
Reviewed-on: http://git-master/r/#change,18950
Reviewed-on: http://git-master/r/22508
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>

Rebase-Id: R968aab8a752d3d253216935839e94fdbd7fc6ba4

5 years ago[ARM] tegra: pinmux: Correct driving strength programming offset
Kenji Chen [Wed, 9 Mar 2011 02:44:16 +0000]
[ARM] tegra: pinmux: Correct driving strength programming offset

Offset of driving strength for DRVUP is 20 instead of 12.

Original-Change-Id: If886a8604ea43f57a8ae11d3deabb022fb8d3efd
Reviewed-on: http://git-master/r/22133
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>

Rebase-Id: R6407f84d3c11052d863f612276ecd5ef9f41a06c

5 years ago[arm]:tegra: Add the code to change driver strength
Alok Chauhan [Thu, 24 Feb 2011 09:20:12 +0000]
[arm]:tegra: Add the code to change driver strength

Add the code to change drive strength of individual pin group and
increase the drive strength to max for i2c pin group. Change the
i2c pin to pull up.

Original-Change-Id: I9ab84717a9ff6df78fa6c242420744d05ce09723
Reviewed-on: http://git-master/r/20745
Tested-by: Alok Chauhan <alokc@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: Ra625e03a43738cda81679d94ded1d3c711559a05

5 years agoARM: tegra: cpufreq: finer values for emc scaling
Amit Kamath [Fri, 4 Feb 2011 12:38:19 +0000]
ARM: tegra: cpufreq: finer values for emc scaling

Added support for emc frequencies 75,100,25 Mhz scaling

Original-Change-Id: Id5f170a380c3acbc7a375ab5e5018628549b992f
Reviewed-on: http://git-master/r/18340
Reviewed-by: Amit Kamath <akamath@nvidia.com>
Tested-by: Amit Kamath <akamath@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: R95a7430358c3c527315b32b14609a18ce2e6324c

5 years agoARM: tegra: clock: Adjust max rates to match SKU ID
Alex Frid [Mon, 17 Jan 2011 05:25:14 +0000]
ARM: tegra: clock: Adjust max rates to match SKU ID

Adjust max rates for CPU and several SKU-dependent core clocks
(system bus, AVP, VDE, 3D) to match chip SKU ID. Added max_rate
node to debugfs.

Original-Change-Id: Ifd72d45a303b3d8b5ae5f327693bb97c8510031d
Reviewed-on: http://git-master/r/16077
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: R7aa44477fd12c9d046baf7ecb8e5e2fcb71818d7

5 years agoARM: tegra: cpufreq: Add cpu frequency table selection
Alex Frid [Mon, 17 Jan 2011 03:18:44 +0000]
ARM: tegra: cpufreq: Add cpu frequency table selection

Define cpu frequency tables for different tegra2 CPU clock ranges,
and add matching selection mechanism for scaling table as well as
throttling limits.

Original-Change-Id: I06b13f150d72f8a80f879ecf80ed44cc1f63bad4
Reviewed-on: http://git-master/r/16076
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: Rc69b8d00284b7bc164d47beb3615b712bfc2c25c

5 years agoARM: tegra: clock: Add debugfs clock set methods
Alex Frid [Sat, 8 Jan 2011 03:11:26 +0000]
ARM: tegra: clock: Add debugfs clock set methods

Implemented debugfs clock write mechanism (disabled by default).
Expanded and fixed debugfs clock nodes to properly read clock
parent and rate.

Original-Change-Id: I9f20994d0829634e09f4bccd6fce6c7c8b5bf844
Reviewed-on: http://git-master/r/15315
Tested-by: Amit Kamath <akamath@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: Ra802d13d77e74c6e8def92a93c08157f8eb888fe

5 years agotegra: spi: add slave driver
minwuklee [Tue, 21 Dec 2010 02:29:25 +0000]
tegra: spi: add slave driver

- no endian conversion is needed, so use memcpy to copy from client
buf to dma buf or vice versa when bits_per_word is 32.

- do spi complete operation in the last dma complete callback

- add spi_tegra_abort_transfer whcih is called by upper s/w stack for
timeout functionality

bug 749431
bug 749983
bug 752531
bug 760790

Original-Change-Id: I5cd14397e1a066fe807d72405b6ced98d62b50da
Reviewed-on: http://git-master/r/13801
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: R241b310f294c1a2761277046c506d2147f5633bd

5 years agoARM: tegra: dvfs: Expand CPU voltage scaling tables
Alex Frid [Wed, 15 Dec 2010 06:03:52 +0000]
ARM: tegra: dvfs: Expand CPU voltage scaling tables

Added CPU DVFS tables for new tegra2 revisions/skus. Implemented
table selection based on chip speedo and process corner.

Original-Change-Id: Ic2aa7ff2b487a37a0a97d4f40453ff033a562207
Reviewed-on: http://git-master/r/13397
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: Rd090645567dbff203637e72fef3ead73019b4dcf

5 years agotegra: add an api to get board info
Nitin Kumbhar [Fri, 10 Dec 2010 09:46:37 +0000]
tegra: add an api to get board info

Bootloader can pass "board_info" as kernel parameter to specify
board's id, sku, fab, major_revision and minor_revision. Based
on this parameter, an api is provided to fetch board information.

Original-Change-Id: Iacbc2f12562008908bf46ff85ea3064f31245e4c
Reviewed-on: http://git-master/r/12552
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: R333efe8d8ca0602bd064708b03d51b89b399cb2a

5 years agoARM: tegra: config: Fix kernel configuration menu items
Scott Williams [Fri, 1 Jul 2011 18:57:07 +0000]
ARM: tegra: config: Fix kernel configuration menu items

- Fix misplaced endif.

Change-Id: I02ff4d8a6a4fb2b70915c002bf2ad136e521ebb7
Reviewed-on: http://git-master/r/40448
Tested-by: Daniel Willemsen <dwillemsen@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com>

Rebase-Id: Re9502799106237b8df1485f7dc1f9eaf185e2baa

5 years agofs: ext4: Fix computation of inodes per block group
Colin Cross [Fri, 29 Apr 2011 22:38:33 +0000]
fs: ext4: Fix computation of inodes per block group

857ac889cce8a486d47874db4d2f9620e7e9e5de (ext4: add interface
to advertise ext4 features in sysfs) added an error check that
exposes a bug in the computation of sbi->s_itb_per_group.  If
the number of inodes per group is not a multiple of the number
of inodes per block,

Original-Change-Id: I8c60817dbb6feb43535b567ec7ea5ee0af709c37
Signed-off-by: Colin Cross <ccross@android.com>
(cherry picked from commit 8703a0ccb0135ae0de0d7011f29eeb6dc1caa486)

Rebase-Id: R7fc03850010d565447bb8702710040f112705738

5 years agousb: gadget: add phy_config to fsl_devices.h
Colin Cross [Sat, 9 Apr 2011 04:33:12 +0000]
usb: gadget: add phy_config to fsl_devices.h

Original-Change-Id: I7be84ad877d1865c639ee5856f546276c8fdac73
Signed-off-by: Colin Cross <ccross@android.com>
(cherry picked from commit e8945b26135c260f91c12a85cc911a165ab07504)

Rebase-Id: R3051e65e6a756bdad25ade5f865b383d9a2164e3

5 years agoARM: tegra: pm: Update identity_mapping_add API use
Dan Willemsen [Tue, 30 Jul 2013 00:48:25 +0000]
ARM: tegra: pm: Update identity_mapping_add API use

This commit in kernel 3.9:


changed the API of identity_mapping_add, this commit fixes our use of

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

5 years agoARM: tegra: devices: Add DMA selectors
Dan Willemsen [Tue, 26 Mar 2013 23:13:34 +0000]
ARM: tegra: devices: Add DMA selectors

These will need to move to device tree, but putting them here for now
(since dma.h no longer exists)

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

5 years agoMake tegra_defconfig compile
Dan Willemsen [Thu, 22 Mar 2012 07:22:47 +0000]
Make tegra_defconfig compile

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

Rebase-Id: Ra4ad7521d207ef7f717c04bdabecf45557c0b9da

5 years agoARM: Add 'card_present' state to mmc_platfrom_data
Dmitry Shmidt [Tue, 3 May 2011 18:05:04 +0000]
ARM: Add 'card_present' state to mmc_platfrom_data

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

Rebase-Id: R326381df3f4188cc1f700eb210c12b483afe9e77

5 years agoRecreate asm/mach/mmc.h include file
Colin Cross [Sat, 9 Apr 2011 05:20:53 +0000]
Recreate asm/mach/mmc.h include file

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

Rebase-Id: Rdc49da8123b4e700f2987a4a5ea19ad2b29ff1d6

5 years agopinmux-tegra30-tables: replace mach/suspend.h with pm.h
Dan Willemsen [Thu, 22 Mar 2012 05:02:28 +0000]
pinmux-tegra30-tables: replace mach/suspend.h with pm.h

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

Rebase-Id: R13bcb1dddc85c0ddb3a1c189b6cd6412efc98d37

5 years agoHACK usb_phy.c add pinmux-tegra20.h include
Dan Willemsen [Thu, 22 Mar 2012 04:57:59 +0000]
HACK usb_phy.c add pinmux-tegra20.h include

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

Rebase-Id: Rf4984a71db3f3e0ad92a77b3f649fedbc7026073

5 years agoHACK: partial revert of static identity_mapping_add
Dan Willemsen [Thu, 22 Mar 2012 04:50:16 +0000]
HACK: partial revert of static identity_mapping_add

commit 4e8ee7de227e3ab9a72040b448ad728c5428a042

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

Rebase-Id: R6381063c79ce3566ef368056b65b682e0e0e8ef1

5 years agoHACK: fixup tegra_init_cache
Dan Willemsen [Thu, 22 Mar 2012 01:31:15 +0000]
HACK: fixup tegra_init_cache

Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>

Rebase-Id: R08639a119b2baa34474d8272aba7773476591aff

5 years agowatchdog: tegra_wdt: give time for spinlock lockup detection to work
JP Abgrall [Sat, 27 Aug 2011 01:39:17 +0000]
watchdog: tegra_wdt: give time for spinlock lockup detection to work

To allow the spinlock lockup detection to actually trigger after
60 seconds, the tegra_wdt heartbeat needs to be longer than that.
Bumping it to 120sec, as at the 50% marker the watchdog takes an

Change-Id: I099fd7720d65c0e2050fa91161e30485fe84a1ed
Signed-off-by: JP Abgrall <jpa@google.com>

Rebase-Id: R89dfdbb2a0d1c756a79b5e77205d74a27ab6185b

5 years agoARM: tegra: pm: hold cpus unti all have booted when exiting lp2
Colin Cross [Wed, 24 Aug 2011 02:26:33 +0000]
ARM: tegra: pm: hold cpus unti all have booted when exiting lp2

When exiting lp2, each cpu boots through cpu_resume, which
modifies the last used page table to add a 1-1 mapping in
order to turn on the mmu.  The first cpu to boot triggers
booting the second cpu, and if allowed to continue immediately
may start executing a userspace task that is using the same
page tables as the second cpu is modifying during its boot
process.  Hold each cpu in a loop until all cpus have
finished booting to ensure page tables are back to their
original state.  Each cpu triggers a global tlb flush
after it restores the page table, so all cpus will see the
original values before they exit idle.

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

Rebase-Id: R110a4b1f28846af97edd39bb382e1e09c3f92330

5 years agoARM: tegra: sleep: flush tlbs when exiting wfi
Colin Cross [Wed, 24 Aug 2011 00:43:54 +0000]
ARM: tegra: sleep: flush tlbs when exiting wfi

tegra_sleep_wfi disables coherency to prepare for possibly
resetting the cpu.  If an interrupt is received, it exits
wfi and re-enables coherency, but it was not flushing the
tlbs or the branch predictor array, which could have been
updated by broadcast tlb operations that were ignored.
Flush the tlbs and branch predictor array when exiting.

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

Rebase-Id: Re46c9045a33ad78789e7dee2788b470fd1071c83

5 years agommc: sdhci: Enable MMC_CAP_ERASE for the tegra sdhci controller
Ken Sumrall [Thu, 18 Aug 2011 04:12:55 +0000]
mmc: sdhci: Enable MMC_CAP_ERASE for the tegra sdhci controller

Even if the card/emmc chip claims to support the Erase command,
the command won't work unless the controller is also configured
to support it.

Change-Id: Ic45fcd88dd3b3381677d907d31fa3a56bb697107
Signed-off-by: Ken Sumrall <ksumrall@android.com>

Rebase-Id: Ra7472026260294afa7d63335e7db29cadc9f1f9e

5 years agoARM: tegra: pm: save/restore ahb bus registers
Benoit Goby [Fri, 15 Jul 2011 04:26:39 +0000]
ARM: tegra: pm: save/restore ahb bus registers

Submitted on behalf of Jay Cheng <jacheng@nvidia.com>
Modified to use syscore_ops

Change-Id: Ic8a3a9559634eb3f1f0e4b40a2d8502d20d606d6
Signed-off-by: Benoit Goby <benoit@android.com>

Rebase-Id: R772632ac36f18c046f055fa71c062eda75adaf78

5 years agoARM: tegra: Enable AHB prefetch for USB
Benoit Goby [Fri, 15 Jul 2011 02:50:34 +0000]
ARM: tegra: Enable AHB prefetch for USB

Enabling AHB prefetch on USB1, USB2, USB3 controllers,
to improve the USB transfer throughput.

originally work from Rakesh Bodla <rbodla@nvidia.com>

Change-Id: I3c45bb8e97ceffbf43229b9c3d9581a565b61187
Signed-off-by: James Wylder <james.wylder@motorola.com>

Rebase-Id: R70e5a98a122758afb8aafc8c9bd5fd3e0640ba2d

5 years agousb: host: tegra: Add a short delay before the controller suspends.
Mike Corrigan [Mon, 20 Jun 2011 20:36:18 +0000]
usb: host: tegra: Add a short delay before the controller suspends.

Submission from Jay Cheng <jacheng@nvidia.com>.

Change-Id: Ic92befe618adc7bdd12c35374fb3f855d7f6a515
Signed-off-by: Mike Corrigan <michael.corrigan@motorola.com>

Rebase-Id: Rd1b4ff67cb1a4ad0df30d578072d36571b68afec

5 years agoARM: tegra: small optimizations for table lookups
James Wylder [Tue, 21 Jun 2011 17:51:37 +0000]
ARM: tegra: small optimizations for table lookups

Optimization that primarily addresses when cpu frequency
is low but a high memory bandwidth is needed.

Change-Id: I4f800c2368191c744aefd9f83eb96e4c108dbcc3
Signed-off-by: James Wylder <james.wylder@motorola.com>

Rebase-Id: Rb56fcfbf9ee66305b9d9cf8b02a42e3f4aab020c

5 years agoARM: tegra: usb_phy: Revise some default settings for utmi phy
Benoit Goby [Sun, 17 Jul 2011 23:59:58 +0000]
ARM: tegra: usb_phy: Revise some default settings for utmi phy

Submitted on behalf of Jay Cheng <jacheng@nvidia.com>

Change-Id: I8552e995ee5c124023dd7f5385e8ecca7a50eee8
Signed-off-by: James Wylder <james.wylder@motorola.com>

Rebase-Id: R003588d3b2d55a4117d118f95b71cdc388fa19f1

5 years agousb: ehci: tegra: Correctly handle GetPortStatus during Resume
Nathan Connell [Mon, 2 May 2011 19:32:36 +0000]
usb: ehci: tegra: Correctly handle GetPortStatus during Resume

Multiple GetPortStatus requests can be made while the
USB bus is resuming.  All requests must be handled
properly to prevent incorrect disconnect detection
during Resume and improper indentification of
Resume signaling as a remote wakeup event.

Change-Id: Ib07f83a2bab5699b2d95533d26d0a6bf541c697d
Signed-off-by: Nathan Connell <w14185@motorola.com>

Rebase-Id: R6d2c8b1b85fb37d1e1d7dad3051098b0d42ed71a

5 years agousb: host: tegra: update memory frequency requests to 150 MHz
James Wylder [Fri, 11 Mar 2011 22:39:43 +0000]
usb: host: tegra: update memory frequency requests to 150 MHz

With the previous change in memory frequency (200 MHz
to 150 MHz) requests of 200 MHz will round up to full
speed.  This negatively impacts current drain.

Change-Id: Ib67d8eaff57836a2f1756d84cce6533539911178
Signed-off-by: James Wylder <james.wylder@motorola.com>

Rebase-Id: R4c915ea04c3319ddd1962b24199d2e50e18fae06

5 years agommc: host: sdhci-tegra: Add set_clock op
Colin Cross [Fri, 6 May 2011 04:48:54 +0000]
mmc: host: sdhci-tegra: Add set_clock op

Add a set_clock op to sdhci-tegra to allow the clock to be
disabled.  Also add suspend and resume ops to disable
the clock before suspend, and enable it during resume.

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

Rebase-Id: Rbf12d34ca4f97a02931672f600a03cd92008d556

5 years agommc: tegra: Add explicit card-detect processing
Dmitry Shmidt [Tue, 3 May 2011 18:14:53 +0000]
mmc: tegra: Add explicit card-detect processing

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

Rebase-Id: R34adf5d554f3293056594a9c6f53fe9d47f7b1b4

5 years agoARM: tegra: mmc: Add mmc_platform_data to tegra_sdhci_platform_data
Dmitry Shmidt [Tue, 3 May 2011 18:10:43 +0000]
ARM: tegra: mmc: Add mmc_platform_data to tegra_sdhci_platform_data

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

Rebase-Id: R1bbe99a52288eb16d07fb876a601f8a049e4858e

5 years agoARM: tegra: Add WIFI_CONTROL_FUNC config
Dmitry Shmidt [Tue, 3 May 2011 18:09:38 +0000]
ARM: tegra: Add WIFI_CONTROL_FUNC config

Change-Id: Ia423e7f87f8994a4cbcf752562692c568fe2bf68
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

Rebase-Id: R82c561f48621fe6e44880cc53d24426ddd4f7676

5 years agoARM: tegra: Verify PHY clock valid before clearing USB_SUSP_CLR bit
Nathan Connell [Mon, 25 Apr 2011 19:17:13 +0000]
ARM: tegra: Verify PHY clock valid before clearing USB_SUSP_CLR bit

When enabling the external ULPI PHY, the clock from the PHY must be
valid before the USB_SUSP_CLR bit is cleared in the USB2 controller
interface register.  If the clock from the PHY is not valid when
this bit is cleared, the AHB clock to the host controller may be
stopped, preventing any access to the host controller.

Replace hard-coded delay with poll for USB_PHY_CLK_VALID bit.
Signed-off-by: Nathan Connell <w14185@motorola.com>

Change-Id: I24fa7575641f20ffdba7737776a81ba453f54395
Signed-off-by: Nathan Connell <w14185@motorola.com>

Rebase-Id: R819c1a8f769f72aad2868ab78f4d31bd3b97c750

5 years agoARM: tegra: usb_phy: Resolve ulpi disconnect issue
James Wylder [Thu, 7 Apr 2011 21:02:19 +0000]
ARM: tegra: usb_phy: Resolve ulpi disconnect issue

Correct phy start-up sequence.
Put the phy in low power mode.
Tristate ulpi interface when USB controller is resuming

Change-Id: I1b326c16b56b9fd2d424afb8cf0888da6c9e245e
Signed-off-by: James Wylder <james.wylder@motorola.com>

Rebase-Id: R8390c94ab187d9713e2cff4856f8c0a1be5e3620

5 years agoARM: tegra: fiq: Fix calls to mask/unmask
Colin Cross [Sat, 9 Apr 2011 02:16:02 +0000]
ARM: tegra: fiq: Fix calls to mask/unmask

Change-Id: I5ea0964d4a803ca7a52acd3d93307ca5254da6a9

Rebase-Id: R5920dfef5064f77417d862bed1e25803f85fcd0e

5 years agoARM: tegra: pm: Use clk_get_rate_all_locked
Colin Cross [Sat, 9 Apr 2011 02:14:25 +0000]
ARM: tegra: pm: Use clk_get_rate_all_locked

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

Rebase-Id: R68adf1983100ac1b02932b93c99136e22dc3f04e

5 years agoARM: tegra: pm: Drop fiq enable/disable, will be handled by cpu_pm
Colin Cross [Sat, 9 Apr 2011 02:14:06 +0000]
ARM: tegra: pm: Drop fiq enable/disable, will be handled by cpu_pm

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

Rebase-Id: Rf3fd985352b1977fbf68c971ae71fb93fc8a4ea6

5 years agoARM: tegra: cpuidle: Remove fiq enable/disable
Colin Cross [Sat, 9 Apr 2011 01:23:33 +0000]
ARM: tegra: cpuidle: Remove fiq enable/disable

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

Rebase-Id: R8c31fc93bf703ca36bb7b08b1e3c3de19525a7a4

5 years agoARM: tegra: Add dvfs
Colin Cross [Thu, 7 Apr 2011 22:47:13 +0000]
ARM: tegra: Add dvfs

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

Rebase-Id: Ra589d56e7edf4d534c5dc4a831657532bb501038

5 years agoARM: tegra: fiq: Access registers directly
Colin Cross [Thu, 7 Apr 2011 21:58:11 +0000]
ARM: tegra: fiq: Access registers directly

Change-Id: Ia10f65ed00ade7298612ae3c8e4c6255c1a5ee7e

Rebase-Id: Rab8893b6ed7eb60ff451c683c1a5fef9b01e3fd1

5 years ago[ARM] mm: add memory type for inner-writeback
Colin Cross [Thu, 7 Apr 2011 21:47:45 +0000]
[ARM] mm: add memory type for inner-writeback

For streaming-style operations (e.g., software rendering of graphics
surfaces shared with non-coherent DMA devices), the cost of performing
L2 cache maintenance can exceed the benefit of having the larger cache
(this is particularly true for OUTER_CACHE configurations like the ARM

This change uses the currently-unused mapping 5 (TEX[0]=1, C=0, B=1)
in the tex remapping tables as an inner-writeback-write-allocate, outer
non-cacheable memory type, so that this mapping will be available to
clients which will benefit from the reduced L2 maintenance.

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



Rebase-Id: R9aa7adcd893ebe88551f22fa80ede8748f1df969

5 years agoARM: tegra: devices: remove duplicated devices
Colin Cross [Thu, 7 Apr 2011 21:42:01 +0000]
ARM: tegra: devices: remove duplicated devices

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

Rebase-Id: R6849717c0c9fa5bc4a0f8d1ad333a0b952e5e8d9

5 years agoARM: tegra: common: remove duplicated tegra_reserve
Colin Cross [Thu, 7 Apr 2011 21:41:08 +0000]
ARM: tegra: common: remove duplicated tegra_reserve

Change-Id: I9ac691e7abbc85398dcc1e4dcd8dd1d97c2abec6

Rebase-Id: R45a0f3e7898450b081162c7ddbaee28341a873cb

5 years agousb: host: ehci-tegra: Wait for SOF before resume
Venkata (Muni) Anda [Tue, 29 Mar 2011 06:15:40 +0000]
usb: host: ehci-tegra: Wait for SOF before resume

Wait for Start Of Frame interrupt, then wait 20 us, before starting
port resume.  Workaround for hardware issue that can cause the SOF to
be sent out at the same time as the phy speed change.

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

Rebase-Id: R6fc2a8330c54343e08fa7030a753580d98aa3395

5 years agoARM: tegra: add generic memory vendor matching
James Wylder [Tue, 1 Mar 2011 15:25:06 +0000]
ARM: tegra: add generic memory vendor matching

Update tegra_init_emc to provide generic memory
vendor matching.  Read values from EMC_MRR_0, to
uniquely identify memory types and compare them
to table of memory passed in.

Change-Id: Ie116fa6f497076149c87ff6c0ae0621309bac65f
Signed-off-by: James Wylder <james.wylder@motorola.com>

Rebase-Id: R2c4995b913396ad1010905bb885288588595dbdc

5 years agousb: otg: tegra: Moved tegra_usb.h to include/linux/platform_data
Benoit Goby [Wed, 2 Mar 2011 01:03:51 +0000]
usb: otg: tegra: Moved tegra_usb.h to include/linux/platform_data

Change-Id: I201b6476979f6e1ef8ffadb4398b99a1728f3083
Signed-off-by: Benoit Goby <benoit@android.com>

Rebase-Id: R1ab760ac8cfad5cb9f9ab1ede2b83d3806910451

5 years ago[ARM] tegra: kfuse driver
Jon Mayo [Wed, 5 Jan 2011 19:18:46 +0000]
[ARM] tegra: kfuse driver

factory programmed encrypted key fuses held in kfuse module.
use APB DMA for accessing kfuse registers, reading directly can hang if any
other DMA is active.

Change-Id: I85e44cc169607bc22116075e28938014aa299d75
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
Tested-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Signed-off-by: Jon Mayo <jmayo@nvidia.com>

Rebase-Id: R19d0ca4aef63caf5f890118a2cb072600611421e

5 years agoARM: tegra: Handle timers during LP2 idle ticks
Todd Poynor [Mon, 7 Feb 2011 21:42:34 +0000]
ARM: tegra: Handle timers during LP2 idle ticks

Timer ticks aren't properly serviced while a CPU is in LP2 idle.
Although the Tegra LP2 idle code calls hrtimer_peek_ahead_timers,
because no IRQ regs have been saved, update_process_times is not
called, and thus the timer list is not serviced (and neither is
SMP rebalancing, etc.)  This can cause significant delays
scheduling timer-based activity, especially on CPU 1 (which is
not servicing most other IRQs).

Colin Cross suggested a patch based on upstream review feedback
that uses clock notifiers to switch to the "broadcast" clock event
source ("timer0" Tegra timer 3) during LP2, which has a real
interrupt handler defined that calls the clock event handler in
IRQ context, allowing timers to be checked.

Change-Id: Ifa3f4ec662f07dc9636e433f278358f75b65d10c
Signed-off-by: Todd Poynor <toddpoynor@google.com>

Rebase-Id: R54c5a4dcf771d42ddce86ff9b02d68157b416db7

5 years agowatchdog: tegra_wdt: Several changes to watchdog driver
Dmitriy Gruzman [Tue, 25 Jan 2011 02:52:02 +0000]
watchdog: tegra_wdt: Several changes to watchdog driver

Fix not re-enabling watchdog resume if it was enabled in probe
Add clearing watchdog interrupt in probe
Remove tegra_wdt_set_timeout

Change-Id: I8fdbb6da3eda64a85a73ed85ab979a5ee0261c37
Signed-off-by: Dmitriy Gruzman <dmitriy.gruzman@motorola.com>

Rebase-Id: R436dfb410144e55c409b03d3ebd09866a08bd276

5 years agoARM: tegra: Statically map all device io memory
Colin Cross [Sat, 22 Jan 2011 01:04:07 +0000]
ARM: tegra: Statically map all device io memory

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

Rebase-Id: R17d91bbcf715d57c128d5e52d529629bf8f6a90c

5 years agocrypto: tegra-aes: Hack to disable HW AES for dm-crypt
Ken Sumrall [Wed, 12 Jan 2011 23:58:37 +0000]
crypto: tegra-aes: Hack to disable HW AES for dm-crypt

The hardware aes engine is required for key management for
HDCP, but since it's performance is bad, we don't want it
enabled for dm-crypt.  This hack changes the cra_name field
so dm-crypt won't find a match, but leaves the cra_driver_name
field unchanged to the device file interface will still find it.

Signed-off-by: Ken Sumrall <ksumrall@android.com>

Rebase-Id: R197f53f3b07876e4dde20c56a2aff533ea32c433

5 years agocrypto: tegra-aes: do not reset bsev/vde per operation
Varun Wadekar [Fri, 7 Jan 2011 13:02:00 +0000]
crypto: tegra-aes: do not reset bsev/vde per operation

avp does not use the crypto engine inside the vde block,
so it is ok if we do not reset the entire block before
any crypto operation. this would save more than 100us per crypto

Change-Id: I4e6f4940c5b6e95498b6f7a62498fbf956e25254
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: R5ac077596645edbcbb9f4715c7492d761f539f1e

5 years agowatchdog: tegra_wdt: Several changes to watchdog driver
Rebecca Schultz Zavin [Tue, 11 Jan 2011 23:35:47 +0000]
watchdog: tegra_wdt: Several changes to watchdog driver

Add a config option to enable the watchdog driver from probe
Reduce the default timeout to 30 seconds
Read the reset reason and print a messge if the last reboot was
due to watchdog reset

Change-Id: I7500ef236089b06ffcff3d8e7d86a5b9060b59cb
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>

Rebase-Id: R120a350e6eee17d286555670d070584624b654cb

5 years agousb: ehci: tegra: remove reschedule rh_timer
Jay Cheng [Thu, 6 Jan 2011 05:16:18 +0000]
usb: ehci: tegra: remove reschedule rh_timer

Reschedule rh_timer may cause usb device resume fail, as rh_timer may be
timeout and send USB_REQ_GET_STATUS SETUP control transfer by the time when
the device is handling clear suspend feature, which in turn the device may
drop clear suspend feature request.

Actually on port resume case, the host driver don't need to reschedule
rh_timer to check port status. The host driver will check port status right
after suspend feature is cleared.

Change-Id: I6205e97af49ed4349b6215b851f6b5f1394258d8
Signed-off-by: Jay Cheng <jacheng@nvidia.com>

Rebase-Id: Rb237c29547deb1ab0294fcf4e25263a4544b9297

5 years agoARM: tegra: powergate: Allow calling power up when already powered
Colin Cross [Sat, 8 Jan 2011 21:59:15 +0000]
ARM: tegra: powergate: Allow calling power up when already powered

Allow calling tegra_powergate_sequence_power_up on a partition
that is already powered.  Reset the partition, and return success
with the clock enabled.

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

Rebase-Id: Rbb11d3daa286f0eaf69c76c5ba023b3aa7188ed9

5 years agoNCT1008 temperature sensor driver
Todd Poynor [Mon, 20 Dec 2010 23:05:52 +0000]
NCT1008 temperature sensor driver

Replace the PM-only driver for NCT1008 with a new version written by
Varun Wadekar and Dmitriy Gruzman.  Add a callback to an alarm
function specified in the board platform data.

Change-Id: Ib429533930ee75af3402d24b0bc286da9f6ee67b
Signed-off-by: Todd Poynor <toddpoynor@google.com>

Rebase-Id: R50bf7691d332dd562e3ef125095c7cca7ccc3abf

5 years agomisc: Initial NCT1008 driver
Greg Meiste [Tue, 16 Nov 2010 19:33:06 +0000]
misc: Initial NCT1008 driver

Initial version of the NCT1008 driver to turn off the sensor when the
device is suspended.  This improves standby current drain.

Change-Id: Ia64613c33c0052434d5e304c434605611e5ef789
Signed-off-by: Greg Meiste <w30289@motorola.com>

Rebase-Id: R868814b9f4ec4ed834765d774195aad475bb7dcf

5 years agoARM: tegra: cpufreq thermal throttling cleanups
Todd Poynor [Tue, 21 Dec 2010 19:12:31 +0000]
ARM: tegra: cpufreq thermal throttling cleanups

Various review feedback, including:

Keep a global throttling index that specifies a ceiling CPU speed, lowered by one
at each delay interval (while the temperature alarm continues to be signalled).
Avoid lowering the throttle too far based on a transitory lowering of speed
requested by the governor.

Restore governor-requested speed when throttling turned off.

Add cpufreq sysfs attribute for checking throttling state.

Make throttling workqueue high-priority.

Cosmetic changes.

Change-Id: I068bf32115927fa61282f17f4a8798f2aee0b530
Signed-off-by: Todd Poynor <toddpoynor@google.com>

Rebase-Id: Rae4d1f856eeca986b163cdbc85f274d0e6493820

5 years agocrypto: tegra-aes: reduce ivsize to 16 bytes and priority to 100
Varun Wadekar [Mon, 27 Dec 2010 12:47:35 +0000]
crypto: tegra-aes: reduce ivsize to 16 bytes and priority to 100

Change-Id: I6f5a7107d1140cf67f6029111cb4df312ac1183c
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: R4cb8c6376f56c01a44045e53bdf435c19d5ef14c

5 years agocrypto: tegra-aes: initialise bsev/vde clocks per operation
Varun Wadekar [Mon, 27 Dec 2010 06:53:47 +0000]
crypto: tegra-aes: initialise bsev/vde clocks per operation

Change-Id: Iaddea9ba9d3bee9c987776f37225dee483684274
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: R9a109a6bc046bce0e4c06d3ba8d872cba36174a5

5 years agoARM: tegra: cpufreq: Change function signature for CPU speed throttling
Todd Poynor [Mon, 20 Dec 2010 23:53:54 +0000]
ARM: tegra: cpufreq: Change function signature for CPU speed throttling

The NCT1008 driver is now passed a function pointer from the board
file's platform data to be called when alarms are asserted or
deasserted.  Switch to a single function for throttling
enable/disable suitable for calling via the temperature alarm

Change-Id: Ic0eb1566a68e151216e26dfb6ed6f4bc7a273ddb
Signed-off-by: Todd Poynor <toddpoynor@google.com>

Rebase-Id: R5ba2d74c2bc4b0ea9dcce8796257e30825530a2c

5 years agoARM: tegra: Make CPU thermal throttling configurable
Todd Poynor [Sat, 18 Dec 2010 03:36:23 +0000]
ARM: tegra: Make CPU thermal throttling configurable

Based on work by Dmitriy Gruzman and Varun Wadekar.

Change-Id: I64d765628223b7ef1ec493b9e409ea11e9391b94
Signed-off-by: Todd Poynor <toddpoynor@google.com>

Rebase-Id: R6219d26660561e4b603052156cdd9cf227ed2040

5 years ago[ARM] tegra: add aes to devices.c
Varun Wadekar [Sun, 17 Oct 2010 00:40:43 +0000]
[ARM] tegra: add aes to devices.c

Change-Id: Id13075009d785e784ae6bd0feb9b29f3fa7184df
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: Rdaa65183a33756097e46b786e8dce03a216ebbc9

5 years agoARM: tegra: hardware arbitration semaphore support
Varun Wadekar [Fri, 15 Oct 2010 17:12:14 +0000]
ARM: tegra: hardware arbitration semaphore support

add apis to use the hardware arbitration semaphores in order
to share hardware modules between kernel drivers and AVP
firmware (e.g., the BSEA (audio bitstream) engine and
AES block)

Change-Id: I500ef0797223bc702151ad14e0e2156f50644a2a
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: Rd2143a97dd62e6a431f986179551d062154d8c13

5 years agoARM: tegra: add VDE and arb semaphores to iomap.h
Varun Wadekar [Fri, 15 Oct 2010 17:04:33 +0000]
ARM: tegra: add VDE and arb semaphores to iomap.h

Change-Id: Ic47b80d1c7fdf04305afbea4b34d6c9e9c9304ad
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: R0378c225bea68df5914ac48f4ecb6dcbbb991e13

5 years ago[ARM] tegra: cpufreq: Support for tegra cpu throttling
Dmitriy Gruzman [Mon, 29 Nov 2010 21:06:26 +0000]
[ARM] tegra: cpufreq: Support for tegra cpu throttling

Change-Id: I28d69d22437b6ba2d22e4ce12746630786006071
Signed-off-by: Dmitriy Gruzman <dmitriy.gruzman@motorola.com>

Rebase-Id: R59f699950459ebc3ec3bfd6fe550d7667eb1b73c

5 years agoARM: tegra: fuse: Fix warnings
Colin Cross [Wed, 24 Nov 2010 22:34:35 +0000]
ARM: tegra: fuse: Fix warnings

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

Rebase-Id: R7ec383a639474281ad8d44fc1e00d5be119f3e48

5 years agoARM: tegra: fuse: Remove carriage returns in fuse files
Colin Cross [Wed, 24 Nov 2010 22:28:50 +0000]
ARM: tegra: fuse: Remove carriage returns in fuse files

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

Rebase-Id: Rff80fcd33de137e0fdbf8b7a6144d49e5e087e6f

5 years agoserial: tegra_hsuart: Use resources instead of platform data.
Jaikumar Ganesh [Sat, 20 Nov 2010 02:23:29 +0000]
serial: tegra_hsuart: Use resources instead of platform data.

Use resources to pass data to tegra_hsuart to set
mapbase, irq.

Signed-off-by: Jaikumar Ganesh <jaikumar@google.com>

Rebase-Id: Rf58fa9e6bc27791e00712cd5225a0b74f203143d

5 years ago[ARM] tegra: support to burn device fuses
Varun Wadekar [Mon, 25 Oct 2010 04:49:30 +0000]
[ARM] tegra: support to burn device fuses

Change-Id: Ic12a93d4212b5f9a7802537b8f21e288aa431005
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: Re240afe79789d11865a57c5a043e663f687142ed

5 years ago[ARM] tegra: fuse read/write apis for fuse burning
Varun Wadekar [Mon, 25 Oct 2010 04:31:28 +0000]
[ARM] tegra: fuse read/write apis for fuse burning

expose fuse register read and write apis for fuse

Change-Id: Id6785f5506fe9293ddb5072240f49470ca5fcd08
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

Rebase-Id: Rc2c1bd7e4742a0229ee0e1c3d910b98180be66bc

5 years ago[ARM] tegra: Change size of constants from SZ_64 to 64.
Jaikumar Ganesh [Mon, 22 Nov 2010 20:05:04 +0000]
[ARM] tegra: Change size of constants from SZ_64 to 64.

Signed-off-by: Jaikumar Ganesh <jaikumar@google.com>

Rebase-Id: R85823f04b875ca139174d868ee9934f49c688537

5 years ago[ARM] tegra: i2s: Continuous DMA support
Chris Fries [Thu, 18 Nov 2010 18:42:15 +0000]
[ARM] tegra: i2s: Continuous DMA support

- Refactor DMA interactions to handle continuous single-buffered DMA
- Remove PIO support (obsolete, conflicts with new buffer management)
- Remove sample rate conversion (obsolete)
- Remove error-reporting logic

Change-Id: I8f21a0bb314aac3b7d1bb4918bda9141e58db38d
Signed-off-by: Iliyan Malchev <malchev@google.com>

Rebase-Id: R6a01df5ae5ab0706655d26d372a605f619681804

5 years agoARM: tegra: usb_phy: Disable HS disconnect detect for USB2 port
Nathan Connell [Thu, 18 Nov 2010 17:12:37 +0000]
ARM: tegra: usb_phy: Disable HS disconnect detect for USB2 port

Signed-off-by: Nathan Connell <w14185@motorola.com>
Change-Id: Ia0c24128af0f1def38d0902b15a274582c302ce2

Rebase-Id: R023f36e4adfcc26eaad472d4f29ab8d0e10bcc7b

5 years agoARM: tegra: add avp platform_device
Dima Zavin [Mon, 1 Nov 2010 21:31:05 +0000]
ARM: tegra: add avp platform_device

Change-Id: I8229873e1a450b75d31e6ea4ec64647b88d16844
Signed-off-by: Dima Zavin <dima@android.com>

Rebase-Id: Re1638f671e7bd229f362580cfdb297a111878a6b

5 years agoARM: tegra: add missing spdif device declaration in header
Dima Zavin [Thu, 4 Nov 2010 02:08:48 +0000]
ARM: tegra: add missing spdif device declaration in header

Change-Id: If447711b095ec7025f3bbe232e22444839054927
Signed-off-by: Dima Zavin <dima@android.com>

Rebase-Id: R970ef02b317f84eba33ad6d3f776a4a9175a21af

5 years ago[ARM] tegra_i2s_audio: add support for master/slave switching
Chris Fries [Wed, 3 Nov 2010 17:45:26 +0000]
[ARM] tegra_i2s_audio: add support for master/slave switching

- Remove duplicate code between probe() and resume(), make new function
- When master, pass the sample rate from the board info
- Clean up some checkpatch.pl complaints.

Change-Id: I0169d9a70c02eaf2173b1f1941a545792c01bc6b
Signed-off-by: Iliyan Malchev <malchev@google.com>

Rebase-Id: R849c2316f3abbcad90466a7850eb26c5e6580760

5 years ago[ARM] tegra: driver for spdif audio
Ravindra Lokhande [Mon, 27 Sep 2010 17:53:41 +0000]
[ARM] tegra: driver for spdif audio

Creates /dev/spdif_out and /dev/spdif_out_ctl for playback and control
settings.  Playback is working.

Signed-off-by: Iliyan Malchev <malchev@google.com>

Rebase-Id: R5a5895a8b6292aea5a5f14780840599a415b894d

5 years ago[ARM] tegra: add API to set memory client priority
Erik Gilling [Sat, 30 Oct 2010 00:59:33 +0000]
[ARM] tegra: add API to set memory client priority

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

Rebase-Id: R788e2f689e5ed38698e31993fb88de59f19eb7f9

5 years agousb: host: ehci: Add missed memory barrier in the hcd driver
Jay Cheng [Wed, 27 Oct 2010 15:45:19 +0000]
usb: host: ehci: Add missed memory barrier in the hcd driver

There is one wmb missing in the usb host controller driver after the queue head
update. Due to this data transaction is not happening on the bus after urb
submission by the hcd driver. Register updates/queue heads data in the memory
is not reflected on the AHB bus. After adding the wmb after queue head update
data transaction the USB bus started with out any delay.

originally fixed by Venkat Moganty <vmoganty@nvidia.com>

Change-Id: Ic834df5172ac2f2eb3bced317d38b4a2e7a44801
Signed-off-by: Jay Cheng <jacheng@nvidia.com>

Rebase-Id: R289a3e238ea272e789e092a29a49327f58033403

5 years agoARM: tegra: Remove debugging from tegra_move_framebuffer
Colin Cross [Sun, 24 Oct 2010 23:10:31 +0000]
ARM: tegra: Remove debugging from tegra_move_framebuffer

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

Rebase-Id: R2c072fe9a8074e9c53ac3c9d99a42e21501dd1c9

5 years ago[ARM] tegra: Add function to copy framebuffer contents
Colin Cross [Wed, 20 Oct 2010 04:09:29 +0000]
[ARM] tegra: Add function to copy framebuffer contents

Due to conflicting restrictions on the location of the framebuffer
between the bootloader and the protected aperture, the framebuffer
is likely to need to be moved during boot.  This patch provides
tegra_move_framebuffer, which can handle move the framebuffer from
lowmem, highmem, or unmapped memory into unmapped memory.

Change-Id: Ic37e5e337cd3129065fe56fd7777a86d06ad69ac

Rebase-Id: R972947e0f90fea0feebd486518b0349b12095543

5 years ago[ARM] tegra: Add function to enable protected aperture
Colin Cross [Tue, 19 Oct 2010 23:12:33 +0000]
[ARM] tegra: Add function to enable protected aperture

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

Rebase-Id: R3f7232cfcd0e95ca8a6833624a3778a423d16de9

5 years ago[ARM] tegra: Use memblock_remove to allocate carveout and framebuffer
Colin Cross [Tue, 19 Oct 2010 21:45:50 +0000]
[ARM] tegra: Use memblock_remove to allocate carveout and framebuffer

This uses the patch by rmk to allow memblock_remove to be used to
remove areas of memory from the 1:1 mapping, allowing them to be
remapped later using iomap or, for Tegra, nvmap.

Also uses memblock_reserve to reserve the lp0 boot vector, so it
doesn't need to be copied later in tegra_init_suspend.

tegra_reserve should be called from the machine reserve callback
after any board-specific memory areas are reserved.

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

Rebase-Id: Rf3f091403ce35a0d4e360774621e17a46b802647

5 years ago[ARM] tegra_i2s_audio: support mono capture
Chris Fries [Wed, 20 Oct 2010 18:10:29 +0000]
[ARM] tegra_i2s_audio: support mono capture

Support mono data formats such as DSP PCM Mode with 16 bit mono capture.

This patch also disables the in-driver downsampler.

Signed-off-by: Iliyan Malchev <malchev@google.com>

Rebase-Id: R1a6370af71568e6e2cf4e85058c6ebcc95947fb6

5 years ago[ARM] tegra_i2s_audio: add support for selecting tx/rx channels separately
Iliyan Malchev [Wed, 20 Oct 2010 00:50:32 +0000]
[ARM] tegra_i2s_audio: add support for selecting tx/rx channels separately

Signed-off-by: Iliyan Malchev <malchev@google.com>

Rebase-Id: R1aebb628d590b1d19ef3e73755d66a316deac0b2

5 years ago[ARM] tegra_i2s_audio: allow different DMA bus widths
Chris Fries [Thu, 14 Oct 2010 21:31:52 +0000]
[ARM] tegra_i2s_audio: allow different DMA bus widths

Added separate APB DMA bus-width controls depending on the audio bus format.

Signed-off-by: Iliyan Malchev <malchev@google.com>

Rebase-Id: Rbd3accc25d997aa0e11cc8076cfd34a3427d72a4

5 years ago[ARM] tegra_i2s_audio: add support for DSP (PCM) mode.
Chris Fries [Wed, 13 Oct 2010 03:00:25 +0000]
[ARM] tegra_i2s_audio: add support for DSP (PCM) mode.

Change-Id: I132b8b7709c154ca1fb52f437966bd90451e89f7
Signed-off-by: Iliyan Malchev <malchev@google.com>

Rebase-Id: R000f13b8139aff9c9f01f8a0ec42167ce67a0d34

5 years ago[ARM] tegra_i2s_audio: fixes
Iliyan Malchev [Tue, 12 Oct 2010 19:50:48 +0000]
[ARM] tegra_i2s_audio: fixes

-- Ignore kfifo thresholds on recording and playback and adjust the delays.
-- Take out the code from TEGRA_AUDIO_IN_STOP into a separate function
-- Rename stop_recording() to wait_for_recording_to_stop().
-- add ioctl(TEGRA_AUDIO_OUT_FLUSH), which blocks the caller until the output
   fifo is drained.  While the caller is blocked, pending write() calls will
   return immediately with whatever data they had managed to queue up.
-- since TEGRA_AUDIO_OUT_FLUSH and TEGRA_AUDIO_IN_STOP act similarly, moved
   audio_driver_state::recording_cancelled to audio_stream::stop and changed
   the code accordingly.  Renamed functions wait_for_recording_to_stop() and
   stop_recording_nosync() to wait_till_stopped() and request_stop_nosync()
   since they handle both playback and recording.
-- print errors on close() if wakelocks are still held
-- Call request_stop_nosync() on close() of a recording file handle
-- Do not use struct audio_stream::active for playback streams.  Instead,
   where applicable, use kfifo_len().  As a consequence, playback kfifo
   underruns are no longer reported.  These were bogus anyway, as we really
   need the DMA engine to tell us if there are underruns.
-- Because of above item, had to rework tx_fifo_atn_store(),
   rx_fifo_atn_store(), and __attr_fifo_atn_write().
-- Set struct audio_stream::active for a recording stream to true when a
   recording starts, and set it to false when recording get stopped.  Do not
   set/clear it within the body of read(), because just being within read()
   does not mean that recording is in progress.
-- In tegra_audio_read(), check for stop == true before calling
   start_recording_if_necessary(); this makes sure that if a user calls read()
   after calling ioctl(TEGRA_AUDIO_IN_STOP), recording will not resume unless
   ioctl(TEGRA_AUDIO_IN_START) gets called, or the file is closed and
-- In PIO mode, enabled FIFOs before enabling interrupts as specified in the
-- Added missing break in tegra_audio_ioctl().
-- Silenced some debug spew

Signed-off-by: Iliyan Malchev <malchev@google.com>

Rebase-Id: Re38cbc3809e122ee70461e76478de84596fc08ec

5 years ago[ARM] tegra: add graphics host to devices.c
Gary King [Sat, 2 Oct 2010 00:02:12 +0000]
[ARM] tegra: add graphics host to devices.c

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

Rebase-Id: R585102b362108a4bc36c4e63f8bd96229698cf76

5 years ago[ARM] tegra: add SYNCPT_THRESH interrupts to irqs.h
Gary King [Sat, 2 Oct 2010 00:21:12 +0000]
[ARM] tegra: add SYNCPT_THRESH interrupts to irqs.h

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

Rebase-Id: R21e1ffdfa6954585cc31e04b6a3be14c7e65a934