Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
Michael Ellerman | 296167a | 2006-01-11 11:54:09 +1100 | [diff] [blame] | 2 | * (c) 2001, 2006 IBM Corporation. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | * |
| 4 | * This program is free software; you can redistribute it and/or |
| 5 | * modify it under the terms of the GNU General Public License |
| 6 | * as published by the Free Software Foundation; either version |
| 7 | * 2 of the License, or (at your option) any later version. |
| 8 | */ |
| 9 | |
David Gibson | 35cd878 | 2005-11-11 16:42:12 +1100 | [diff] [blame] | 10 | #ifndef _ASM_POWERPC_UDBG_H |
| 11 | #define _ASM_POWERPC_UDBG_H |
Arnd Bergmann | 88ced03 | 2005-12-16 22:43:46 +0100 | [diff] [blame] | 12 | #ifdef __KERNEL__ |
David Gibson | 35cd878 | 2005-11-11 16:42:12 +1100 | [diff] [blame] | 13 | |
| 14 | #include <linux/compiler.h> |
| 15 | #include <linux/init.h> |
| 16 | |
Benjamin Herrenschmidt | 51d3082 | 2005-11-23 17:57:25 +1100 | [diff] [blame] | 17 | extern void (*udbg_putc)(char c); |
Benjamin Herrenschmidt | bb6b9b2 | 2005-11-30 16:54:12 +1100 | [diff] [blame] | 18 | extern int (*udbg_getc)(void); |
Milton Miller | c8f1c8b | 2005-09-06 11:56:42 +1000 | [diff] [blame] | 19 | extern int (*udbg_getc_poll)(void); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | |
Milton Miller | c8f1c8b | 2005-09-06 11:56:42 +1000 | [diff] [blame] | 21 | extern void udbg_puts(const char *s); |
| 22 | extern int udbg_write(const char *s, int n); |
| 23 | extern int udbg_read(char *buf, int buflen); |
| 24 | |
Milton Miller | 8d92739 | 2005-09-06 11:57:27 +1000 | [diff] [blame] | 25 | extern void register_early_udbg_console(void); |
jimix@watson.ibm.com | 8ae5b28 | 2006-05-17 12:00:35 -0400 | [diff] [blame] | 26 | extern void udbg_printf(const char *fmt, ...) |
| 27 | __attribute__ ((format (printf, 1, 2))); |
Kumar Gala | be6b843 | 2005-12-20 16:37:07 -0600 | [diff] [blame] | 28 | extern void udbg_progress(char *s, unsigned short hex); |
Milton Miller | c8f1c8b | 2005-09-06 11:56:42 +1000 | [diff] [blame] | 29 | |
Benjamin Herrenschmidt | 463ce0e | 2005-11-23 17:56:06 +1100 | [diff] [blame] | 30 | extern void udbg_init_uart(void __iomem *comport, unsigned int speed, |
| 31 | unsigned int clock); |
| 32 | extern unsigned int udbg_probe_uart_speed(void __iomem *comport, |
| 33 | unsigned int clock); |
Paul Mackerras | 35499c0 | 2005-10-22 16:02:39 +1000 | [diff] [blame] | 34 | |
| 35 | struct device_node; |
Benjamin Herrenschmidt | 51d3082 | 2005-11-23 17:57:25 +1100 | [diff] [blame] | 36 | extern void udbg_scc_init(int force_scc); |
| 37 | extern int udbg_adb_init(int force_btext); |
| 38 | extern void udbg_adb_init_early(void); |
| 39 | |
Michael Ellerman | 296167a | 2006-01-11 11:54:09 +1100 | [diff] [blame] | 40 | extern void __init udbg_early_init(void); |
| 41 | extern void __init udbg_init_debug_lpar(void); |
| 42 | extern void __init udbg_init_pmac_realmode(void); |
| 43 | extern void __init udbg_init_maple_realmode(void); |
| 44 | extern void __init udbg_init_iseries(void); |
Michael Ellerman | cc46bb9 | 2006-06-23 18:20:16 +1000 | [diff] [blame] | 45 | extern void __init udbg_init_rtas_panel(void); |
| 46 | extern void __init udbg_init_rtas_console(void); |
Ishizaki Kou | d7480a9 | 2007-02-02 16:43:21 +0900 | [diff] [blame^] | 47 | extern void __init udbg_init_debug_beat(void); |
Michael Ellerman | 296167a | 2006-01-11 11:54:09 +1100 | [diff] [blame] | 48 | |
Arnd Bergmann | 88ced03 | 2005-12-16 22:43:46 +0100 | [diff] [blame] | 49 | #endif /* __KERNEL__ */ |
David Gibson | 35cd878 | 2005-11-11 16:42:12 +1100 | [diff] [blame] | 50 | #endif /* _ASM_POWERPC_UDBG_H */ |