1 /*
2  *  Copyright (C) Intel 2011
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14  *
15  * The PTI (Parallel Trace Interface) driver directs trace data routed from
16  * various parts in the system out through the Intel Penwell PTI port and
17  * out of the mobile device for analysis with a debugging tool
18  * (Lauterbach, Fido). This is part of a solution for the MIPI P1149.7,
19  * compact JTAG, standard.
20  *
21  * This header file will allow other parts of the OS to use the
22  * interface to write out it's contents for debugging a mobile system.
23  */
24 
25 #ifndef LINUX_INTEL_PTI_H_
26 #define LINUX_INTEL_PTI_H_
27 
28 /* offset for last dword of any PTI message. Part of MIPI P1149.7 */
29 #define PTI_LASTDWORD_DTS	0x30
30 
31 /* basic structure used as a write address to the PTI HW */
32 struct pti_masterchannel {
33 	u8 master;
34 	u8 channel;
35 };
36 
37 /* the following functions are defined in misc/pti.c */
38 void pti_writedata(struct pti_masterchannel *mc, u8 *buf, int count);
39 struct pti_masterchannel *pti_request_masterchannel(u8 type,
40 						    const char *thread_name);
41 void pti_release_masterchannel(struct pti_masterchannel *mc);
42 
43 #endif /* LINUX_INTEL_PTI_H_ */
44