Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / linux / pti.h
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 PTI_H_
26 #define 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 /*PTI_H_*/