Commit Graph

21 Commits

Author SHA1 Message Date
Olof Johansson
185829efb8 mvebu DT changes for v3.17 (round 2)
- kirkwood
    - Add d2 Network v2 board
 
  - mvebu
    - Add Armada 375 ethernet node
    - Add CA9 MPcore SoC controller node
    - Add support for dynamic freq scaling on Armada XP
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJTyZ0+AAoJEP45WPkGe8ZnuS8P/A9ARBOZHfRAjWY+jFRgiDl4
 eC+e6Iad1J6hQ4oWvK0KKLajvHc7GoPJIX8axFotXfoMEJJePPYM9Ye3TxtFPLU6
 xhiB9yakk4/EFhx0N223P7gBCnpwxEnSTVTKrx3nRVIWlDPfw7kV33JgMiExFXZB
 9idpAAHzvkSGIM4JNRc65YC+Auy3Pe++yLiMaAXwyscA7ucZZouot7MUCHnY+J6M
 BoKec244nMWSk6FzWWx2EEPQ4wTUoNpYh5tM6Y7JV8mtgIKLYe0gTseMQgy7hN2Q
 OnLFluK5jVbSqp0DIYR3Bf2Dw25YKrw9HjI10a4blXoJhu04naU8aVzDsMRZIgPS
 hJyG/V9gPqXoWjkDiCZO4OrksJQOjabP2inthpW6mYeoc+o9Ar1y6gb8TRJMnida
 EM4nf5sus1kJPLNkBhoAtbf7lzGPI0p7po2rrmH9uYzpfWGeLKzkTtudjvZTCaD7
 7jF5lCp9KpOI6gwvSt6CQd0TFiU7F6NVsV7N1kJnCW3HRfgSggxefEkIuRAVMzwd
 U9wvxu3o2XTVHx2DHv/9Oq+hiWiu9lX8s4nQXWBXIEcS+8hq4WbrBz5fKxzm+UQx
 2Jmo/Q6bNPB2oYRVySkLJ8BzG9yG+mQFC7Gj6a/gsoAZTWw9lu/ECCYXQztec70n
 o1jOJwWvn+wF2TcJgTPq
 =3NU7
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-3.17-2' of git://git.infradead.org/linux-mvebu into next/dt

Merge "ARM: mvebu: DT changes for v3.17 (round 2)" from Jason Cooper:

mvebu DT changes for v3.17 (round 2):

 - kirkwood
  * Add d2 Network v2 board

 - mvebu
  * Add Armada 375 ethernet node
  * Add CA9 MPcore SoC controller node
  * Add support for dynamic freq scaling on Armada XP

* tag 'mvebu-dt-3.17-2' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: update Armada XP DT for dynamic frequency scaling
  ARM: mvebu: add CA9 MPcore SoC Controller node
  ARM: mvebu: Enable the network controller in Armada 375 DB board
  ARM: mvebu: Add support for the network controller in Armada 375 SoC
  ARM: Kirkwood: add DT support for d2 Network v2
  ARM: Kirkwood: allow to use netxbig DTSI for d2net_v2 DTS

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-20 12:23:56 -07:00
Gregory CLEMENT
d7f3ec2b69 ARM: mvebu: add CA9 MPcore SoC Controller node
The CA9 MPcore SoC Control block is a set of registers that allows to
configure certain internal aspects of the core blocks of the SoC
(Cortex-A9, L2 cache controller, etc.). In most cases, the default
values are fine so they aren't many reasons to touch those registers,
but there is one exception: to support cpuidle on Armada 38x, we need
to modify the value of the CA9 MPcore Reset Control register.

Therefore, this commit adds a new Device Tree binding for this
hardware block, and uses this new binding for the Armada 38x Device
Tree file.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: devicetree@vger.kernel.org
Link: https://lkml.kernel.org/r/1404913221-17343-11-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-07-16 12:34:22 +00:00
Gregory CLEMENT
8dbdb8e704 ARM: mvebu: Fix the improper use of the compatible string armada38x using a wildcard
Wildcards in compatible strings should be avoid. "marvell,armada38x"
was recently introduced but was not yet used.

The armada 385 SoC is a superset of the armada 380 SoC (with more CPUs
and more PCIe slots). So this patch replaces the use of
"marvell,armada38x" by the "marvell,armada380" string.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1403533011-21339-1-git-send-email-gregory.clement@free-electrons.com
Acked-by: Andrew Lunn <andrew@lunn.ch>
Cc: <stable@vger.kernel.org> # v3.15+
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-06-24 11:33:24 +00:00
Arnd Bergmann
704ef0bd23 Merge tag 'mvebu-dt-3.16-2' of git://git.infradead.org/linux-mvebu into next/dt
Merge "mvebu DT changes for v3.16 (incremental #2)" from Jason Cooper:

 - kirkwood
    - add OpenRD boards
    - make keymile boards bootable with latest kernels

 - mvebu
    - add ehci/xhci to Armada 375/38x boards

* tag 'mvebu-dt-3.16-2' of git://git.infradead.org/linux-mvebu:
  ARM: dts: kirkwood: add kirkwood-km_fixedeth DTS file
  ARM: dts: kirkwood: add kirkwood-km_common DTSI files
  ARM: dts: kirkwood: resynch 98dx4122 dtsi
  ARM: mvebu: add Device Tree description for the EHCI controllers on Armada 375
  ARM: mvebu: add Device Tree description of the xHCI controller on Armada 375
  ARM: mvebu: add Device Tree description of the EHCI controller on Armada 38x
  ARM: mvebu: add Device Tree description of xHCI controllers on Armada 38x
  ARM: Kirkwood: DT versions of OpenRD boards

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-05-23 23:55:29 +02:00
Olof Johansson
61e810d364 mvebu DT changes for v3.16
- kirkwood
     - rework nsa3x0 board to add nsa320
     - large cleanup to facilitate use in barebox
     - guruplug phy updates
     - audio updates for t5325
 
  - mvebu
     - use clocks vice clock-frequency for uart nodes
 
     - armada 375/380/385
        - add watchdog node
        - add coherency fabric
        - add smp support
        - add sdhci
        - add ahci
        - add thermal sensor
 
     - armada 370/XP
        - and pmsu
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJTa6c8AAoJEP45WPkGe8ZnwB8P/0jFC/tWujz/ndmri/lx8+pi
 rRzyuHg2MCG81lAsJD2dvCh1IWqSg4YM3JWGjiqTNDVn526iVnp9FuJ8SmLiursL
 KG0P1CX+uFqXY181DZBi1OFy3bIz2T/brrA48r6tAVoO3IiZ9v5UnaNz/QokCM+Z
 Yrx1d8sSi5i5/1IqycPOS6TpZ9WcKXAgJFPv7FnvPtKnOxWir7lMW609zCdc54yg
 vx/UQiBIMqgsgNYnwHIe4CjRcjgrg6f4i1Y10XHFK++w3vo9B4lZM67FKfv/Lslq
 z7zWC74v5/lA+SBW5Wb9fWqRxdMEcg8AtA1gQ4qc5phMrVSUZwFRp701goCLhf8j
 t9Hmf5fcVoVLGDTpbcoCuXYCD512VwP5/rv3OtrJ8hGiCajt7JegiRd66TgM6YhQ
 awf2Ss3xEWsmDjSijKN4/zJfn9zzCFwRjdsjBrpXDmi8XH73Obt2Hug/koa1rr86
 wFynL2KWkAmetPXFutOkU17zeOPZ4fs/oloCxpRO2jC8gaWLImO0jiCyMFZYEI4K
 bhIQjhD/rGPPnc4QyQ6Zln9f055tSlH/k5jycp2sGvqmbefTGawvLozi11wu1TXa
 aUeT3dRzXiK4qFn54YkgHwRM6Kp/pZMRXeeW9N27at+/CE9TIE1ZfR4jrTiXf7XS
 70CTD4ElIKbA7fI5gXnS
 =qPr0
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-3.16' of git://git.infradead.org/linux-mvebu into next/dt

Merge "ARM: mvebu: DT changes for v3.16" from Jason Cooper:

mvebu DT changes for v3.16

 - kirkwood
    - rework nsa3x0 board to add nsa320
    - large cleanup to facilitate use in barebox
    - guruplug phy updates
    - audio updates for t5325

 - mvebu
    - use clocks vice clock-frequency for uart nodes

    - armada 375/380/385
       - add watchdog node
       - add coherency fabric
       - add smp support
       - add sdhci
       - add ahci
       - add thermal sensor

    - armada 370/XP
       - and pmsu

* tag 'mvebu-dt-3.16' of git://git.infradead.org/linux-mvebu: (35 commits)
  ARM: Kirkwood: t5325: Use simple card to instantiate audio
  ARM: Kirkwood: DT: Add missing #sound-dai-cells property
  ARM: Kirkwood: Add node for audio codec
  ARM: dts: kirkwood: set Guruplug phy-connection-type to rgmii-id
  ARM: dts: kirkwood: set Guruplug ethernet PHY compatible
  ARM: dts: kirkwood: set default pinctrl for I2C1 on 6282
  ARM: dts: kirkwood: set default pinctrl for I2C0
  ARM: dts: kirkwood: set default pinctrl for NAND
  ARM: dts: kirkwood: set default pinctrl for SPI0
  ARM: dts: kirkwood: set default pinctrl for UART0/1
  ARM: dts: kirkwood: set default pinctrl for GBE1
  ARM: dts: kirkwood: consolidate common pinctrl settings
  ARM: dts: kirkwood: add pinctrl node to common SoC include
  ARM: dts: kirkwood: rename pin-controller nodes
  ARM: dts: kirkwood: remove clock-frequency properties from UART nodes
  ARM: dts: kirkwood: add stdout-path property to all boards
  ARM: dts: kirkwood: add node labels
  ARM: mvebu: Enable the thermal sensor in Armada 380/385 SoC
  ARM: mvebu: Enable the thermal sensor in Armada 375 SoC
  ARM: mvebu: don't use clocks property in UART node for Netgear RN2120
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-05-19 21:55:03 -07:00
Gregory CLEMENT
9e81775af4 ARM: mvebu: add Device Tree description of the EHCI controller on Armada 38x
The Marvell Armada 38x SoCs contains one EHCI controller. This commit
adds the Device Tree description of this interface at the SoC level,
and also enables the USB2 port on the Armada 385 DB platform.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1400149062-32661-16-git-send-email-gregory.clement@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-05-16 05:49:38 +00:00
Gregory CLEMENT
87e2fc3750 ARM: mvebu: add Device Tree description of xHCI controllers on Armada 38x
The Marvell Armada 38x SoCs contains two xHCI controllers. This commit
adds the Device Tree description of those interfaces at the SoC level,
and also enables the two USB3 ports on the Armada 385 DB platform and
one USB3 port on the Armada 385 RD platform.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1400149062-32661-15-git-send-email-gregory.clement@free-electrons.com
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-05-16 05:49:26 +00:00
Ezequiel Garcia
c630829a98 ARM: mvebu: Enable the thermal sensor in Armada 380/385 SoC
This commit enables the thermal sensor found in Armada 380/385 SoCs.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Link: https://lkml.kernel.org/r/1398371004-15807-11-git-send-email-ezequiel.garcia@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-04-28 16:51:35 +00:00
Thomas Petazzoni
64939dc5bf ARM: mvebu: use clocks property for serial ports
Back when the Armada 370 and Armada XP initial support was introduced,
the only way to pass the clock frequency to the of_serial driver was
through a clock-frequency Device Tree property.

Thanks to 0bbeb3c3e8 ('of serial port
driver - add clk_get_rate() support'), it is possible to use the
standard 'clocks' DT property to reference the clock used for a
particular UART controller. This clock is then used by the of_serial
driver to retrieve the clock rate.

This commit modifies the SoC-level Device Tree files of Armada 370,
Armada XP, Armada 375 and Armada 38x to use this possibility. Since
there is no gatable clock for the UART controllers, we simply
reference the TCLK, which is the main SoC clock for the peripherals.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1397806908-7550-4-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-04-26 00:34:33 +00:00
Thomas Petazzoni
d175b6e494 ARM: mvebu: add Device Tree description of AHCI interfaces on Armada 38x
The Marvell Armada 38x processors contain two AHCI compatible
interfaces. This commit adds the Device Tree description of those
interfaces at the SoC level, and also enables them on the Armada 385
DB platform, which allows access to both interfaces through SATA
ports.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1397574006-5868-4-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-04-26 00:26:36 +00:00
Thomas Petazzoni
6eccc52b44 ARM: mvebu: enable the SDHCI interface on Armada 385
In commit "mmc: sdhci-pxav3: add support for the Armada 38x SDHCI
controller", the sdhci-pxav3 driver has been extended to also be
usable on Armada 38x platforms.

Therefore, this commit adds the necessary Device Tree informations to
declare this SDHCI interface in the Armada 38x SoC, and also in the
Armada 385 Development Board.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lkml.kernel.org/r/1397486478-16991-2-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-04-25 21:30:08 +00:00
Thomas Petazzoni
19b06d7fd0 ARM: mvebu: add SMP support in the Armada 38x device tree
This commit improves the Armada 38x Device Tree to add the CPU reset
and PMSU Device Tree nodes as well as the declaration of the enabling
method for the CPUs. These are needed to get SMP working on Armada 38x
platforms.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1397483648-26611-12-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-04-24 05:50:15 +00:00
Thomas Petazzoni
964a6156d3 ARM: mvebu: enable the coherency fabric on Armada 38x
This commit adds the necessary Device Tree information to enable the
coherency fabric on Armada 38x.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1397483228-25625-11-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-04-24 05:06:33 +00:00
Ezequiel Garcia
153a964a79 ARM: mvebu: Enable Armada 380/385 watchdog in the devicetree
Add the DT nodes to enable the watchdog support available on
Armada 380/385 SoC.

Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Link: https://lkml.kernel.org/r/1397481813-4962-9-git-send-email-ezequiel.garcia@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-04-24 04:49:53 +00:00
Thomas Petazzoni
33faf20b8e ARM: mvebu: ensure the mdio node has a clock reference on Armada 38x
The mvmdio driver accesses some register of the Ethernet unit. It
therefore takes a reference and enables a clock. However, on Armada
38x, no clock specification was given in the Device Tree, which leads
the mvmdio driver to fail when being used as a module and loaded
before the mvneta driver: it tries to access a register from a
hardware unit that isn't clocked.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1395790439-21332-3-git-send-email-thomas.petazzoni@free-electrons.com
Acked-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-04-07 17:23:56 +00:00
Ezequiel Garcia
93b5577e50 ARM: mvebu: Add support for NAND controller in Armada 38x SoC
The Armada 38x SoC family has a NAND controller, compatible
with the controller in Armada 370/375/XP SoCs. Add support for
it in the devicetree file.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Link: https://lkml.kernel.org/r/1394742273-5113-5-git-send-email-ezequiel.garcia@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-03-13 23:37:16 +00:00
Ezequiel Garcia
d6bd4b4cb3 ARM: mvebu: Add the Core Divider clock to Armada 38x SoCs
The Armada 38x SoC family has a clock provider called "Core Divider",
derived from the fixed 2 GHz main PLL clock. This is similar to the
one on A370, A375 and AXP.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Link: https://lkml.kernel.org/r/1394742273-5113-4-git-send-email-ezequiel.garcia@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-03-13 23:37:16 +00:00
Ezequiel Garcia
5bc94c992a ARM: mvebu: Add a 2 GHz fixed-clock on Armada 38x SoCs
Armada 38x SoCs have a 2 GHz fixed main PLL that is used to feed
other clocks. This commit adds a DT representation of this clock
through a fixed-clock compatible node.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Link: https://lkml.kernel.org/r/1394742273-5113-3-git-send-email-ezequiel.garcia@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-03-13 23:37:15 +00:00
Thomas Petazzoni
d11548e311 ARM: mvebu: use macros for interrupt flags on Armada 375/38x
Instead of hardcoding the values of the interrupt flags, use the
macros provided by <include/dt-bindings/interrupt-controller/irq.h>
and <include/dt-bindings/interrupt-controller/arm-gic.h> for the
Armada 375 and Armada 38x Device Tree files.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-02-22 04:11:03 +00:00
Thomas Petazzoni
f327d43da1 ARM: mvebu: use GIC_{SPI,PPI} in Armada 375/38x DTs
Instead of hardcoding 0 and 1 to indicate SPI and PPI GIC interrupts,
use the definitions of <dt-bindings/interrupt-controller/arm-gic.h> to
clarify the Device Tree code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-02-22 04:10:52 +00:00
Thomas Petazzoni
0d3d96ab00 ARM: mvebu: add Device Tree description of the Armada 380/385 SoCs
The Armada 380 and 385 SoCs are new SoCs from Marvell, based on a
Cortex-A9 cores (single core for 380, dual core for 385) and a number
of hardware blocks that are common with earlier SoCs from the mvebu
family.

The provided Device Tree describes the following parts of the SoC:

 * CPU
 * Device Bus
 * Clocks
 * Interrupt controllers: GIC and MPIC
 * GPIO controllers
 * I2C buses
 * L2 cache
 * MBus controller
 * Pinctrl
 * Serial
 * SPI buses
 * System controller (for reboot)
 * Timer
 * XOR engines
 * PCIe controllers
 * Network interfaces

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-02-17 22:50:20 +00:00