162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Core functions for Marvell System On Chip
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2012 Marvell
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Lior Amsalem <alior@marvell.com>
862306a36Sopenharmony_ci * Gregory CLEMENT <gregory.clement@free-electrons.com>
962306a36Sopenharmony_ci * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#ifndef __ARCH_MVEBU_COMMON_H
1362306a36Sopenharmony_ci#define __ARCH_MVEBU_COMMON_H
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#include <linux/reboot.h>
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_civoid mvebu_restart(enum reboot_mode mode, const char *cmd);
1862306a36Sopenharmony_ciint mvebu_cpu_reset_deassert(int cpu);
1962306a36Sopenharmony_civoid mvebu_pmsu_set_cpu_boot_addr(int hw_cpu, void *boot_addr);
2062306a36Sopenharmony_civoid mvebu_system_controller_set_cpu_boot_addr(void *boot_addr);
2162306a36Sopenharmony_ciint mvebu_system_controller_get_soc_id(u32 *dev, u32 *rev);
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_civoid __iomem *mvebu_get_scu_base(void);
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciint mvebu_pm_suspend_init(void (*board_pm_enter)(void __iomem *sdram_reg,
2662306a36Sopenharmony_ci							u32 srcmd));
2762306a36Sopenharmony_ci#endif
28