aboutsummaryrefslogtreecommitdiff
path: root/include/linux/sdm.h
blob: 0a75ffbda522b8c1f8fe7a92c0ec43a56bdc574b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
 *  Copyright (C) Intel 2011
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 *
 * The SDM (System Debug Monitor) directs trace data routed from
 * various parts in the system out through the Intel Tangier PTI port and
 * out of the mobile device for analysis with a debugging tool
 * (Lauterbach, Fido). This is part of a solution for the MIPI P1149.7,
 * compact JTAG, standard and USB Debug-Class
 *
 * This header file will allow other parts of the OS to use the
 * interface to write out it's contents for debugging a mobile system.
 */

#ifndef SDM_H_
#define SDM_H_

#ifdef CONFIG_INTEL_PTI_STM
/* the following functions are defined in drivers/misc/stm.c */
int stm_kernel_get_out(void);
int stm_kernel_set_out(int bus_type);
int stm_is_enabled(void);
#else
static inline int stm_kernel_get_out(void) { return -EOPNOTSUPP; };
static inline int stm_kernel_set_out(int bus_type) { return -EOPNOTSUPP; };
static inline int stm_is_enabled(void) { return 0; };
#endif

/* Temporary : To be replace later with dynamic*/
#define STM_NB_IN_PINS                  0

/* STM output configurations */
#define STM_PTI_4BIT_LEGACY                    0
#define STM_PTI_4BIT_NIDNT                     1
#define STM_PTI_16BIT                          2
#define STM_PTI_12BIT                          3
#define STM_PTI_8BIT                           4
#define STM_USB                                15

/* Buffer configurations */
#define DFX_BULK_BUFFER_SIZE		64 /* for Tangier A0 */
#define DFX_BULK_OUT_BUFFER_ADDR	0xF90B0000
#define DFX_BULK_IN_BUFFER_ADDR		0xF90B0000
#define DFX_BULK_IN_BUFFER_ADDR_2	0xF90B0400

#define TRACE_BULK_BUFFER_SIZE		65536 /* revision */
#define TRACE_BULK_IN_BUFFER_ADDR	0xF90A0000 /* revision */

#endif /*SDM_H_*/