summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra
AgeCommit message (Collapse)Author
2012-03-19Merge branch 'tegra/cleanups' into next/cleanup2Arnd Bergmann
2012-03-19Merge branch 'for-3.4/cleanup-and-fixes' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into tegra/cleanups * 'for-3.4/cleanup-and-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra: ARM: tegra: select USB_ULPI if USB is selected arm/tegra: pcie: fix return value of function arm/tegra: add timeout to PCIe PLL lock detection loop arm/tegra: fix harmony pinmux for PCIe
2012-03-18ARM: tegra: select USB_ULPI if USB is selectedArnd Bergmann
Automatically select USB_ULPI if USB is enabled on Tegra. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alan Ott <alan@signal11.us> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-18arm/tegra: pcie: fix return value of functionDmitry Artamonow
In previous patch (arm/tegra: add timeout to PCIe PLL lock detection loop) tegra_pcie_enable_controller() function type has been changed from void to int, but the last return statement wasn't converted, so function returns undefined value. Fix it. Also while at it, address couple of minor concerns raised by reviewers: use usleep_range for delay, and lower the value of timeout to 300ms to be consistent with Nvidia Vibrante kernel. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-15Merge branch 'for-armsoc' of ↵Arnd Bergmann
http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm into next/soc2 Conflicts: arch/arm/mach-tegra/common.c arch/arm/mach-ux500/devices-common.c This resolves two conflicts and lets us merge the exynos5 branch cleanly. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-13ARM: create a common IOMEM definitionRob Herring
Several platforms create IOMEM defines for casting to 'void __iomem *', and other platforms are incorrectly using __io() macro for the same purpose. This creates a common definition and removes all the platform specific versions. Rather than try to make linux/io.h and asm/io.h assembly safe, the assembly version of IOMEM is moved into asm/assembler.h. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Sekhar Nori <nsekhar@ti.com> Cc: Kevin Hilman <khilman@ti.com> Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ryan Mallon <rmallon@gmail.com> Cc: Eric Miao <eric.y.miao@gmail.com> Cc: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: David Brown <davidb@codeaurora.org> Cc: Daniel Walker <dwalker@fifo99.com> Cc: Bryan Huntsman <bryanh@codeaurora.org> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Shawn Guo <shawn.guo@linaro.org> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Paul Walmsley <paul@pwsan.com> Acked-by: Viresh Kumar <viresh.kumar@st.com> Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com> Cc: Colin Cross <ccross@android.com> Cc: Olof Johansson <olof@lixom.net> Cc: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-03-13ARM: tegra: convert to twd_local_timer_register() interfaceMarc Zyngier
Add support for the new smp_twd runtime registration interface to the tegra platforms, and remove the old compile-time support. Tested on Harmony. Acked-by: Stephen Warren <swarren@nvidia.com> Cc: Colin Cross <ccross@android.com> Cc: Olof Johansson <olof@lixom.net> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2012-03-09Merge commit 'v3.3-rc6' into nextDmitry Torokhov
2012-03-07arm/tegra: add timeout to PCIe PLL lock detection loopDmitry Artamonow
Tegra PCIe driver waits for PLL to lock using busy loop. If PLL fails to lock for some reason, this leads to silent lockup while booting (as PCIe code is not modular). Fix by adding timeout, so if PLL doesn't lock in a couple of seconds, just PCIe driver fails and machine continues to boot. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-07arm/tegra: fix harmony pinmux for PCIeDmitry Artamonow
Commit 6e96aca397 (arm/tegra: Harmony PCIe: Don't touch pinmux) removed runtime tri-state toggling for PCIe related pinmux groups, but it seems that the fact that all of them are tri-state by default has been overlooked. Change defaults for these groups to TEGRA_TRI_NORMAL. Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-06ARM: kill off __mem_pciRob Herring
__mem_pci is only used to enable readl/writel and friends. Just condition this on readl being defined and remove all the __mem_pci defines. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Lennert Buytenhek <kernel@wantstofly.org> Cc: Imre Kaloz <kaloz@openwrt.org> Cc: Krzysztof Halasa <khc@pm.waw.pl> Cc: Nicolas Pitre <nico@fluxnic.net> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: Colin Cross <ccross@android.com> Cc: Olof Johansson <olof@lixom.net> Cc: Stephen Warren <swarren@nvidia.com>
2012-03-06ARM: tegra: clean-up mach/io.hRob Herring
Move tegra specific mach/io.h parts into iomap.h. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Tested-by: Stephen Warren <swarren@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Cc: Colin Cross <ccross@android.com> Cc: Olof Johansson <olof@lixom.net>
2012-03-06ARM: tegra: Select PINCTRL Kconfig variablesStephen Warren
This causes the Tegra pinctrl driver to be built whenever core Tegra support is enabled. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-03-06pinctrl: add a driver for NVIDIA TegraStephen Warren
This adds a driver for the Tegra pinmux, and required parameterization data for Tegra20 and Tegra30. The driver is initially added with driver name and device tree compatible value that won't cause this driver to be used. A later change will switch the pinctrl driver to use the correct values, switch the old pinmux driver to be disabled, and update all code that uses the old pinmux APIs to use the new pinctrl APIs. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Olof Johansson <olof@lixom.net> [squashed "fix case of Tegra30's foo_groups[] arrays"] Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-03-04Merge tag 'tegra-boards' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into tegra/boards Tegra board updates. Most of the board updates for tegra30 and for some of the driver device-tree conversions have gone in through the other branches, so that leaves quite little left here -- mostly a couple of updates to the not-yet-converted tegra2 boards and a couple of device-tree updates. * tag 'tegra-boards' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra: ARM: tegra: match SoC name not board name in DT board files ARM: tegra: PCIe: Provide 3.3V supply voltage ARM: dt: tegra: add the wifi led to paz00 device tree ARM: dt: tegra: add the power gpio key to paz00 device tree ARM: dt: tegra: add ADT7461 temperature sensor to paz00 device tree Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-04Merge tag 'tegra-soc-drivers' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into tegra/soc-drivers Tegra SoC driver support. Some device tree conversions, some new drivers. and a fix for an issue introduced in Grant Likely's irq_domain conversion in his tree. Because of that, this branch depends on his branch to build (but not to merge): git://git.secretlab.ca/git/linux-2.6.git irqdomain/next * tag 'tegra-soc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra: (34 commits) ARM: tegra: uncompress.h: Don't depend on kernel headers gpio: tegra: Fix build issue due to irq_domain rework. ARM: tegra: Remove duplicate PMU interrupt inversion code ARM: tegra: Add a simple PMC driver ARM: tegra: dma: not required to move requestor when stopping. ARM: tegra: Fix EMC pdata initialization from registers gpio: tegra: Parameterize the number of banks gpio: tegra: Dynamically allocate IRQ base, and support DT ARM: tegra: Remove use of TEGRA_GPIO_TO_IRQ ARM: tegra: Pass uncompress.h UART selection to DEBUG_LL ARM: tegra: uncompress.h: Choose a UART at runtime ARM: tegra: uncompress.h: Store UART address in a variable ARM: tegra: Introduce define DEBUG_UART_SHIFT ARM: tegra: Support Tegra30 in decompressor UART setup ARM: tegra: Pause DMA when reading transfer count ARM: tegra: emc: device tree support ARM: tegra: emc: convert tegra2_emc to a platform driver ARM: tegra: fuse: add bct strapping reading ARM: tegra: fuse: add functions to access chip revision ARM: tegra: fuse: use apbio dma for register access ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-04Merge tag 'tegra-soc' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into tegra/soc From: Olof Johansson <olof@lixom.net> SoC new development for tegra SoCs, mostly tegra30 core support. It also includes one stray bugfix that was misapplied (should have been in soc-drivers), but it went out to the stable branches before I noticed so I've left it in. * tag 'tegra-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra: ARM: tegra: Demote EMC clock inconsistency BUG to WARN ARM: tegra: Avoid compiling cpuidle code when not configured ARM: tegra: cpuidle driver for tegra ARM: tegra: assembler code for LP3 ARM: tegra: definitions for flow controller ARM: tegra: initialize basic system clocks ARM: tegra: enable tegra30 clock framework ARM: tegra: implement basic tegra30 clock framework ARM: tegra: add support for new clock framework features ARM: tegra: add support for tegra30 interrupts Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-04Merge tag 'tegra-cleanups' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into tegra/cleanups Minor fixes that weren't urgent enough to go into 3.3. The two paz00 patches are in mainline already but got merged after the branch point for this branch, so they're duplicated. I also ended up merging in rmk/for-armsoc into this later on to fix a bug introduced by it, so it's included but it's not the base of this branch. * tag 'tegra-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra: ARM: tegra: Enable CPUIdle on Tegra20 ARM: tegra: export usb phy symbols ARM: tegra: build localtimer support only when needed ARM: tegra: select CPU_FREQ_TABLE ARM: tegra: select required CPU and L2 errata options ARM: tegra: paz00: fix wrong UART port on mini-pcie plug ARM: tegra: paz00: fix wrong SD1 power gpio Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-04Merge tag 'tegra-cleanups' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into tegra/cleanups Minor fixes that weren't urgent enough to go into 3.3. The two paz00 patches are in mainline already but got merged after the branch point for this branch, so they're duplicated. I also ended up merging in rmk/for-armsoc into this later on to fix a bug introduced by it, so it's included but it's not the base of this branch. * tag 'tegra-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra: ARM: tegra: Enable CPUIdle on Tegra20 ARM: tegra: export usb phy symbols ARM: tegra: build localtimer support only when needed ARM: tegra: select CPU_FREQ_TABLE ARM: tegra: select required CPU and L2 errata options ARM: tegra: paz00: fix wrong UART port on mini-pcie plug ARM: tegra: paz00: fix wrong SD1 power gpio Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-03-04ARM: tegra: Enable CPUIdle on Tegra20Peter De Schrijver
As the LP3 code also works for Tegra20, we can enable cpuidle for Tegra20. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-04ARM: tegra: export usb phy symbolsArnd Bergmann
The ehci driver can be a module, so the functions provided by the tegra platform code used by ehci-tegra need to be exported. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alan Ott <alan@signal11.us> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-04ARM: tegra: build localtimer support only when neededArnd Bergmann
It is possible to build a tegra kernel without localtimer support, so the tegra specific parts should only be built when that is indeed enabled. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alan Ott <alan@signal11.us> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-04ARM: tegra: select CPU_FREQ_TABLEArnd Bergmann
The tegra cpufreq implementation relies on the cpu_freq_table code, so make sure that this is always there when needed. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alan Ott <alan@signal11.us> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-04Merge branch 'depends/rmk/for-armsoc' into for-3.4/cleanup-and-fixesOlof Johansson
2012-03-04ARM: dt: Explicitly configure all serial ports on Tegra CardhuStephen Warren
The ports are used as follows: UART1/A: Routed to debug dongle UART2/B: GPS UART3/C: Bluetooth UART4/D: Routed to debug dongle UART5/E: Not connected The debug dongle has jumpers to connect either UART1/A or UART4/D to the DB-9 connector. UART1/A is typically used on Cardhu, and is the option we assume here. For now, only enable UART1/A, and explicitly disable all other ports. The explicit disable prevents the message "of_serial 70006040.serial: no clock-frequency property set" being printed during boot. Enabling the other ports requires their clocks to be enabled, or accesses to the registers will hang. At present, this requires adding entries into board-dt-tegra30.c's tegra_dt_clk_init_table[]. Lets punt on that and wait for the common clock bindings to set this all up, although that will also requiring adding clock support to 8250.c. While we're at it, fix board-dt-tegra30.c to enable the correct clock for the debug UART. We got away with this before, because the bootloader already enabled it. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-04ARM: tegra: match SoC name not board name in DT board filesStephen Warren
board-dt-tegra*.c should support any board using Tegra when booted using device tree. Instead of explicitly listing all the supported boards, which requires a kernel change for each new board, list the supported SoC model instead. Note that the board files do currently have explicit support for setting up each board's pinmux. However, it's fairly likely that at least the basic devices on any new board will work just fine as set up by the boot- loader, and the pinmux data should be moving into device tree soon anyway. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-03-01Merge tag 'xceiv-for-v3.4' of ↵Greg Kroah-Hartman
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next USB: transceiver changes for 3.4 Here we have a big rework done by Heikki Krogerus (thanks) which splits OTG functionality away from transceivers. We have known for quite a long time that struct otg_transceiver was a bad name for the structure, considering transceiver is far from being OTG-specific (see 4e67185).
2012-02-29Merge branch 'cleanup' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup * 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix L4_EMU_34XX_BASE error after iomap changes ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers ARM: OMAP: Remove plat/io.h by splitting it into mach/io.h and mach/hardware.h ARM: OMAP2+: Move most of plat/io.h into local iomap.h ARM: OMAP1: Move most of plat/io.h into local iomap.h ARM: OMAP1: Move 16xx GPIO system clock to platform init code ARM: OMAP: Move omap_init_consistent_dma_size() to local common.h ARM: OMAP2+: Move SDRC related functions from io.h into local common.h ARM: OMAP2+: Drop DISPC L3 firewall code ARM: OMAP2xxx: PM: remove obsolete timer disable code in the suspend path ARM: OMAP: McSPI: Remove unused flag from struct omap2_mcspi_device_config (update to latest rmk/for-arm-soc branch) Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-02-28Merge branch 'board-specific' of git://github.com/hzhuang1/linux into ↵Arnd Bergmann
next/boards * 'board-specific' of git://github.com/hzhuang1/linux: (5 commits) ARM: pxa: add dummy clock for pxa25x and pxa27x ARM: mmp: append irq name of gpio device pxa/hx4700: Fix PXA_GPIO_IRQ_BASE/IRQ_NUM values pxa/hx4700: Add ASIC3 LED support pxa/hx4700: Correct StrataFlash block size discovery (update to v3.3-rc5)
2012-02-28Merge branch 'cleanup-3.4' of git://github.com/hzhuang1/linux into next/cleanupArnd Bergmann
* 'cleanup-3.4' of git://github.com/hzhuang1/linux: (2 commits) rtc: sa1100: remove verification code of alarm rtc: sa1100: remove periodic code (update to v3.3-rc5)
2012-02-28Merge branch 'imx/defconfig' of ↵Arnd Bergmann
git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc * 'imx/defconfig' of git://git.linaro.org/people/shawnguo/linux-2.6: (2 commits) ARM: defconfig: imx_v6_v7: build in REGULATOR_FIXED_VOLTAGE ARM: imx: update imx_v6_v7_defconfig (upadte to v3.3-rc5)
2012-02-27ARM: tegra: uncompress.h: Don't depend on kernel headersStephen Warren
This fixes the following compile error: CC arch/arm/boot/compressed/misc.o In file included from arch/arm/boot/compressed/misc.c:28:0: arch/arm/mach-tegra/include/mach/uncompress.h: In function 'arch_decomp_setup': arch/arm/mach-tegra/include/mach/uncompress.h:125:2: error: implicit declaration of function 'BUILD_BUG_ON_ZERO' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors This is due to use of the ARRAY_SIZE() macro. Typically, this would be solved by including <linux/bug.h>, but the compressor code isn't part of the kernel, and so should not include kernel headers. Instead, define the few macros the code uses directly, and in a way that doesn't depend on <linux/bug.h>. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-27usb: Convert all users to new usb_phyHeikki Krogerus
Use the new usb_phy_* functions with transceiver operations instead of the old otg functions. Includes fixes from Sascha Hauer. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Pavankumar Kondeti <pkondeti@codeaurora.org> Acked-by: Li Yang <leoli@freescale.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Reviewed-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
2012-02-26ARM: tegra: support for secondary cores on Tegra30Peter De Schrijver
Add support for bringing up secondary cores on Tegra30. On Tegra30 secondary CPU cores are powergated, so we need to turn on the domains before we can bring the CPU cores online. Bringing secondary cores online happens early during the sytem boot, so we call powergating initialization from platform early_init function. Based on work by: Scott Williams <scwilliams@nvidia.com> Colin Cross <ccross@android.com> Alex Frid <afrid@nvidia.com> Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Acked-by: Colin Cross <ccross@android.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: support for Tegra30 CPU powerdomainsPeter De Schrijver
Secondary CPU powerdomains can be powergated on Tegra30. Add the necessary functions to do this. This will be used to boot the secondary CPUs later on. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: add support for Tegra30 powerdomainsPeter De Schrijver
Add support for the new powerdomains in Tegra30 such as extra CPU cores and the SATA domain. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: export tegra_powergate_is_powered()Peter De Schrijver
Export tegra_powergate_is_powered(). This function will be used by the Tegra30 code to bringup secondary CPU cores. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: prepare powergate.c for multiple variantsPeter De Schrijver
Prepare the powergating code for other Tegra variants which have a different number of powerdomains. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: rework Tegra secondary CPU core bringupPeter De Schrijver
Prepare the Tegra secondary CPU core bringup code for other Tegra variants. The reset handler is also generalized to allow for future introduction of powersaving modes which turn off the CPU cores. Based on work by: Scott Williams <scwilliams@nvidia.com> Chris Johnson <cwj@nvidia.com> Colin Cross <ccross@android.com> Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: functions to access the flowcontrollerPeter De Schrijver
Introduce some functions to write to the flowcontroller registers. The flowcontroller controls CPU sleepstates and wakeup. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: initialize Tegra chipid earlyPeter De Schrijver
Secondary core bringup relies on the Tegra chipid to distinguish between Tegra variants. Therefore this data needs to be available early on. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: export Tegra chipidPeter De Schrijver
The powergating and reset handling code needs to differentiate between Tegra variants. Therefore we export the chipid here. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: cleanup use of chipid registerPeter De Schrijver
The chipid register contains information about the Tegra variant and revision. We want differentiate between Tegra variants for powergating and secondary core bringup. This patch cleans up the reading and decoding of this register. In subsequent patches the variant will exported as a global variable. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26Merge branch 'for-3.4/soc-drivers' into for-3.4/t30-smpOlof Johansson
Conflicts: arch/arm/mach-tegra/Makefile
2012-02-26Merge branch 'for-3.4/soc' into for-3.4/t30-smpOlof Johansson
2012-02-26ARM: tegra: PCIe: Provide 3.3V supply voltageThierry Reding
The PCIe reference clock needs a 3.3V supply voltage to work properly. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: select required CPU and L2 errata optionsStephen Warren
The ARM IP revisions in Tegra are: Tegra20: CPU r1p1, PL310 r2p0 Tegra30: CPU A01=r2p7/>=A02=r2p9, NEON r2p3-50, PL310 r3p1-50 Based on work by Olof Johansson, although the actual list of errata is somewhat different here, since I added a bunch more and removed one PL310 erratum that doesn't seem applicable. Signed-off-by: Stephen Warren <swarren@nvidia.com> Cc: stable@vger.kernel.org Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: Demote EMC clock inconsistency BUG to WARNStephen Warren
When this inconsistency occurs, the system will typically operate without issue, it's just that EMC scaling won't optimally. Convert the BUG_ON to a WARN_ONCE in order to allow the kernel to boot, but still complain. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-26ARM: tegra: Avoid compiling cpuidle code when not configuredPeter De Schrijver
No need to compile cpuidle.c and sleep.S if cpuidle isn't configured in the kernel. Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-02-23arm/PCI: get rid of device resource fixupsBjorn Helgaas
Tell the PCI core about host bridge address translation so it can take care of bus-to-resource conversion for us. CC: Russell King <linux@arm.linux.org.uk> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>