1
2
3
4
5 #ifndef __SOC_MESON_CANVAS_H
6 #define __SOC_MESON_CANVAS_H
7
8 #include <linux/kernel.h>
9
10 #define MESON_CANVAS_WRAP_NONE 0x00
11 #define MESON_CANVAS_WRAP_X 0x01
12 #define MESON_CANVAS_WRAP_Y 0x02
13
14 #define MESON_CANVAS_BLKMODE_LINEAR 0x00
15 #define MESON_CANVAS_BLKMODE_32x32 0x01
16 #define MESON_CANVAS_BLKMODE_64x64 0x02
17
18 #define MESON_CANVAS_ENDIAN_SWAP16 0x1
19 #define MESON_CANVAS_ENDIAN_SWAP32 0x3
20 #define MESON_CANVAS_ENDIAN_SWAP64 0x7
21 #define MESON_CANVAS_ENDIAN_SWAP128 0xf
22
23 struct device;
24 struct meson_canvas;
25
26
27
28
29
30
31 struct meson_canvas *meson_canvas_get(struct device *dev);
32
33
34
35
36
37
38
39 int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index);
40
41
42
43
44
45
46
47 int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index);
48
49
50
51
52
53
54
55
56
57
58
59
60
61 int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index,
62 u32 addr, u32 stride, u32 height,
63 unsigned int wrap, unsigned int blkmode,
64 unsigned int endian);
65
66 #endif