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