blob: 6b775492cfadc07cb568fa77b5c753e0a06e76f0 [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
Robin Holt7b6d8642013-07-08 16:01:40 -070018#include <linux/reboot.h>
19
20void mvebu_restart(enum reboot_mode mode, const char *cmd);
Thomas Petazzoni3f20fb12014-04-14 15:50:28 +020021int mvebu_cpu_reset_deassert(int cpu);
Thomas Petazzoni05ad6902014-04-14 15:53:58 +020022void mvebu_pmsu_set_cpu_boot_addr(int hw_cpu, void *boot_addr);
Gregory CLEMENT00504be2014-04-14 15:54:03 +020023void mvebu_system_controller_set_cpu_boot_addr(void *boot_addr);
Gregory CLEMENT9674d4a2014-06-23 17:42:08 +020024int mvebu_system_controller_get_soc_id(u32 *dev, u32 *rev);
Gregory CLEMENT31af49d2012-06-01 18:21:46 +020025
Gregory CLEMENT6a2b5342014-07-23 15:00:46 +020026void __iomem *mvebu_get_scu_base(void);
27
Gregory CLEMENT3cbd6a62015-07-03 13:55:51 +020028int mvebu_pm_suspend_init(void (*board_pm_enter)(void __iomem *sdram_reg,
29 u32 srcmd));
Gregory CLEMENT31af49d2012-06-01 18:21:46 +020030#endif