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

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
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:
+12 −2
Original line number Original line Diff line number Diff line
/*
/*
 * 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 */ },
};
};