Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5378e466 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'tegra-for-4.3-soc' of...

Merge tag 'tegra-for-4.3-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers

ARM: tegra: Core SoC changes for v4.3-rc1

This contains a bit more of Tegra210 support, which is shaping up pretty
nicely. Other than that there are a couple of cleanup patches here, too.

* tag 'tegra-for-4.3-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux

:
  ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze()
  ARM: tegra: Disable cpuidle if PSCI is available
  soc/tegra: pmc: Use existing pclk reference
  soc/tegra: pmc: Remove unnecessary return statement
  soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile
  soc/tegra: fuse: Add spare bit offset for Tegra210
  soc/tegra: fuse: Add spare bit offset for Tegra124
  soc/tegra: fuse: Add spare bit offset for Tegra114
  soc/tegra: fuse: Rename core_* to soc_*
  soc/tegra: fuse: Add Tegra210 support
  soc/tegra: fuse: Unify Tegra20 and Tegra30 drivers
  soc/tegra: fuse: Restrict legacy code to 32-bit ARM
  soc/tegra: pmc: Add Tegra210 support
  soc/tegra: pmc: Restrict legacy code to 32-bit ARM
  soc/tegra: pmc: Avoid usage of uninitialized variable
  soc/tegra: Add Tegra210 support
  soc/tegra: Add Tegra132 support

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents bd90f115 1ec0e115
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <asm/cpuidle.h>
#include <asm/smp_plat.h>
#include <asm/suspend.h>
#include <asm/psci.h>

#include "pm.h"
#include "sleep.h"
@@ -44,16 +45,12 @@ static int tegra114_idle_power_down(struct cpuidle_device *dev,
	tegra_set_cpu_in_lp2();
	cpu_pm_enter();

	tick_broadcast_enter();

	call_firmware_op(prepare_idle);

	/* Do suspend by ourselves if the firmware does not implement it */
	if (call_firmware_op(do_idle, 0) == -ENOSYS)
		cpu_suspend(0, tegra30_sleep_cpu_secondary_finish);

	tick_broadcast_exit();

	cpu_pm_exit();
	tegra_clear_cpu_in_lp2();

@@ -61,6 +58,13 @@ static int tegra114_idle_power_down(struct cpuidle_device *dev,

	return index;
}

static void tegra114_idle_enter_freeze(struct cpuidle_device *dev,
				       struct cpuidle_driver *drv,
				       int index)
{
       tegra114_idle_power_down(dev, drv, index);
}
#endif

static struct cpuidle_driver tegra_idle_driver = {
@@ -72,8 +76,10 @@ static struct cpuidle_driver tegra_idle_driver = {
#ifdef CONFIG_PM_SLEEP
		[1] = {
			.enter			= tegra114_idle_power_down,
			.enter_freeze		= tegra114_idle_enter_freeze,
			.exit_latency		= 500,
			.target_residency	= 1000,
			.flags			= CPUIDLE_FLAG_TIMER_STOP,
			.power_usage		= 0,
			.name			= "powered-down",
			.desc			= "CPU power gated",
@@ -84,5 +90,8 @@ static struct cpuidle_driver tegra_idle_driver = {

int __init tegra114_cpuidle_init(void)
{
	if (!psci_smp_available())
		return cpuidle_register(&tegra_idle_driver, NULL);

	return 0;
}
+0 −3
Original line number Diff line number Diff line
@@ -82,9 +82,6 @@
#define TEGRA_EMC_BASE			0x7000F400
#define TEGRA_EMC_SIZE			SZ_1K

#define TEGRA_FUSE_BASE			0x7000F800
#define TEGRA_FUSE_SIZE			SZ_1K

#define TEGRA_EMC0_BASE			0x7001A000
#define TEGRA_EMC0_SIZE			SZ_2K

+3 −3
Original line number Diff line number Diff line
obj-$(CONFIG_ARCH_TEGRA) += fuse/
obj-y += fuse/

obj-$(CONFIG_ARCH_TEGRA) += common.o
obj-$(CONFIG_ARCH_TEGRA) += pmc.o
obj-y += common.o
obj-y += pmc.o
+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ static const struct of_device_id tegra_machine_match[] = {
	{ .compatible = "nvidia,tegra30", },
	{ .compatible = "nvidia,tegra114", },
	{ .compatible = "nvidia,tegra124", },
	{ .compatible = "nvidia,tegra132", },
	{ .compatible = "nvidia,tegra210", },
	{ }
};

+2 −0
Original line number Diff line number Diff line
@@ -6,3 +6,5 @@ obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += speedo-tegra20.o
obj-$(CONFIG_ARCH_TEGRA_3x_SOC)		+= speedo-tegra30.o
obj-$(CONFIG_ARCH_TEGRA_114_SOC)	+= speedo-tegra114.o
obj-$(CONFIG_ARCH_TEGRA_124_SOC)	+= speedo-tegra124.o
obj-$(CONFIG_ARCH_TEGRA_132_SOC)	+= speedo-tegra124.o
obj-$(CONFIG_ARCH_TEGRA_210_SOC)	+= speedo-tegra210.o
Loading