1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | /* Copyright (C) 2018 Intel Corporation */ |
3 | |
4 | #ifndef __IPU3_TABLES_H |
5 | #define __IPU3_TABLES_H |
6 | |
7 | #include <linux/bitops.h> |
8 | |
9 | #include "ipu3-abi.h" |
10 | |
11 | #define IMGU_BDS_GRANULARITY 32 /* Downscaling granularity */ |
12 | #define IMGU_BDS_MIN_SF_INV IMGU_BDS_GRANULARITY |
13 | #define IMGU_BDS_CONFIG_LEN 97 |
14 | |
15 | #define IMGU_SCALER_DOWNSCALE_4TAPS_LEN 128 |
16 | #define IMGU_SCALER_DOWNSCALE_2TAPS_LEN 64 |
17 | #define IMGU_SCALER_FP BIT(31) /* 1.0 in fixed point */ |
18 | |
19 | #define IMGU_XNR3_VMEM_LUT_LEN 16 |
20 | |
21 | #define IMGU_GDC_LUT_UNIT 4 |
22 | #define IMGU_GDC_LUT_LEN 256 |
23 | |
24 | struct imgu_css_bds_config { |
25 | struct imgu_abi_bds_phase_arr hor_phase_arr; |
26 | struct imgu_abi_bds_phase_arr ver_phase_arr; |
27 | struct imgu_abi_bds_ptrn_arr ptrn_arr; |
28 | u16 sample_patrn_length; |
29 | u8 hor_ds_en; |
30 | u8 ver_ds_en; |
31 | }; |
32 | |
33 | struct imgu_css_xnr3_vmem_defaults { |
34 | s16 x[IMGU_XNR3_VMEM_LUT_LEN]; |
35 | s16 a[IMGU_XNR3_VMEM_LUT_LEN]; |
36 | s16 b[IMGU_XNR3_VMEM_LUT_LEN]; |
37 | s16 c[IMGU_XNR3_VMEM_LUT_LEN]; |
38 | }; |
39 | |
40 | extern const struct imgu_css_bds_config |
41 | imgu_css_bds_configs[IMGU_BDS_CONFIG_LEN]; |
42 | extern const s32 imgu_css_downscale_4taps[IMGU_SCALER_DOWNSCALE_4TAPS_LEN]; |
43 | extern const s32 imgu_css_downscale_2taps[IMGU_SCALER_DOWNSCALE_2TAPS_LEN]; |
44 | extern const s16 imgu_css_gdc_lut[IMGU_GDC_LUT_UNIT][IMGU_GDC_LUT_LEN]; |
45 | extern const struct imgu_css_xnr3_vmem_defaults imgu_css_xnr3_vmem_defaults; |
46 | extern const struct ipu3_uapi_bnr_static_config imgu_css_bnr_defaults; |
47 | extern const struct ipu3_uapi_dm_config imgu_css_dm_defaults; |
48 | extern const struct ipu3_uapi_ccm_mat_config imgu_css_ccm_defaults; |
49 | extern const struct ipu3_uapi_gamma_corr_lut imgu_css_gamma_lut; |
50 | extern const struct ipu3_uapi_csc_mat_config imgu_css_csc_defaults; |
51 | extern const struct ipu3_uapi_cds_params imgu_css_cds_defaults; |
52 | extern const struct ipu3_uapi_shd_config_static imgu_css_shd_defaults; |
53 | extern const struct ipu3_uapi_yuvp1_iefd_config imgu_css_iefd_defaults; |
54 | extern const struct ipu3_uapi_yuvp1_yds_config imgu_css_yds_defaults; |
55 | extern const struct ipu3_uapi_yuvp1_chnr_config imgu_css_chnr_defaults; |
56 | extern const struct ipu3_uapi_yuvp1_y_ee_nr_config imgu_css_y_ee_nr_defaults; |
57 | extern const struct ipu3_uapi_yuvp2_tcc_gain_pcwl_lut_static_config |
58 | imgu_css_tcc_gain_pcwl_lut; |
59 | extern const struct ipu3_uapi_yuvp2_tcc_r_sqr_lut_static_config |
60 | imgu_css_tcc_r_sqr_lut; |
61 | extern const struct imgu_abi_anr_config imgu_css_anr_defaults; |
62 | extern const struct ipu3_uapi_awb_fr_config_s imgu_css_awb_fr_defaults; |
63 | extern const struct ipu3_uapi_ae_grid_config imgu_css_ae_grid_defaults; |
64 | extern const struct ipu3_uapi_ae_ccm imgu_css_ae_ccm_defaults; |
65 | extern const struct ipu3_uapi_af_config_s imgu_css_af_defaults; |
66 | extern const struct ipu3_uapi_awb_config_s imgu_css_awb_defaults; |
67 | |
68 | #endif |
69 |