/*
 *
 * Copyright (C) 2012-2019, Samsung Electronics Co., Ltd.
 *
 * Macros and structure to access hardware devices
 */

#ifndef _DEVICE_H_
#define _DEVICE_H_

/* Device identifiers */
typedef enum {
    DEV_DECON,
    DEV_DECON_WIN,
    DEV_DECON_WINCON,
    DEV_IDMA_SEC,
    DEV_IDMA_COMMON,
    DEV_DPP_SEC,
    DEV_SMMU1,
    DEV_GPA,
    DEV_TUI_FB,
    DEV_TUI_WB,
    MAX_DEVICE_NUM,
    DEV_TUI_NONE /* mmap, munmap without Device identifier */
} devicenum_t;

typedef enum {
    DEV_COMMAND_MODE = 0,
    DEV_VIDEO_MODE,
    DEV_DP_PSR_MODE,
} device_panel_mode_t;

#define DECON_REG(offset)         DEV_REG(DEV_DECON, offset)
#define DECON_WIN_REG(offset)     DEV_REG(DEV_DECON_WIN, offset)
#define DECON_WINCON_REG(offset)  DEV_REG(DEV_DECON_WINCON, offset)
#define IDMA_SEC_REG(offset)      DEV_REG(DEV_IDMA_SEC, offset)
#define IDMA_COMMON_REG(offset)   DEV_REG(DEV_IDMA_COMMON, offset)
#define DPP_SEC_REG(offset)       DEV_REG(DEV_DPP_SEC, offset)
#define SMMU1_REG(offset)         DEV_REG(DEV_SMMU1, offset)
#define GPA_REG(offset)           DEV_REG(DEV_GPA, offset)

#endif /* _DEVICE_H_ */
