- 16 3月, 2011 1 次提交
-
-
由 Mike Rapoport 提交于
On Harmony board PCI-e subsystem can be enabled only after certain voltage regulators are on. One of the regulators is an internal regulator on the PMIC and another one is controlled by a PMIC GPIO. Addition of the voltage control to the Harmony PCI-e initialization allows booting of kernel with CONFIG_TEGRA_PCI even if the PMIC driver is not loaded. In this case the PCI-e initialization will fail gracefully intead of hanging the system. Signed-off-by: NMike Rapoport <mike@compulab.co.il> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 08 3月, 2011 9 次提交
-
-
由 Olof Johansson 提交于
Enable new platforms and tegra drivers in tegra_defconfig. Also enable some of the common devices several platforms, and GUID partition tables to make it possible to boot a tegra_defconfig kernel with a ChromiumOS filesystem. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NStephen Warren <swarren@nvidia.com>
-
由 Marc Dietrich 提交于
This patch adds the config infrastructure, the pinmux and basic board setup code for PAZ00 (name of board inside the AC100/AZ). Signed-off-by: NMarc Dietrich <marvin24@gmx.de> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen Warren 提交于
This is the final patch to enable audio support on Harmony. It additionally relies on the latest ASoC branch being merged in, which provides the header defining the gpio_base field in the WM8903 platform data. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen Warren 提交于
This patch is the portion of the audio-related setup that relies additionally on the latest Tegra I2C driver being merged. * Define platform data for WM8903 audio codec * Register WM8903 as an I2C device Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Olof Johansson 提交于
Register the base i2c busses on harmony. Devices coming at a later date, but this allows for hand-probing of some of them at least. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NStephen Warren <swarren@nvidia.com>
-
由 Olof Johansson 提交于
Register the base i2c devices on seaboard. A few more are pending, but it's a start. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NStephen Warren <swarren@nvidia.com>
-
由 Stephen Warren 提交于
This change includes everything required to enable audio on Harmony, except those parts which rely on code not currently in Tegra's for-next branch, i.e. except those parts which rely on merges of the Tegra I2C driver or latest ASoC subsystem. * Define GPIO names for audio-related GPIOs * Set up platform data and platform device for ASoC machine driver * Register audio-related platform devices * Initialize audio-related clocks * Correctly configure pinmux and GPIO enables for audio-related pins Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen Warren 提交于
This ensures they're kept in sync between platform_data definitions and the GPIO table initialization. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
由 Stephen Warren 提交于
For I2S, DAS, PCM devices Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 04 3月, 2011 3 次提交
-
-
由 Mike Rapoport 提交于
Currently tegra_pcie_init is effectively called as subsys_initcall. With multiplatform kernel this may cause hangs on boards that don't intend to support Tegra2 PCI-e. Ensure that TrimSlice board code initializes PCI-e only when actually running on the TrimSlice. Signed-off-by: NMike Rapoport <mike@compulab.co.il> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Mike Rapoport 提交于
Signed-off-by: NMike Rapoport <mike@compulab.co.il> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Mike Rapoport 提交于
Move tegra_pcie_power_off before tegra_pcie_power_on for clean addition of PCIE power gating Signed-off-by: NMike Rapoport <mike@compulab.co.il> Signed-off-by: NColin Cross <ccross@android.com>
-
- 24 2月, 2011 5 次提交
-
-
由 Stephen Warren 提交于
tegra_dma_init currently simply bails out early if any initialization fails. This skips various data-structure initialization. In turn, this means that tegra_dma_allocate_channel can still hand out channels. In this case, when tegra_dma_free_channel is called, which calls tegra_dma_cancel, the walking on ch->list will OOPS since the list's next/prev pointers may still be NULL. To solve this, add an explicit "initialized" flag, only set this once _init has fully completed successfully, and have _allocate_channel refuse to hand out channels if this is not set. While at it, simplify _init: * Remove redundant memsets * Use bitmap_fill to mark all channels as in-use up-front, and remove some now-redundant bitmap initialization loops. * Only mark a channel as free once all channel-related initialization has completed. Finally, the successful exit path from _init always has ret==0, so just hard-code that return. The error path still returns ret. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Stephen Warren 提交于
The ASoC machine driver was written assuming my previous patch to add complete support for these clocks, which named them cdev1/2. Rename the clocks to match that, to avoid churn in the ASoC driver. This rename also makes the clocks more consistent with other Tegra clocks irrespective of any of that. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Stephen Warren 提交于
The driver is tegra-i2s not just i2s. Rename the clocks to match, so that clk_get_sys can look up by driver name. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Stephen Warren 提交于
The following commit makes the Tegra APB DMA engine fail to initialize correctly: 0cf6230a ARM: tegra: Move tegra_common_init to tegra_init_early The reason is that tegra_init_early_ calls tegra_dma_init which calls request_threaded_irq, which fails since the IRQ hasn't yet been marked valid; that only happens in tegra_init_irq, which gets called after tegra_init_early. This used to work OK, since tegra_init_early was tegra_common_init, which got called after tegra_init_irq, basically from the beginning of tegra_harmony_init. Solve this by converting tegra_dma_init to a postcore_initcall. This makes it execute late enough that IRQs are marked valid, and avoids having to add it back to every machine's init function. Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Colin Cross 提交于
Merge branch 'boards-for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra-2.6 into for-next
-
- 23 2月, 2011 15 次提交
-
-
由 Olof Johansson 提交于
This adds board support for the Seaboard eval platform and some of the derivatives that are very similar. Since they only differ in some very minor ways, most of the code is shared. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NColin Cross <ccross@android.com>
-
由 Olof Johansson 提交于
Turns out MMC2 (the bayonet 4-lane port) wasn't enabled in the original pinmux. Fix that. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NColin Cross <ccross@android.com>
-
由 Olof Johansson 提交于
Add the 3 sdhci devices that are available on Harmony as platform devices. Two go to slots (one 4-lane, one 8-lane), and one goes to onboard wifi. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NColin Cross <ccross@android.com>
-
由 Olof Johansson 提交于
Remove dead atag handling code for nvidia-specific tags. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NColin Cross <ccross@android.com>
-
由 Olof Johansson 提交于
Add a common location to register resources for used on-chip devices that are commonly configured on boards. Devices will be added to this file as more drivers are added that can make use of them. This is based on work contributed by several people, most of it from Colin Cross and Erik Gilling. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NColin Cross <ccross@android.com>
-
由 Olof Johansson 提交于
Move harmony over to use the new gpio config table instead of having separate settings in various parts of the code. (The tegra sdhci driver should have the tegra_gpio_* ops removed, but that will be done separately from this change.) Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NErik Gilling <konkers@android.com>
-
由 Olof Johansson 提交于
To give one place to setup the pins that are used as GPIOs instead of as their pinmuxed functions. Specifying enabled as false explicitly disables the gpio mode of that pin (if left on by firmware). This should remove the need for calling these from specific drivers and thus reduce tegra-specific code from them. Signed-off-by: NOlof Johansson <olof@lixom.net> Acked-by: NErik Gilling <konkers@android.com>
-
由 Mark Brown 提交于
The option isn't terribly useful on other ARM platforms. Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Stephen Warren 提交于
Signed-off-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Colin Cross 提交于
Enable the cpu, emc (memory controller) and csite (debug and trace controller) clocks during init to prevent them from being disabled by the bootloader clock disabling code. Signed-off-by: NColin Cross <ccross@android.com> Acked-by: NOlof Johansson <olof@lixom.net>
-
由 Colin Cross 提交于
Enable the timer and rtc clocks to prevent them being turned off by the bootloader clock disabling code. Signed-off-by: NColin Cross <ccross@android.com> Acked-by: NOlof Johansson <olof@lixom.net>
-
由 Colin Cross 提交于
Move tegra_common_init to tegra_init_early, and set it as the init_early entry in the machine struct. Initializes the clocks earlier so that timers can enable their clocks. Also reorders the members in the Harmony and Trimslice boards' machine structs to match the order they are called in. Signed-off-by: NColin Cross <ccross@android.com> Acked-by: NOlof Johansson <olof@lixom.net>
-
由 Colin Cross 提交于
Peripheral clocks that have no clock enable bit in the enable registers have their clk_num set to 0. Bit 0 in the clock enable registers is the CPU clock. Prevent disables on these peripheral clocks from accidentally disabling the CPU clock. Signed-off-by: NColin Cross <ccross@android.com> Acked-by: NOlof Johansson <olof@lixom.net>
-
由 Colin Cross 提交于
Call the clock's round_rate op, if it exists, before calling the set_rate op. This will help later when dvfs is added, dvfs needs to know what the final rate will be before the frequency changes. Also requires fixes to the round rate functions to ensure calling round rate and then set rate will not cause the frequency to be rounded down twice. When picking clock divider values, the clock framework picks the closest frequency that is lower than the requested frequency. If the new frequency calculated from the divider value is rounded down, and then passed to set_rate, it will get rounded down again, possibly resulting in a frequency two steps lower than the original requested frequency. Fix the problem by rounding up when calculating the frequency coming out of a clock divider, so if that frequency is requested again, the same divider value will be picked. Signed-off-by: NColin Cross <ccross@android.com> Acked-by: NOlof Johansson <olof@lixom.net>
-
由 Colin Cross 提交于
Some peripheral clocks share enable bits. Refcount the enables so that calling clk_disable on one clock will not turn off another clock. Signed-off-by: NColin Cross <ccross@android.com> Acked-by: NOlof Johansson <olof@lixom.net>
-
- 21 2月, 2011 7 次提交
-
-
由 Colin Cross 提交于
Correct max rates for pclk and sclk (Originally fixed by Dima Zavin <dima@android.com>) Correct max rate for plla (Originally fixed by Stephen Warren <swarren@nvidia.com>) Remove unnecessary no-op set_rate on audio clocks Add clock lookup entries for grhost, bsea, and vde clocks Update clock clookup entries for vcp, bsea, and vde clocks Add shared clock entries for sclk and emc Add a virtual cop clock to provide a reset op (Originally fixed by Dima Zavin <dima@android.com>) Pass set_rate on super clocks through to parent Fix pllx frequency table entry for 608 MHz Remove incorrect plla frequency table entries Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Colin Cross 提交于
The PLLP registers are now being restored by the low-level resume code, and the CPU may be running off PLLP, so don't touch them during clock resume. Save plld, plls, pllu, and audio clock during suspend (originally fixed by Mayuresh Kulkarni <mkulkarni@nvidia.com>) The lock time for plld is 1000 us, so increase the delay after setting the PLLs. Add a BUG_ON to ensure the size of the suspend context area is correct. Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Colin Cross 提交于
The SDMMC controllers have extra bits in the clock source register that adjust the delay between the clock and data to compenstate for delays on the PCB. The values need to be set from the clock code so the clock can be locked during the read-modify-write on the clock source register. Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Colin Cross 提交于
Adjusts the minimum memory frequency when the cpu frequency changes. The values are currently hardcoded to a reasonable default. If memory frequency scaling is not enabled this patch will have no effect. Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Colin Cross 提交于
Add clock ops on the emc peripheral clock that call into the emc driver to update the memory controller registers for the new frequency. Tegra has an interlock between the clock controller and the memory controller that prevents the new register values from taking effect until the clock frequency update occurs. Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Colin Cross 提交于
The frequency memory bus on Tegra can be adjusted without disabling accesses to memory by updating the memory configuration registers from a per-board table, and then changing the clock frequency. The clock controller and memory controller have an interlock that prevents the new memory registers from taking effect until the clock frequency change. Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NColin Cross <ccross@android.com>
-
由 Colin Cross 提交于
Remove unnecessary uses of #ifdef CONFIG_DEBUG_FS Convert bool assignments from 1 to true Acked-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NColin Cross <ccross@android.com>
-