#ifndef __LINUX_MSM_JPEG_H
#define __LINUX_MSM_JPEG_H

#include <linux/types.h>
#include <linux/ioctl.h>

#define OUTPUT_H2V1  0
#define OUTPUT_H2V2  1
#define OUTPUT_BYTE  6

#define MSM_JPEG_IOCTL_MAGIC 'g'

#define MSM_JPEG_IOCTL_GET_HW_VERSION \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 1, struct msm_jpeg_hw_cmd *)

#define MSM_JPEG_IOCTL_RESET \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 2, struct msm_jpeg_ctrl_cmd *)

#define MSM_JPEG_IOCTL_STOP \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 3, struct msm_jpeg_hw_cmds *)

#define MSM_JPEG_IOCTL_START \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 4, struct msm_jpeg_hw_cmds *)

#define MSM_JPEG_IOCTL_INPUT_BUF_ENQUEUE \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 5, struct msm_jpeg_buf *)

#define MSM_JPEG_IOCTL_INPUT_GET \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 6, struct msm_jpeg_buf *)

#define MSM_JPEG_IOCTL_INPUT_GET_UNBLOCK \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 7, int)

#define MSM_JPEG_IOCTL_OUTPUT_BUF_ENQUEUE \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 8, struct msm_jpeg_buf *)

#define MSM_JPEG_IOCTL_OUTPUT_GET \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 9, struct msm_jpeg_buf *)

#define MSM_JPEG_IOCTL_OUTPUT_GET_UNBLOCK \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 10, int)

#define MSM_JPEG_IOCTL_EVT_GET \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 11, struct msm_jpeg_ctrl_cmd *)

#define MSM_JPEG_IOCTL_EVT_GET_UNBLOCK \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 12, int)

#define MSM_JPEG_IOCTL_HW_CMD \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 13, struct msm_jpeg_hw_cmd *)

#define MSM_JPEG_IOCTL_HW_CMDS \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 14, struct msm_jpeg_hw_cmds *)

#define MSM_JPEG_IOCTL_TEST_DUMP_REGION \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 15, unsigned long)

#define MSM_JPEG_IOCTL_SET_CLK_RATE \
	_IOW(MSM_JPEG_IOCTL_MAGIC, 16, unsigned long)

#define MSM_JPEG_MODE_REALTIME_ENCODE 0
#define MSM_JPEG_MODE_OFFLINE_ENCODE 1
#define MSM_JPEG_MODE_REALTIME_ROTATION 2
#define MSM_JPEG_MODE_OFFLINE_ROTATION 3

struct msm_jpeg_ctrl_cmd {
	uint32_t type;
	uint32_t len;
	void     *value;
};

#define MSM_JPEG_EVT_RESET 0
#define MSM_JPEG_EVT_SESSION_DONE	1
#define MSM_JPEG_EVT_ERR 2

struct msm_jpeg_buf {
	uint32_t type;
	int      fd;

	void     *vaddr;

	uint32_t y_off;
	uint32_t y_len;
	uint32_t framedone_len;

	uint32_t cbcr_off;
	uint32_t cbcr_len;

	uint32_t num_of_mcu_rows;
	uint32_t offset;
	uint32_t pln2_off;
	uint32_t pln2_len;
};

#define MSM_JPEG_HW_CMD_TYPE_READ      0
#define MSM_JPEG_HW_CMD_TYPE_WRITE     1
#define MSM_JPEG_HW_CMD_TYPE_WRITE_OR  2
#define MSM_JPEG_HW_CMD_TYPE_UWAIT     3
#define MSM_JPEG_HW_CMD_TYPE_MWAIT     4
#define MSM_JPEG_HW_CMD_TYPE_MDELAY    5
#define MSM_JPEG_HW_CMD_TYPE_UDELAY    6
struct msm_jpeg_hw_cmd {

	uint32_t type:4;

	/* n microseconds of timeout for WAIT */
	/* n microseconds of time for DELAY */
	/* repeat n times for READ/WRITE */
	/* max is 0xFFF, 4095 */
	uint32_t n:12;
	uint32_t offset:16;
	uint32_t mask;
	union {
		uint32_t data;   /* for single READ/WRITE/WAIT, n = 1 */
		uint32_t *pdata;   /* for multiple READ/WRITE/WAIT, n > 1 */
	};
};

struct msm_jpeg_hw_cmds {
	uint32_t m; /* number of elements in the hw_cmd array */
	struct msm_jpeg_hw_cmd hw_cmd[1];
};

#endif /* __LINUX_MSM_JPEG_H */
