blob: e366010e1d91097432383f7c9c6cca7e220a6bc7 [file] [log] [blame]
Gregory CLEMENT31af49d2012-06-01 18:21:46 +02001/*
2 * Core functions for Marvell System On Chip
3 *
4 * Copyright (C) 2012 Marvell
5 *
6 * Lior Amsalem <alior@marvell.com>
7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *
10 * This file is licensed under the terms of the GNU General Public
11 * License version 2. This program is licensed "as is" without any
12 * warranty of any kind, whether express or implied.
13 */
14
15#ifndef __ARCH_MVEBU_COMMON_H
16#define __ARCH_MVEBU_COMMON_H
17
Thomas Petazzonib21dcaf2013-06-05 09:04:54 +020018#define ARMADA_XP_MAX_CPUS 4
19
Robin Holt7b6d8642013-07-08 16:01:40 -070020#include <linux/reboot.h>
21
22void mvebu_restart(enum reboot_mode mode, const char *cmd);
Gregory CLEMENT31af49d2012-06-01 18:21:46 +020023
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020024void armada_370_xp_init_irq(void);
25void armada_370_xp_handle_irq(struct pt_regs *regs);
26
Gregory CLEMENT45f59842012-11-14 22:51:08 +010027void armada_xp_cpu_die(unsigned int cpu);
Gregory CLEMENT009f1312012-08-02 11:16:29 +030028int armada_370_xp_coherency_init(void);
Gregory CLEMENT7444dad2012-08-02 11:17:51 +030029int armada_370_xp_pmsu_init(void);
Gregory CLEMENT45f59842012-11-14 22:51:08 +010030void armada_xp_secondary_startup(void);
31extern struct smp_operations armada_xp_smp_ops;
Gregory CLEMENT31af49d2012-06-01 18:21:46 +020032#endif