162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Platform specific functions 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General 562306a36Sopenharmony_ci * Public License. See the file "COPYING" in the main directory of 662306a36Sopenharmony_ci * this archive for more details. 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Copyright (C) 2001 - 2005 Tensilica Inc. 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#ifndef _XTENSA_PLATFORM_H 1262306a36Sopenharmony_ci#define _XTENSA_PLATFORM_H 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#include <linux/types.h> 1562306a36Sopenharmony_ci#include <asm/bootparam.h> 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/* 1862306a36Sopenharmony_ci * platform_init is called before the mmu is initialized to give the 1962306a36Sopenharmony_ci * platform a early hook-up. bp_tag_t is a list of configuration tags 2062306a36Sopenharmony_ci * passed from the boot-loader. 2162306a36Sopenharmony_ci */ 2262306a36Sopenharmony_ciextern void platform_init(bp_tag_t*); 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci/* 2562306a36Sopenharmony_ci * platform_setup is called from setup_arch with a pointer to the command-line 2662306a36Sopenharmony_ci * string. 2762306a36Sopenharmony_ci */ 2862306a36Sopenharmony_ciextern void platform_setup (char **); 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci/* 3162306a36Sopenharmony_ci * platform_idle is called from the idle function. 3262306a36Sopenharmony_ci */ 3362306a36Sopenharmony_ciextern void platform_idle (void); 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci/* 3662306a36Sopenharmony_ci * platform_calibrate_ccount calibrates cpu clock freq (CONFIG_XTENSA_CALIBRATE) 3762306a36Sopenharmony_ci */ 3862306a36Sopenharmony_ciextern void platform_calibrate_ccount (void); 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci/* 4162306a36Sopenharmony_ci * Flush and reset the mmu, simulate a processor reset, and 4262306a36Sopenharmony_ci * jump to the reset vector. 4362306a36Sopenharmony_ci */ 4462306a36Sopenharmony_civoid cpu_reset(void) __attribute__((noreturn)); 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci#endif /* _XTENSA_PLATFORM_H */ 47