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

Commit 0c0029cb authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'mvebu_everything_for_3.8' of git://git.infradead.org/users/jcooper/linux into late/mvebu

From Jason Cooper. Unfortunately this is a combined branch with all
mvebu code as one drop, something we normally try to avoid and instead
slice vendor topics across our branches. Hopefully we can avoid doing
this again for 3.9!

mvebu everything for v3.8
 - due to the complex interdependencies of the received pull requests
   I decided to keep this in one branch the way they recommended merging it
 - this was their first attempt at doing pull requests, we'll work on it
   with them

 - added SMP support for mvebu SoCs
 - added coherency fabric
 - added mdio and mvneta drivers
 - added mirabox board
 - added openblocks ax3-4 board
 - clock fixes and improvements
 - converted mv_xor driver to devicetree (extensive series in itself)

* tag 'mvebu_everything_for_3.8' of git://git.infradead.org/users/jcooper/linux

: (85 commits)
  dma: mv_xor: fix error handling path
  dma: mv_xor: fix error checking of irq_of_parse_and_map()
  dma: mv_xor: use request_irq() instead of devm_request_irq()
  dma: mv_xor: clear the window override control registers
  arm: mvebu: fix address decoding armada_cfg_base() function
  ARM: mvebu: update defconfig with I2C and RTC support
  ARM: mvebu: Add SATA support for OpenBlocks AX3-4
  ARM: mvebu: Add support for the RTC in OpenBlocks AX3-4
  ARM: mvebu: Add support for I2C on OpenBlocks AX3-4
  ARM: mvebu: Add support for I2C controllers in Armada 370/XP
  arm: mvebu: Add hardware I/O Coherency support
  arm: plat-orion: Add coherency attribute when setup mbus target
  arm: dma mapping: Export a dma ops function arm_dma_set_mask
  arm: mvebu: Add SMP support for Armada XP
  arm: mm: Add support for PJ4B cpu and init routines
  arm: mvebu: Add IPI support via doorbells
  arm: mvebu: Add initial support for power managmement service unit
  arm: mvebu: Add support for coherency fabric in mach-mvebu
  arm: mvebu: update defconfig to include XOR driver
  arm: mvebu: update defconfig to include network driver
  ...

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 9489e9dc 56580bb4
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -6,9 +6,15 @@ Required properties:
- interrupt-controller: Identifies the node as an interrupt controller.
- #interrupt-cells: The number of cells to define the interrupts. Should be 1.
  The cell is the IRQ number

- reg: Should contain PMIC registers location and length. First pair
  for the main interrupt registers, second pair for the per-CPU
  interrupt registers
  interrupt registers. For this last pair, to be compliant with SMP
  support, the "virtual" must be use (For the record, these registers
  automatically map to the interrupt controller registers of the
  current CPU)



Example:

@@ -18,6 +24,6 @@ Example:
              #address-cells = <1>;
              #size-cells = <1>;
              interrupt-controller;
              reg = <0xd0020000 0x1000>,
                    <0xd0021000 0x1000>;
              reg = <0xd0020a00 0x1d0>,
                    <0xd0021070 0x58>;
        };
+20 −0
Original line number Diff line number Diff line
Power Management Service Unit(PMSU)
-----------------------------------
Available on Marvell SOCs: Armada 370 and Armada XP

Required properties:

- compatible: "marvell,armada-370-xp-pmsu"

- reg: Should contain PMSU registers location and length. First pair
  for the per-CPU SW Reset Control registers, second pair for the
  Power Management Service Unit.

Example:

armada-370-xp-pmsu@d0022000 {
	compatible = "marvell,armada-370-xp-pmsu";
	reg = <0xd0022100 0x430>,
	      <0xd0020800 0x20>;
};
+1 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ Required properties:
- compatible: Should be "marvell,armada-370-xp-timer"
- interrupts: Should contain the list of Global Timer interrupts
- reg: Should contain the base address of the Global Timer registers
- clocks: clock driving the timer hardware

Optional properties:
- marvell,timer-25Mhz: Tells whether the Global timer supports the 25
+21 −0
Original line number Diff line number Diff line
Coherency fabric
----------------
Available on Marvell SOCs: Armada 370 and Armada XP

Required properties:

- compatible: "marvell,coherency-fabric"

- reg: Should contain coherency fabric registers location and
  length. First pair for the coherency fabric registers, second pair
  for the per-CPU fabric registers registers.

Example:

coherency-fabric@d0020200 {
	compatible = "marvell,coherency-fabric";
	reg = <0xd0020200 0xb0>,
		<0xd0021810 0x1c>;

};
+47 −0
Original line number Diff line number Diff line
* Core Clock bindings for Marvell MVEBU SoCs

Marvell MVEBU SoCs usually allow to determine core clock frequencies by
reading the Sample-At-Reset (SAR) register. The core clock consumer should
specify the desired clock by having the clock ID in its "clocks" phandle cell.

The following is a list of provided IDs and clock names on Armada 370/XP:
 0 = tclk    (Internal Bus clock)
 1 = cpuclk  (CPU clock)
 2 = nbclk   (L2 Cache clock)
 3 = hclk    (DRAM control clock)
 4 = dramclk (DDR clock)

The following is a list of provided IDs and clock names on Kirkwood and Dove:
 0 = tclk   (Internal Bus clock)
 1 = cpuclk (CPU0 clock)
 2 = l2clk  (L2 Cache clock derived from CPU0 clock)
 3 = ddrclk (DDR controller clock derived from CPU0 clock)

Required properties:
- compatible : shall be one of the following:
	"marvell,armada-370-core-clock" - For Armada 370 SoC core clocks
	"marvell,armada-xp-core-clock" - For Armada XP SoC core clocks
	"marvell,dove-core-clock" - for Dove SoC core clocks
	"marvell,kirkwood-core-clock" - for Kirkwood SoC (except mv88f6180)
	"marvell,mv88f6180-core-clock" - for Kirkwood MV88f6180 SoC
- reg : shall be the register address of the Sample-At-Reset (SAR) register
- #clock-cells : from common clock binding; shall be set to 1

Optional properties:
- clock-output-names : from common clock binding; allows overwrite default clock
	output names ("tclk", "cpuclk", "l2clk", "ddrclk")

Example:

core_clk: core-clocks@d0214 {
	compatible = "marvell,dove-core-clock";
	reg = <0xd0214 0x4>;
	#clock-cells = <1>;
};

spi0: spi@10600 {
	compatible = "marvell,orion-spi";
	/* ... */
	/* get tclk from core clock provider */
	clocks = <&core_clk 0>;
};
Loading