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

Commit 55de8075 authored by Olof Johansson's avatar Olof Johansson
Browse files

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

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

soc/tegra: Core SoC changes for v4.12-rc1

This contains PMC support for Tegra186 as well as a proper driver for
the flow controller found on SoCs up to Tegra210. This also turns the
fuse driver into an explicitly non-modular driver.

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

:
  soc/tegra: Add initial flowctrl support for Tegra132/210
  soc/tegra: flowctrl: Add basic platform driver
  soc/tegra: Move Tegra flowctrl driver
  ARM: tegra: Remove unnecessary inclusion of flowctrl header
  soc: tegra: make fuse-tegra explicitly non-modular
  soc/tegra: Fix link errors with PMC disabled
  soc/tegra: Implement Tegra186 PMC support

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents fe8fee69 1fd09e5d
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
NVIDIA Tegra Power Management Controller (PMC)

Required properties:
- compatible: Should contain one of the following:
  - "nvidia,tegra186-pmc": for Tegra186
- reg: Must contain an (offset, length) pair of the register set for each
  entry in reg-names.
- reg-names: Must include the following entries:
  - "pmc"
  - "wake"
  - "aotag"
  - "scratch"

Optional properties:
- nvidia,invert-interrupt: If present, inverts the PMU interrupt signal.

Example:

SoC DTSI:

	pmc@c3600000 {
		compatible = "nvidia,tegra186-pmc";
		reg = <0 0x0c360000 0 0x10000>,
		      <0 0x0c370000 0 0x10000>,
		      <0 0x0c380000 0 0x10000>,
		      <0 0x0c390000 0 0x10000>;
		reg-names = "pmc", "wake", "aotag", "scratch";
	};

Board DTS:

	pmc@c360000 {
		nvidia,invert-interrupt;
	};
+0 −1
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@ asflags-y += -march=armv7-a

obj-y                                   += io.o
obj-y                                   += irq.o
obj-y					+= flowctrl.o
obj-y					+= pm.o
obj-y					+= reset.o
obj-y					+= reset-handler.o
+2 −1
Original line number Diff line number Diff line
@@ -26,12 +26,13 @@
#include <linux/kernel.h>
#include <linux/module.h>

#include <soc/tegra/flowctrl.h>

#include <asm/cpuidle.h>
#include <asm/smp_plat.h>
#include <asm/suspend.h>

#include "cpuidle.h"
#include "flowctrl.h"
#include "iomap.h"
#include "irq.h"
#include "pm.h"
+1 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <linux/jiffies.h>
#include <linux/smp.h>

#include <soc/tegra/flowctrl.h>
#include <soc/tegra/fuse.h>
#include <soc/tegra/pmc.h>

@@ -30,7 +31,6 @@
#include <asm/smp_scu.h>

#include "common.h"
#include "flowctrl.h"
#include "iomap.h"
#include "reset.h"

+1 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include <linux/spinlock.h>
#include <linux/suspend.h>

#include <soc/tegra/flowctrl.h>
#include <soc/tegra/fuse.h>
#include <soc/tegra/pm.h>
#include <soc/tegra/pmc.h>
@@ -38,7 +39,6 @@
#include <asm/suspend.h>
#include <asm/tlbflush.h>

#include "flowctrl.h"
#include "iomap.h"
#include "pm.h"
#include "reset.h"
Loading