xref: /linux/drivers/gpu/drm/sun4i/sun8i_csc.h (revision 6dfafbd0299a60bfb5d5e277fdf100037c7ded07)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright (C) Jernej Skrabec <jernej.skrabec@siol.net>
4  */
5 
6 #ifndef _SUN8I_CSC_H_
7 #define _SUN8I_CSC_H_
8 
9 #include <drm/drm_color_mgmt.h>
10 
11 struct drm_plane_state;
12 struct sun8i_layer;
13 
14 /* VI channel CSC units offsets */
15 #define CCSC00_OFFSET 0xAA050
16 #define CCSC01_OFFSET 0xFA050
17 #define CCSC01_D1_OFFSET 0xFA000
18 #define CCSC10_OFFSET 0xA0000
19 #define CCSC11_OFFSET 0xF0000
20 
21 #define SUN8I_CSC_CTRL(base)		((base) + 0x0)
22 #define SUN8I_CSC_COEFF(base, i)	((base) + 0x10 + 4 * (i))
23 
24 #define SUN8I_CSC_CTRL_EN		BIT(0)
25 
26 void sun8i_csc_config(struct sun8i_layer *layer,
27 		      struct drm_plane_state *state);
28 
29 #endif
30