1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2015, Intel Corporation.
5  */
6 
7 #ifndef _input_selector_defs_h
8 #define _input_selector_defs_h
9 
10 #ifndef HIVE_ISP_ISEL_SEL_BITS
11 #define HIVE_ISP_ISEL_SEL_BITS                                  2
12 #endif
13 
14 #ifndef HIVE_ISP_CH_ID_BITS
15 #define HIVE_ISP_CH_ID_BITS                                     2
16 #endif
17 
18 #ifndef HIVE_ISP_FMT_TYPE_BITS
19 #define HIVE_ISP_FMT_TYPE_BITS                                  5
20 #endif
21 
22 /* gp_register register id's -- Outputs */
23 #define HIVE_ISEL_GP_REGS_SYNCGEN_ENABLE_IDX                    0
24 #define HIVE_ISEL_GP_REGS_SYNCGEN_FREE_RUNNING_IDX              1
25 #define HIVE_ISEL_GP_REGS_SYNCGEN_PAUSE_IDX                     2
26 #define HIVE_ISEL_GP_REGS_SYNCGEN_NR_FRAMES_IDX                 3
27 #define HIVE_ISEL_GP_REGS_SYNCGEN_NR_PIX_IDX                    4
28 #define HIVE_ISEL_GP_REGS_SYNCGEN_NR_LINES_IDX                  5
29 #define HIVE_ISEL_GP_REGS_SYNCGEN_HBLANK_CYCLES_IDX             6
30 #define HIVE_ISEL_GP_REGS_SYNCGEN_VBLANK_CYCLES_IDX             7
31 
32 #define HIVE_ISEL_GP_REGS_SOF_IDX                               8
33 #define HIVE_ISEL_GP_REGS_EOF_IDX                               9
34 #define HIVE_ISEL_GP_REGS_SOL_IDX                              10
35 #define HIVE_ISEL_GP_REGS_EOL_IDX                              11
36 
37 #define HIVE_ISEL_GP_REGS_PRBS_ENABLE                          12
38 #define HIVE_ISEL_GP_REGS_PRBS_ENABLE_PORT_B                   13
39 #define HIVE_ISEL_GP_REGS_PRBS_LFSR_RESET_VALUE                14
40 
41 #define HIVE_ISEL_GP_REGS_TPG_ENABLE                           15
42 #define HIVE_ISEL_GP_REGS_TPG_ENABLE_PORT_B                    16
43 #define HIVE_ISEL_GP_REGS_TPG_HOR_CNT_MASK_IDX                 17
44 #define HIVE_ISEL_GP_REGS_TPG_VER_CNT_MASK_IDX                 18
45 #define HIVE_ISEL_GP_REGS_TPG_XY_CNT_MASK_IDX                  19
46 #define HIVE_ISEL_GP_REGS_TPG_HOR_CNT_DELTA_IDX                20
47 #define HIVE_ISEL_GP_REGS_TPG_VER_CNT_DELTA_IDX                21
48 #define HIVE_ISEL_GP_REGS_TPG_MODE_IDX                         22
49 #define HIVE_ISEL_GP_REGS_TPG_R1_IDX                           23
50 #define HIVE_ISEL_GP_REGS_TPG_G1_IDX                           24
51 #define HIVE_ISEL_GP_REGS_TPG_B1_IDX                           25
52 #define HIVE_ISEL_GP_REGS_TPG_R2_IDX                           26
53 #define HIVE_ISEL_GP_REGS_TPG_G2_IDX                           27
54 #define HIVE_ISEL_GP_REGS_TPG_B2_IDX                           28
55 
56 #define HIVE_ISEL_GP_REGS_CH_ID_IDX                            29
57 #define HIVE_ISEL_GP_REGS_FMT_TYPE_IDX                         30
58 #define HIVE_ISEL_GP_REGS_DATA_SEL_IDX                         31
59 #define HIVE_ISEL_GP_REGS_SBAND_SEL_IDX                        32
60 #define HIVE_ISEL_GP_REGS_SYNC_SEL_IDX                         33
61 #define HIVE_ISEL_GP_REGS_SRST_IDX                             37
62 
63 #define HIVE_ISEL_GP_REGS_SRST_SYNCGEN_BIT                      0
64 #define HIVE_ISEL_GP_REGS_SRST_PRBS_BIT                         1
65 #define HIVE_ISEL_GP_REGS_SRST_TPG_BIT                          2
66 #define HIVE_ISEL_GP_REGS_SRST_FIFO_BIT                         3
67 
68 /* gp_register register id's -- Inputs   */
69 #define HIVE_ISEL_GP_REGS_SYNCGEN_HOR_CNT_IDX                  34
70 #define HIVE_ISEL_GP_REGS_SYNCGEN_VER_CNT_IDX                  35
71 #define HIVE_ISEL_GP_REGS_SYNCGEN_FRAMES_CNT_IDX               36
72 
73 /* irq sources isel irq controller */
74 #define HIVE_ISEL_IRQ_SYNC_GEN_SOF_BIT_ID                       0
75 #define HIVE_ISEL_IRQ_SYNC_GEN_EOF_BIT_ID                       1
76 #define HIVE_ISEL_IRQ_SYNC_GEN_SOL_BIT_ID                       2
77 #define HIVE_ISEL_IRQ_SYNC_GEN_EOL_BIT_ID                       3
78 #define HIVE_ISEL_IRQ_NUM_IRQS                                  4
79 
80 #endif /* _input_selector_defs_h */
81