aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/exynos/rotator/rotator-regs.h
blob: a60341701370401830440fc5418994f41eba9ff7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Register header file for Exynos Rotator driver
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

/* Configuration */
#define ROTATOR_CONFIG				0x00
#define ROTATOR_CONFIG_IRQ_ILLEGAL		(1 << 9)
#define ROTATOR_CONFIG_IRQ_DONE			(1 << 8)

/* Image0 Control */
#define ROTATOR_CONTROL				0x10
#define ROTATOR_CONTROL_PATTERN_WRITE		(1 << 16)
#define ROTATOR_CONTROL_FMT_YCBCR420_3P		(0 << 8)
#define ROTATOR_CONTROL_FMT_YCBCR420_2P		(1 << 8)
#define ROTATOR_CONTROL_FMT_YCBCR422		(3 << 8)
#define ROTATOR_CONTROL_FMT_RGB565		(4 << 8)
#define ROTATOR_CONTROL_FMT_RGB888		(6 << 8)
#define ROTATOR_CONTROL_FMT_MASK		(7 << 8)
#define ROTATOR_CONTROL_FLIP_V			(2 << 6)
#define ROTATOR_CONTROL_FLIP_H			(3 << 6)
#define ROTATOR_CONTROL_FLIP_MASK		(3 << 6)
#define ROTATOR_CONTROL_ROT_90			(1 << 4)
#define ROTATOR_CONTROL_ROT_180			(2 << 4)
#define ROTATOR_CONTROL_ROT_270			(3 << 4)
#define ROTATOR_CONTROL_ROT_MASK		(3 << 4)
#define ROTATOR_CONTROL_START			(1 << 0)

/* Status */
#define ROTATOR_STATUS				0x20
#define ROTATOR_STATUS_IRQ_PENDING(x)		(1 << (x))
#define ROTATOR_STATUS_IRQ(x)			(((x) >> 8) & 0x3)
#define ROTATOR_STATUS_MASK			(3 << 0)

/* Sourc Image Base Address */
#define ROTATOR_SRC_IMG_ADDR(n)			(0x30 + ((n) << 2))

/* Source Image X,Y Size */
#define ROTATOR_SRCIMG				0x3c
#define ROTATOR_SRCIMG_YSIZE(x)			((x) << 16)
#define ROTATOR_SRCIMG_XSIZE(x)			((x) << 0)

/* Source Image X,Y Coordinates */
#define ROTATOR_SRC				0x40
#define ROTATOR_SRC_Y(x)			((x) << 16)
#define ROTATOR_SRC_X(x)			((x) << 0)

/* Source Image Rotation Size */
#define ROTATOR_SRCROT				0x44
#define ROTATOR_SRCROT_YSIZE(x)			((x) << 16)
#define ROTATOR_SRCROT_XSIZE(x)			((x) << 0)

/* Destination Image Base Address */
#define ROTATOR_DST_IMG_ADDR(n)			(0x50 + ((n) << 2))

/* Destination Image X,Y Size */
#define ROTATOR_DSTIMG				0x5c
#define ROTATOR_DSTIMG_YSIZE(x)			((x) << 16)
#define ROTATOR_DSTIMG_XSIZE(x)			((x) << 0)

/* Destination Image X,Y Coordinates */
#define ROTATOR_DST				0x60
#define ROTATOR_DST_Y(x)			((x) << 16)
#define ROTATOR_DST_X(x)			((x) << 0)