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

Commit eec31731 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'soc-for-v3.18' of...

Merge tag 'soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

SoC related changes for omaps for v3.18 merge window:

- PM changes to make the code easier to use on newer SoCs
- PM changes for newer SoCs suspend and resume and wake-up events
- Minor clean-up to remove dead Kconfig options

Note that these have a dependency to the fixes-v3.18-not-urgent
tag and is based on a commit in that series.

* tag 'soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (514 commits)
  ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7
  ARM: dts: OMAP3+: Add PRM interrupt
  ARM: omap: Remove stray ARCH_HAS_OPP references
  ARM: DRA7: Add hook in SoC initcalls to enable pm initialization
  ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization
  ARM: OMAP5 / DRA7: Enable CPU RET on suspend
  ARM: OMAP5 / DRA7: PM: Provide a dummy startup function for CPU hotplug
  ARM: OMAP5 / DRA7: PM: Avoid all SAR saves
  ARM: OMAP5 / DRA7: PM: Enable Mercury retention mode on CPUx powerdomains
  ARM: OMAP5 / DRA7: PM / wakeupgen: Enables ES2 PM mode by default
  ARM: OMAP5 / DRA7: PM: Set MPUSS-EMIF clock-domain static dependency
  ARM: OMAP5 / DRA7: PM: Update CPU context register offset
  ARM: AM437x: use pdata quirks for pinctrl information
  ARM: DRA7: use pdata quirks for pinctrl information
  ARM: OMAP5: use pdata quirks for pinctrl information
  ARM: OMAP4+: PM: Use only valid low power state for CPU hotplug
  ARM: OMAP4+: PM: use only valid low power state for suspend
  ARM: OMAP4+: PM: Make logic state programmable
  ARM: OMAP2+: powerdomain: introduce logic for finding valid power domain
  ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdms
  ...
parents 60f91268 377fb3f5
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -4,11 +4,13 @@ Specifying interrupt information for devices
1) Interrupt client nodes
-------------------------

Nodes that describe devices which generate interrupts must contain an either an
"interrupts" property or an "interrupts-extended" property. These properties
contain a list of interrupt specifiers, one per output interrupt. The format of
the interrupt specifier is determined by the interrupt controller to which the
interrupts are routed; see section 2 below for details.
Nodes that describe devices which generate interrupts must contain an
"interrupts" property, an "interrupts-extended" property, or both. If both are
present, the latter should take precedence; the former may be provided simply
for compatibility with software that does not recognize the latter. These
properties contain a list of interrupt specifiers, one per output interrupt. The
format of the interrupt specifier is determined by the interrupt controller to
which the interrupts are routed; see section 2 below for details.

  Example:
	interrupt-parent = <&intc1>;
+107 −0
Original line number Diff line number Diff line
* Toshiba TC3589x multi-purpose expander

The Toshiba TC3589x series are I2C-based MFD devices which may expose the
following built-in devices: gpio, keypad, rotator (vibrator), PWM (for
e.g. LEDs or vibrators) The included models are:

- TC35890
- TC35892
- TC35893
- TC35894
- TC35895
- TC35896

Required properties:
 - compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",
   "toshiba,tc35894", "toshiba,tc35895" or "toshiba,tc35896"
 - reg : I2C address of the device
 - interrupt-parent : specifies which IRQ controller we're connected to
 - interrupts : the interrupt on the parent the controller is connected to
 - interrupt-controller : marks the device node as an interrupt controller
 - #interrupt-cells : should be <1>, the first cell is the IRQ offset on this
   TC3589x interrupt controller.

Optional nodes:

- GPIO
  This GPIO module inside the TC3589x has 24 (TC35890, TC35892) or 20
  (other models) GPIO lines.
 - compatible : must be "toshiba,tc3589x-gpio"
 - interrupts : interrupt on the parent, which must be the tc3589x MFD device
 - interrupt-controller : marks the device node as an interrupt controller
 - #interrupt-cells : should be <2>, the first cell is the IRQ offset on this
   TC3589x GPIO interrupt controller, the second cell is the interrupt flags
   in accordance with <dt-bindings/interrupt-controller/irq.h>. The following
   flags are valid:
   - IRQ_TYPE_LEVEL_LOW
   - IRQ_TYPE_LEVEL_HIGH
   - IRQ_TYPE_EDGE_RISING
   - IRQ_TYPE_EDGE_FALLING
   - IRQ_TYPE_EDGE_BOTH
 - gpio-controller : marks the device node as a GPIO controller
 - #gpio-cells : should be <2>, the first cell is the GPIO offset on this
   GPIO controller, the second cell is the flags.

- Keypad
  This keypad is the same on all variants, supporting up to 96 different
  keys. The linux-specific properties are modeled on those already existing
  in other input drivers.
 - compatible : must be "toshiba,tc3589x-keypad"
 - debounce-delay-ms : debounce interval in milliseconds
 - keypad,num-rows : number of rows in the matrix, see
   bindings/input/matrix-keymap.txt
 - keypad,num-columns : number of columns in the matrix, see
   bindings/input/matrix-keymap.txt
 - linux,keymap: the definition can be found in
   bindings/input/matrix-keymap.txt
 - linux,no-autorepeat: do no enable autorepeat feature.
 - linux,wakeup: use any event on keypad as wakeup event.

Example:

tc35893@44 {
	compatible = "toshiba,tc35893";
	reg = <0x44>;
	interrupt-parent = <&gpio6>;
	interrupts = <26 IRQ_TYPE_EDGE_RISING>;

	interrupt-controller;
	#interrupt-cells = <1>;

	tc3589x_gpio {
		compatible = "toshiba,tc3589x-gpio";
		interrupts = <0>;

		interrupt-controller;
		#interrupt-cells = <2>;
		gpio-controller;
		#gpio-cells = <2>;
	};
	tc3589x_keypad {
		compatible = "toshiba,tc3589x-keypad";
		interrupts = <6>;
		debounce-delay-ms = <4>;
		keypad,num-columns = <8>;
		keypad,num-rows = <8>;
		linux,no-autorepeat;
		linux,wakeup;
		linux,keymap = <0x0301006b
				0x04010066
				0x06040072
				0x040200d7
				0x0303006a
				0x0205000e
				0x0607008b
				0x0500001c
				0x0403000b
				0x03040034
				0x05020067
				0x0305006c
				0x040500e7
				0x0005009e
				0x06020073
				0x01030039
				0x07060069
				0x050500d9>;
	};
};
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ Optional properties:
				width of 8 is assumed.

 - ti,nand-ecc-opt:		A string setting the ECC layout to use. One of:
		"sw"		<deprecated> use "ham1" instead
		"sw"		1-bit Hamming ecc code via software
		"hw"		<deprecated> use "ham1" instead
		"hw-romcode"	<deprecated> use "ham1" instead
		"ham1"		1-bit Hamming ecc code
+4 −0
Original line number Diff line number Diff line
@@ -2,6 +2,10 @@

Required properties:
- compatible: should contain "snps,dw-pcie" to identify the core.
- reg: Should contain the configuration address space.
- reg-names: Must be "config" for the PCIe configuration space.
    (The old way of getting the configuration address space from "ranges"
    is deprecated and should be avoided.)
- #address-cells: set to <3>
- #size-cells: set to <2>
- device_type: set to "pci"
+59 −0
Original line number Diff line number Diff line
TI PCI Controllers

PCIe Designware Controller
 - compatible: Should be "ti,dra7-pcie""
 - reg : Two register ranges as listed in the reg-names property
 - reg-names : The first entry must be "ti-conf" for the TI specific registers
	       The second entry must be "rc-dbics" for the designware pcie
	       registers
	       The third entry must be "config" for the PCIe configuration space
 - phys : list of PHY specifiers (used by generic PHY framework)
 - phy-names : must be "pcie-phy0", "pcie-phy1", "pcie-phyN".. based on the
	       number of PHYs as specified in *phys* property.
 - ti,hwmods : Name of the hwmod associated to the pcie, "pcie<X>",
	       where <X> is the instance number of the pcie from the HW spec.
 - interrupts : Two interrupt entries must be specified. The first one is for
		main interrupt line and the second for MSI interrupt line.
 - #address-cells,
   #size-cells,
   #interrupt-cells,
   device_type,
   ranges,
   num-lanes,
   interrupt-map-mask,
   interrupt-map : as specified in ../designware-pcie.txt

Example:
axi {
	compatible = "simple-bus";
	#size-cells = <1>;
	#address-cells = <1>;
	ranges = <0x51000000 0x51000000 0x3000
		  0x0	     0x20000000 0x10000000>;
	pcie@51000000 {
		compatible = "ti,dra7-pcie";
		reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
		reg-names = "rc_dbics", "ti_conf", "config";
		interrupts = <0 232 0x4>, <0 233 0x4>;
		#address-cells = <3>;
		#size-cells = <2>;
		device_type = "pci";
		ranges = <0x81000000 0 0          0x03000 0 0x00010000
			  0x82000000 0 0x20013000 0x13000 0 0xffed000>;
		#interrupt-cells = <1>;
		num-lanes = <1>;
		ti,hwmods = "pcie1";
		phys = <&pcie1_phy>;
		phy-names = "pcie-phy0";
		interrupt-map-mask = <0 0 0 7>;
		interrupt-map = <0 0 0 1 &pcie_intc 1>,
				<0 0 0 2 &pcie_intc 2>,
				<0 0 0 3 &pcie_intc 3>,
				<0 0 0 4 &pcie_intc 4>;
		pcie_intc: interrupt-controller {
			interrupt-controller;
			#address-cells = <0>;
			#interrupt-cells = <1>;
		};
	};
};
Loading