- 11 4月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
Tegra has 5 UARTS which could be used for low-level debug output. Commit fe263989 "ARM: tegra: uncompress.h: Choose a UART at runtime" implemented one method for the kernel to automatically determine which of these to use at run-time, so that the same DEBUG_LL-enabled kernel image could be used across multiple Tegra boards. The required bootloader-side setup for that option is implemented in NVIDIA's various downstream U-Boot branches, but the U-Boot maintainers have refused to accept it upstream. This change implements an alternative automatic UART selection option using ODMDATA. This is a 32-bit value programmed into Tegra's boot memory which provides a few pieces of basic board-specific information, including a field that indicates the console UART. Setting up this value is part of the standard Tegra boot architecture, and so requires no Tegra-specific hacks in the bootloader's UART driver. Note that in theory, the format of ODMDATA is board-specific. However, in practice all boards use the same location/size/values for the UART field. ODMDATA[19:18] (which drive the type of debug console) is more problematic, since some boards use value 2 for UART and others use 3. This patch just accepts either value; if this doesn't work well for a given board, I'd suggest simply not enabling this debug option when building for that board. Note that the kernel assumes the bootloader has already set up any required pinmux settings for the UART; there is no way the kernel can do this for itself prior to knowing which board it's running on. In practice, people using this feature are highly likely to be using bootloaders that have indeed configured the pinmux. This assumption existed prior to this patch. Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 29 3月, 2012 2 次提交
-
-
由 David Howells 提交于
Disintegrate asm/system.h for ARM. Signed-off-by: NDavid Howells <dhowells@redhat.com> cc: Russell King <linux@arm.linux.org.uk> cc: linux-arm-kernel@lists.infradead.org
-
由 Russell King 提交于
Avoid namespace conflicts with drivers over the CP15 definitions by moving CP15 related prototypes and definitions to a private header file. Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> [Tegra] Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Tested-by: H Hartley Sweeten <hsweeten@visionengravers.com> [EP93xx] Acked-by: NNicolas Pitre <nico@linaro.org> Acked-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: NDavid Howells <dhowells@redhat.com>
-
- 26 3月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
Commit 6f6f6a70 "ARM: create a common IOMEM definition" moved macro IOMEM(), and requires users to include <asm/assembler.h>. Fix Tegra's sleep.S to do so. This fixes: arch/arm/mach-tegra/sleep.S: Assembler messages: arch/arm/mach-tegra/sleep.S:77: Error: missing ')' arch/arm/mach-tegra/sleep.S:77: Error: garbage following instruction -- `movw r0,#:lower16:(0x60007000-0x60000000+IOMEM(0xFE200000))' Note: This only shows up after 0a258935 "ARM: tegra: update defconfig" Signed-off-by: NStephen Warren <swarren@wwwdotorg.org>
-
- 24 3月, 2012 1 次提交
-
-
由 Russell King 提交于
Avoid namespace conflicts with drivers over the CP15 definitions by moving CP15 related prototypes and definitions to a private header file. Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> [Tegra] Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Tested-by: H Hartley Sweeten <hsweeten@visionengravers.com> [EP93xx] Acked-by: NNicolas Pitre <nico@linaro.org> Acked-by: NKukjin Kim <kgene.kim@samsung.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 22 3月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
Commit 4a53f4e6 "USB: ehci-tegra: add probing through device tree" added AUXDATA for Tegra's USB/EHCI controller. However, it pointed the platform data at a location containing the address of the intended platform data, rather than the platform data itself. This change fixes that. Signed-off-by: NStephen Warren <swarren@wwwdotorg.org> Cc: <stable@vger.kernel.org> # 3.3
-
- 19 3月, 2012 2 次提交
-
-
由 Arnd Bergmann 提交于
Automatically select USB_ULPI if USB is enabled on Tegra. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NAlan Ott <alan@signal11.us> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Dmitry 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: NDmitry Artamonow <mad_soft@inbox.ru> Acked-by: NStephen Warren <swarren@wwwdotorg.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 14 3月, 2012 1 次提交
-
-
由 Rob 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: NRob 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: NH 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: NDavid 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: NTony Lindgren <tony@atomide.com> Acked-by: NPaul Walmsley <paul@pwsan.com> Acked-by: NViresh 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: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NArnd Bergmann <arnd@arndb.de>
-
- 13 3月, 2012 1 次提交
-
-
由 Marc 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: NStephen Warren <swarren@nvidia.com> Cc: Colin Cross <ccross@android.com> Cc: Olof Johansson <olof@lixom.net> Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
-
- 08 3月, 2012 2 次提交
-
-
由 Dmitry 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: NDmitry Artamonow <mad_soft@inbox.ru> Acked-by: NStephen Warren <swarren@wwwdotorg.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Dmitry Artamonow 提交于
Commit 6e96aca3 (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: NDmitry Artamonow <mad_soft@inbox.ru> Acked-by: NStephen Warren <swarren@wwwdotorg.org> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 07 3月, 2012 2 次提交
-
-
由 Rob 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: NRob 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>
-
由 Rob Herring 提交于
Move tegra specific mach/io.h parts into iomap.h. Signed-off-by: NRob Herring <rob.herring@calxeda.com> Tested-by: NStephen Warren <swarren@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Cc: Colin Cross <ccross@android.com> Cc: Olof Johansson <olof@lixom.net>
-
- 06 3月, 2012 2 次提交
-
-
由 Stephen Warren 提交于
This causes the Tegra pinctrl driver to be built whenever core Tegra support is enabled. Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
由 Stephen 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: NStephen Warren <swarren@nvidia.com> Acked-by: NOlof Johansson <olof@lixom.net> [squashed "fix case of Tegra30's foo_groups[] arrays"] Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 05 3月, 2012 6 次提交
-
-
由 Peter De Schrijver 提交于
As the LP3 code also works for Tegra20, we can enable cpuidle for Tegra20. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Arnd 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: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NAlan Ott <alan@signal11.us> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Arnd 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: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NAlan Ott <alan@signal11.us> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Arnd 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: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NAlan Ott <alan@signal11.us> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen 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: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen 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: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 28 2月, 2012 1 次提交
-
-
由 Stephen 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: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 27 2月, 2012 15 次提交
-
-
由 Heikki Krogerus 提交于
Use the new usb_phy_* functions with transceiver operations instead of the old otg functions. Includes fixes from Sascha Hauer. Signed-off-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Acked-by: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NPavankumar Kondeti <pkondeti@codeaurora.org> Acked-by: NLi Yang <leoli@freescale.com> Acked-by: NAlan Stern <stern@rowland.harvard.edu> Reviewed-by: NMarek Vasut <marek.vasut@gmail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Peter 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: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Acked-by: NColin Cross <ccross@android.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter 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: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter De Schrijver 提交于
Add support for the new powerdomains in Tegra30 such as extra CPU cores and the SATA domain. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 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: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter De Schrijver 提交于
Prepare the powergating code for other Tegra variants which have a different number of powerdomains. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter 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: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter De Schrijver 提交于
Introduce some functions to write to the flowcontroller registers. The flowcontroller controls CPU sleepstates and wakeup. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter 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: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter De Schrijver 提交于
The powergating and reset handling code needs to differentiate between Tegra variants. Therefore we export the chipid here. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter 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: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Thierry Reding 提交于
The PCIe reference clock needs a 3.3V supply voltage to work properly. Signed-off-by: NThierry Reding <thierry.reding@avionic-design.de> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen 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: NStephen Warren <swarren@nvidia.com> Cc: stable@vger.kernel.org Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen 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: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Peter De Schrijver 提交于
No need to compile cpuidle.c and sleep.S if cpuidle isn't configured in the kernel. Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com> Acked-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 24 2月, 2012 1 次提交
-
-
由 Bjorn 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: NBjorn Helgaas <bhelgaas@google.com>
-
- 22 2月, 2012 1 次提交
-
-
由 Rob Herring 提交于
Now that most platforms don't need disable_fiq and arch_ret_to_user macros, we can remove the empty macros or empty entry-macro.S files. Signed-off-by: NRob Herring <rob.herring@calxeda.com> Acked-by: NJamie Iles <jamie@jamieiles.com> Acked-by: NNicolas Pitre <nico@linaro.org> Acked-by: NTony Lindgren <tony@atomide.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NRyan Mallon <rmallon@gmail.com> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: NShawn Guo <shawn.guo@linaro.org>
-