/**
 * @file  gpio-ese.h
 * @brief GPIO API for Fastcall driver(ese)
 *
 * Copyright (c) 2014-2015 Samsung Electronics Co., Ltd.
 *
 * This software is proprietary of Samsung Electronics.
 * No part of this software, either material or conceptual may be copied
 * or distributed, transmitted, transcribed, stored in a retrieval system
 * or translated into any human or computer language in any form by any means,
 * electronic, mechanical, manual or otherwise, or disclosed to third parties
 * without the express written permission of Samsung Electronics.
 */

#ifndef __GPIO_ESE_H__
#define __GPIO_ESE_H__

#ifdef __cplusplus
extern "C" {
#endif

/************************************************************************/
/* GPIO control                                                         */
/************************************************************************/
#define GPIO_HIGH	0x1
#define GPIO_LOW	0x0

#define EBUSY       16  /* Device or resource busy */

enum pm_mode {
	PM_SUSPEND,
	PM_RESUME,
};

/* For TZPC */
uint32_t set_tzpc_ese_secure(uint32_t mode);

/* GPIO */
uint32_t gpio_set_ese_init(enum pm_mode mode);
uint32_t suspend_ese_gpio_regs(uint32_t mode);
uint32_t suspend_ese_gpio_regs_ot(uint32_t mode);
uint32_t resume_ese_gpio_regs(uint32_t mode);
#if TBASE_API_LEVEL >= 5
uint32_t ese_sec_map(void);
#else
uint32_t ese_sec_map(uint32_t virtaddr, size_t size);
#endif

#ifdef __cplusplus
}
#endif

#endif
