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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This commit is contained in:
Thomas Petazzoni 2014-02-17 15:23:22 +01:00 коммит произвёл Jason Cooper
Родитель 798ec443ad
Коммит df863de19f
2 изменённых файлов: 14 добавлений и 3 удалений

Просмотреть файл

@ -1,12 +1,13 @@
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:

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* 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 @@
* 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 = {
.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[] = {
}, { }, {
.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 */ },
}; };