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 __DEBUG_GLOBAL_H_INCLUDED__
17 #define __DEBUG_GLOBAL_H_INCLUDED__
19 #include <type_support.h>
21 #define DEBUG_BUF_SIZE 1024
22 #define DEBUG_BUF_MASK (DEBUG_BUF_SIZE - 1)
24 #define DEBUG_DATA_ENABLE_ADDR 0x00
25 #define DEBUG_DATA_BUF_MODE_ADDR 0x04
26 #define DEBUG_DATA_HEAD_ADDR 0x08
27 #define DEBUG_DATA_TAIL_ADDR 0x0C
28 #define DEBUG_DATA_BUF_ADDR 0x10
30 #define DEBUG_DATA_ENABLE_DDR_ADDR 0x00
31 #define DEBUG_DATA_BUF_MODE_DDR_ADDR HIVE_ISP_DDR_WORD_BYTES
32 #define DEBUG_DATA_HEAD_DDR_ADDR (2 * HIVE_ISP_DDR_WORD_BYTES)
33 #define DEBUG_DATA_TAIL_DDR_ADDR (3 * HIVE_ISP_DDR_WORD_BYTES)
34 #define DEBUG_DATA_BUF_DDR_ADDR (4 * HIVE_ISP_DDR_WORD_BYTES)
36 #define DEBUG_BUFFER_ISP_DMEM_ADDR 0x0
39 * Enable HAS_WATCHDOG_SP_THREAD_DEBUG for additional SP thread and
40 * pipe information on watchdog output
41 * #undef HAS_WATCHDOG_SP_THREAD_DEBUG
42 * #define HAS_WATCHDOG_SP_THREAD_DEBUG
46 * The linear buffer mode will accept data until the first
47 * overflow and then stop accepting new data
48 * The circular buffer mode will accept if there is place
49 * and discard the data if the buffer is full
52 DEBUG_BUFFER_MODE_LINEAR = 0,
53 DEBUG_BUFFER_MODE_CIRCULAR,
62 u32 buf[DEBUG_BUF_SIZE];
65 /* thread.sp.c doesn't have a notion of HIVE_ISP_DDR_WORD_BYTES
66 still one point of control is needed for debug purposes */
68 #ifdef HIVE_ISP_DDR_WORD_BYTES
69 struct debug_data_ddr_s {
71 s8 padding1[HIVE_ISP_DDR_WORD_BYTES - sizeof(uint32_t)];
73 s8 padding2[HIVE_ISP_DDR_WORD_BYTES - sizeof(uint32_t)];
75 s8 padding3[HIVE_ISP_DDR_WORD_BYTES - sizeof(uint32_t)];
77 s8 padding4[HIVE_ISP_DDR_WORD_BYTES - sizeof(uint32_t)];
78 u32 buf[DEBUG_BUF_SIZE];
82 #endif /* __DEBUG_GLOBAL_H_INCLUDED__ */