diff options
Diffstat (limited to 'arch/arm/include/asm/fiq_debugger.h')
-rw-r--r-- | arch/arm/include/asm/fiq_debugger.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/arch/arm/include/asm/fiq_debugger.h b/arch/arm/include/asm/fiq_debugger.h new file mode 100644 index 00000000000..4d274883ba6 --- /dev/null +++ b/arch/arm/include/asm/fiq_debugger.h | |||
@@ -0,0 +1,64 @@ | |||
1 | /* | ||
2 | * arch/arm/include/asm/fiq_debugger.h | ||
3 | * | ||
4 | * Copyright (C) 2010 Google, Inc. | ||
5 | * Author: Colin Cross <ccross@android.com> | ||
6 | * | ||
7 | * This software is licensed under the terms of the GNU General Public | ||
8 | * License version 2, as published by the Free Software Foundation, and | ||
9 | * may be copied, distributed, and modified under those terms. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | */ | ||
17 | |||
18 | #ifndef _ARCH_ARM_MACH_TEGRA_FIQ_DEBUGGER_H_ | ||
19 | #define _ARCH_ARM_MACH_TEGRA_FIQ_DEBUGGER_H_ | ||
20 | |||
21 | #include <linux/serial_core.h> | ||
22 | |||
23 | #define FIQ_DEBUGGER_NO_CHAR NO_POLL_CHAR | ||
24 | #define FIQ_DEBUGGER_BREAK 0x00ff0100 | ||
25 | |||
26 | #define FIQ_DEBUGGER_FIQ_IRQ_NAME "fiq" | ||
27 | #define FIQ_DEBUGGER_SIGNAL_IRQ_NAME "signal" | ||
28 | #define FIQ_DEBUGGER_WAKEUP_IRQ_NAME "wakeup" | ||
29 | |||
30 | /** | ||
31 | * struct fiq_debugger_pdata - fiq debugger platform data | ||
32 | * @uart_resume: used to restore uart state right before enabling | ||
33 | * the fiq. | ||
34 | * @uart_enable: Do the work necessary to communicate with the uart | ||
35 | * hw (enable clocks, etc.). This must be ref-counted. | ||
36 | * @uart_disable: Do the work necessary to disable the uart hw | ||
37 | * (disable clocks, etc.). This must be ref-counted. | ||
38 | * @uart_dev_suspend: called during PM suspend, generally not needed | ||
39 | * for real fiq mode debugger. | ||
40 | * @uart_dev_resume: called during PM resume, generally not needed | ||
41 | * for real fiq mode debugger. | ||
42 | */ | ||
43 | struct fiq_debugger_pdata { | ||
44 | int (*uart_init)(struct platform_device *pdev); | ||
45 | void (*uart_free)(struct platform_device *pdev); | ||
46 | int (*uart_resume)(struct platform_device *pdev); | ||
47 | int (*uart_getc)(struct platform_device *pdev); | ||
48 | void (*uart_putc)(struct platform_device *pdev, unsigned int c); | ||
49 | void (*uart_flush)(struct platform_device *pdev); | ||
50 | void (*uart_enable)(struct platform_device *pdev); | ||
51 | void (*uart_disable)(struct platform_device *pdev); | ||
52 | |||
53 | int (*uart_dev_suspend)(struct platform_device *pdev); | ||
54 | int (*uart_dev_resume)(struct platform_device *pdev); | ||
55 | |||
56 | void (*fiq_enable)(struct platform_device *pdev, unsigned int fiq, | ||
57 | bool enable); | ||
58 | void (*fiq_ack)(struct platform_device *pdev, unsigned int fiq); | ||
59 | |||
60 | void (*force_irq)(struct platform_device *pdev, unsigned int irq); | ||
61 | void (*force_irq_ack)(struct platform_device *pdev, unsigned int irq); | ||
62 | }; | ||
63 | |||
64 | #endif | ||