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

Commit 8024206d authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'tegra-for-3.10-cleanup' of...

Merge tag 'tegra-for-3.10-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/cleanup

From Stephen Warren <swarren@wwwdotorg.org>:

ARM: tegra: cleanup

This branch includes various cleanup of the core Tegra support.

* Unification of the separate board-dt-tegra*.c files into a single
  tegra.c, now that everything is DT-driven and basically identical.
* Use of_clk_get() in the Tegra clocksource driver so that clocks are
  described in DT rather than hard-coding clock names.
* Some cleanup of the PMC-related code, with the aim that the PMC
  "driver" contains more of the code that touches PMC registers, rather
  than spreading PMC register accesses through other files.
* Conversion of the "PMC" driver to acquire resources describe in device
  tree rather than hard-coding them.
* Use of common code for the CPU sleep TLB invalidation.

This branch is based on the previous fixes pull request.

* tag 'tegra-for-3.10-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra

:
  ARM: tegra: use setup_mm_for_reboot rather than explicit pgd switch
  ARM: tegra: replace the CPU power on function with PMC call
  ARM: tegra: pmc: add power on function for secondary CPUs
  ARM: tegra: pmc: convert PMC driver to support DT only
  ARM: tegra: fix the PMC compatible string in DT
  ARM: tegra: pmc: add specific compatible DT string for Tegra30 and Tegra114
  ARM: tegra: refactor tegra{20,30}_boot_secondary
  clocksource: tegra: move to of_clk_get
  ARM: tegra: Unify Device tree board files
  ARM: tegra: Rename board-dt-tegra20.c to tegra.c
  ARM: tegra: Unify tegra{20,30,114}_init_early()

Conflicts:
	drivers/clocksource/tegra20_timer.c

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 5be8f636 6affb482
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -99,7 +99,7 @@
	};
	};


	pmc {
	pmc {
		compatible = "nvidia,tegra114-pmc", "nvidia,tegra30-pmc";
		compatible = "nvidia,tegra114-pmc";
		reg = <0x7000e400 0x400>;
		reg = <0x7000e400 0x400>;
	};
	};


+2 −0
Original line number Original line Diff line number Diff line
@@ -145,6 +145,7 @@
			      0 1 0x04
			      0 1 0x04
			      0 41 0x04
			      0 41 0x04
			      0 42 0x04>;
			      0 42 0x04>;
		clocks = <&tegra_car 5>;
	};
	};


	tegra_car: clock {
	tegra_car: clock {
@@ -304,6 +305,7 @@
		compatible = "nvidia,tegra20-rtc";
		compatible = "nvidia,tegra20-rtc";
		reg = <0x7000e000 0x100>;
		reg = <0x7000e000 0x100>;
		interrupts = <0 2 0x04>;
		interrupts = <0 2 0x04>;
		clocks = <&tegra_car 4>;
	};
	};


	i2c@7000c000 {
	i2c@7000c000 {
+3 −1
Original line number Original line Diff line number Diff line
@@ -148,6 +148,7 @@
			      0 42 0x04
			      0 42 0x04
			      0 121 0x04
			      0 121 0x04
			      0 122 0x04>;
			      0 122 0x04>;
		clocks = <&tegra_car 5>;
	};
	};


	tegra_car: clock {
	tegra_car: clock {
@@ -291,6 +292,7 @@
		compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc";
		compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc";
		reg = <0x7000e000 0x100>;
		reg = <0x7000e000 0x100>;
		interrupts = <0 2 0x04>;
		interrupts = <0 2 0x04>;
		clocks = <&tegra_car 4>;
	};
	};


	i2c@7000c000 {
	i2c@7000c000 {
@@ -423,7 +425,7 @@
	};
	};


	pmc {
	pmc {
		compatible = "nvidia,tegra20-pmc", "nvidia,tegra30-pmc";
		compatible = "nvidia,tegra30-pmc";
		reg = <0x7000e400 0x400>;
		reg = <0x7000e400 0x400>;
	};
	};


+1 −3
Original line number Original line Diff line number Diff line
@@ -10,6 +10,7 @@ obj-y += pm.o
obj-y					+= reset.o
obj-y					+= reset.o
obj-y					+= reset-handler.o
obj-y					+= reset-handler.o
obj-y					+= sleep.o
obj-y					+= sleep.o
obj-y					+= tegra.o
obj-$(CONFIG_CPU_IDLE)			+= cpuidle.o
obj-$(CONFIG_CPU_IDLE)			+= cpuidle.o
obj-$(CONFIG_ARCH_TEGRA_2x_SOC)		+= tegra20_speedo.o
obj-$(CONFIG_ARCH_TEGRA_2x_SOC)		+= tegra20_speedo.o
obj-$(CONFIG_ARCH_TEGRA_2x_SOC)		+= tegra2_emc.o
obj-$(CONFIG_ARCH_TEGRA_2x_SOC)		+= tegra2_emc.o
@@ -27,9 +28,6 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
obj-$(CONFIG_CPU_FREQ)                  += cpu-tegra.o
obj-$(CONFIG_CPU_FREQ)                  += cpu-tegra.o
obj-$(CONFIG_TEGRA_PCI)			+= pcie.o
obj-$(CONFIG_TEGRA_PCI)			+= pcie.o


obj-$(CONFIG_ARCH_TEGRA_2x_SOC)		+= board-dt-tegra20.o
obj-$(CONFIG_ARCH_TEGRA_3x_SOC)		+= board-dt-tegra30.o
obj-$(CONFIG_ARCH_TEGRA_114_SOC)	+= board-dt-tegra114.o
ifeq ($(CONFIG_CPU_IDLE),y)
ifeq ($(CONFIG_CPU_IDLE),y)
obj-$(CONFIG_ARCH_TEGRA_114_SOC)	+= cpuidle-tegra114.o
obj-$(CONFIG_ARCH_TEGRA_114_SOC)	+= cpuidle-tegra114.o
endif
endif
+0 −46
Original line number Original line Diff line number Diff line
/*
 * NVIDIA Tegra114 device tree board support
 *
 * Copyright (C) 2013 NVIDIA Corporation
 *
 * This software is licensed under the terms of the GNU General Public
 * License version 2, as published by the Free Software Foundation, and
 * may be copied, distributed, and modified under those terms.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */

#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/clocksource.h>

#include <asm/mach/arch.h>

#include "board.h"
#include "common.h"

static void __init tegra114_dt_init(void)
{
	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}

static const char * const tegra114_dt_board_compat[] = {
	"nvidia,tegra114",
	NULL,
};

DT_MACHINE_START(TEGRA114_DT, "NVIDIA Tegra114 (Flattened Device Tree)")
	.smp		= smp_ops(tegra_smp_ops),
	.map_io		= tegra_map_common_io,
	.init_early	= tegra114_init_early,
	.init_irq	= tegra_dt_init_irq,
	.init_time	= clocksource_of_init,
	.init_machine	= tegra114_dt_init,
	.init_late	= tegra_init_late,
	.restart	= tegra_assert_system_reset,
	.dt_compat	= tegra114_dt_board_compat,
MACHINE_END
Loading