1*e3185e1dSPaul Kocialkowski /* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR MIT) */
2*e3185e1dSPaul Kocialkowski /*
3*e3185e1dSPaul Kocialkowski  * Allwinner A31 ISP Configuration
4*e3185e1dSPaul Kocialkowski  */
5*e3185e1dSPaul Kocialkowski 
6*e3185e1dSPaul Kocialkowski #ifndef _UAPI_SUN6I_ISP_CONFIG_H
7*e3185e1dSPaul Kocialkowski #define _UAPI_SUN6I_ISP_CONFIG_H
8*e3185e1dSPaul Kocialkowski 
9*e3185e1dSPaul Kocialkowski #include <linux/types.h>
10*e3185e1dSPaul Kocialkowski 
11*e3185e1dSPaul Kocialkowski #define V4L2_META_FMT_SUN6I_ISP_PARAMS v4l2_fourcc('S', '6', 'I', 'P') /* Allwinner A31 ISP Parameters */
12*e3185e1dSPaul Kocialkowski 
13*e3185e1dSPaul Kocialkowski #define SUN6I_ISP_MODULE_BAYER			(1U << 0)
14*e3185e1dSPaul Kocialkowski #define SUN6I_ISP_MODULE_BDNF			(1U << 1)
15*e3185e1dSPaul Kocialkowski 
16*e3185e1dSPaul Kocialkowski struct sun6i_isp_params_config_bayer {
17*e3185e1dSPaul Kocialkowski 	__u16	offset_r;
18*e3185e1dSPaul Kocialkowski 	__u16	offset_gr;
19*e3185e1dSPaul Kocialkowski 	__u16	offset_gb;
20*e3185e1dSPaul Kocialkowski 	__u16	offset_b;
21*e3185e1dSPaul Kocialkowski 
22*e3185e1dSPaul Kocialkowski 	__u16	gain_r;
23*e3185e1dSPaul Kocialkowski 	__u16	gain_gr;
24*e3185e1dSPaul Kocialkowski 	__u16	gain_gb;
25*e3185e1dSPaul Kocialkowski 	__u16	gain_b;
26*e3185e1dSPaul Kocialkowski };
27*e3185e1dSPaul Kocialkowski 
28*e3185e1dSPaul Kocialkowski struct sun6i_isp_params_config_bdnf {
29*e3185e1dSPaul Kocialkowski 	__u8	in_dis_min;
30*e3185e1dSPaul Kocialkowski 	__u8	in_dis_max;
31*e3185e1dSPaul Kocialkowski 
32*e3185e1dSPaul Kocialkowski 	__u8	coefficients_g[7];
33*e3185e1dSPaul Kocialkowski 	__u8	coefficients_rb[5];
34*e3185e1dSPaul Kocialkowski };
35*e3185e1dSPaul Kocialkowski 
36*e3185e1dSPaul Kocialkowski struct sun6i_isp_params_config {
37*e3185e1dSPaul Kocialkowski 	__u32					modules_used;
38*e3185e1dSPaul Kocialkowski 
39*e3185e1dSPaul Kocialkowski 	struct sun6i_isp_params_config_bayer	bayer;
40*e3185e1dSPaul Kocialkowski 	struct sun6i_isp_params_config_bdnf	bdnf;
41*e3185e1dSPaul Kocialkowski };
42*e3185e1dSPaul Kocialkowski 
43*e3185e1dSPaul Kocialkowski #endif /* _UAPI_SUN6I_ISP_CONFIG_H */
44