Commit df863de1 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Jason Cooper

ARM: mvebu: add Armada 375 support to the system-controller driver

The system controller block in the Armada 375 has different register
offsets for the system reset and other related functions. Therefore,
this commit introduces the new "armada-375-system-controller"
compatible string to identify the Armada 375 variant of the system
controller.
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent 798ec443
MVEBU System Controller MVEBU System Controller
----------------------- -----------------------
MVEBU (Marvell SOCs: Armada 370/XP, Dove, mv78xx0, Kirkwood, Orion5x) MVEBU (Marvell SOCs: Armada 370/375/XP, Dove, mv78xx0, Kirkwood, Orion5x)
Required properties: Required properties:
- compatible: one of: - compatible: one of:
- "marvell,orion-system-controller" - "marvell,orion-system-controller"
- "marvell,armada-370-xp-system-controller" - "marvell,armada-370-xp-system-controller"
- "marvell,armada-375-system-controller"
- reg: Should contain system controller registers location and length. - reg: Should contain system controller registers location and length.
Example: Example:
......
/* /*
* System controller support for Armada 370 and XP platforms. * System controller support for Armada 370, 375 and XP platforms.
* *
* Copyright (C) 2012 Marvell * Copyright (C) 2012 Marvell
* *
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* License version 2. This program is licensed "as is" without any * License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied. * warranty of any kind, whether express or implied.
* *
* The Armada 370 and Armada XP SoCs both have a range of * The Armada 370, 375 and Armada XP SoCs have a range of
* miscellaneous registers, that do not belong to a particular device, * miscellaneous registers, that do not belong to a particular device,
* but rather provide system-level features. This basic * but rather provide system-level features. This basic
* system-controller driver provides a device tree binding for those * system-controller driver provides a device tree binding for those
...@@ -47,6 +47,13 @@ static const struct mvebu_system_controller armada_370_xp_system_controller = { ...@@ -47,6 +47,13 @@ static const struct mvebu_system_controller armada_370_xp_system_controller = {
.system_soft_reset = 0x1, .system_soft_reset = 0x1,
}; };
static const struct mvebu_system_controller armada_375_system_controller = {
.rstoutn_mask_offset = 0x54,
.system_soft_reset_offset = 0x58,
.rstoutn_mask_reset_out_en = 0x1,
.system_soft_reset = 0x1,
};
static const struct mvebu_system_controller orion_system_controller = { static const struct mvebu_system_controller orion_system_controller = {
.rstoutn_mask_offset = 0x108, .rstoutn_mask_offset = 0x108,
.system_soft_reset_offset = 0x10c, .system_soft_reset_offset = 0x10c,
...@@ -61,6 +68,9 @@ static const struct of_device_id of_system_controller_table[] = { ...@@ -61,6 +68,9 @@ static const struct of_device_id of_system_controller_table[] = {
}, { }, {
.compatible = "marvell,armada-370-xp-system-controller", .compatible = "marvell,armada-370-xp-system-controller",
.data = (void *) &armada_370_xp_system_controller, .data = (void *) &armada_370_xp_system_controller,
}, {
.compatible = "marvell,armada-375-system-controller",
.data = (void *) &armada_375_system_controller,
}, },
{ /* end of list */ }, { /* end of list */ },
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment