pinctrl: mvebu: new driver for Orion platforms

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
clk: mvebu: add Orion5x clock driver

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
memory: mvebu-devbus: fix the conversion of the bus width

According to the Armada 370 and Armada XP datasheets, the part of the
Device Bus register that configure the bus width should contain 0 for
a 8 bits bus width, and 1 for a 16 bits bus width (other values are
unsupported/reserved).

However, the current conversion done in the driver to convert from a
bus width in bits to the value expected by the register leads to
setting the register to 1 for a 8 bits bus, and 2 for a 16 bits bus.

This commit fixes that by adjusting the conversion logic.

This patch fixes a bug that was introduced in
3edad321b1bd2e6c8b5f38146c115c8982438f06 ('drivers: memory: Introduce
Marvell EBU Device Bus driver'), which was merged in v3.11.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: stable@vger.kernel.org
bus: mvebu-devbus: use ARMADA_ prefix in defines

The mvebu-devbus driver currently only supports the Armada 370/XP
family, but it can also cover the Orion5x family. However, the Orion5x
family has a different organization of the register. Therefore, in
preparation to the introduction of Orion5x support, we rename the
Armada 370/XP specific definitions to have an ARMADA_ prefix.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
bus: mvebu-devbus: split functions

The mvebu-devbus driver currently only supports the Armada 370/XP
family, but it can also cover the Orion5x family. However, the Orion5x
family has a different organization of the registers.

Therefore, in preparation to the introduction of Orion5x support, we
separate into two functions the code that 1/ retrieves the timing
parameters from the Device Tree and 2/ applies those timings
parameters into the hardware registers.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
memory: mvebu-devbus: add Orion5x support

This commit adds support for the Orion5x family of Marvell processors
into the mvebu-devbus driver. It differs from the already supported
Armada 370/XP by:

 * Having a single register (instead of two) for doing all the timing
   configuration.

 * Having a few less timing configuration parameters.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: move interrupt controller node into ocp

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: fix target ID for crypto SRAM window

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: switch to preprocessor includes in DT

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: use existing dt-bindings include for Device Tree files

The orion5x-lacie-ethernet-disk-mini-v2.dts can benefit from using
gpio.h and input.h dt-bindings headers to replace hardcoded values by
more meaningful macros.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: convert DT to use the mvebu-mbus driver

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: add interrupt for Ethernet in Device Tree

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: switch to use the clock driver

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion: switch to a per-platform handle_irq() function

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: switch to DT interrupts and timer

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: enable pinctrl driver at SoC level

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: add standard pinctrl configs for sata0 and sata1

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: convert edmini_v2 to DT pinctrl

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: update I2C description at SoC level

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARM: orion5x: use DT to describe I2C devices on edmini_v2

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>