1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Support for Intel Camera Imaging ISP subsystem.
4 * Copyright (c) 2015, Intel Corporation.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13 * more details.
14 */
15
16#ifndef __IA_CSS_OB_PARAM_H
17#define __IA_CSS_OB_PARAM_H
18
19#include "type_support.h"
20#include "vmem.h"
21
22#define OBAREA_MASK_SIZE 64
23#define OBAREA_LENGTHBQ_INVERSE_SHIFT     12
24
25/* AREA_LENGTH_UNIT is dependent on NWAY, requires rewrite */
26#define AREA_LENGTH_UNIT BIT(12)
27
28/* OB (Optical Black) */
29struct sh_css_isp_ob_stream_config {
30	unsigned int isp_pipe_version;
31	unsigned int raw_bit_depth;
32};
33
34struct sh_css_isp_ob_params {
35	s32 blacklevel_gr;
36	s32 blacklevel_r;
37	s32 blacklevel_b;
38	s32 blacklevel_gb;
39	s32 area_start_bq;
40	s32 area_length_bq;
41	s32 area_length_bq_inverse;
42};
43
44struct sh_css_isp_ob_vmem_params {
45	VMEM_ARRAY(vmask, OBAREA_MASK_SIZE);
46};
47
48#endif /* __IA_CSS_OB_PARAM_H */
49