1 /*
2  * (c) 2001, 2006 IBM Corporation.
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 
10 #ifndef _ASM_POWERPC_UDBG_H
11 #define _ASM_POWERPC_UDBG_H
12 #ifdef __KERNEL__
13 
14 #include <linux/compiler.h>
15 #include <linux/init.h>
16 
17 extern void (*udbg_putc)(char c);
18 extern void (*udbg_flush)(void);
19 extern int (*udbg_getc)(void);
20 extern int (*udbg_getc_poll)(void);
21 
22 extern void udbg_puts(const char *s);
23 extern int udbg_write(const char *s, int n);
24 extern int udbg_read(char *buf, int buflen);
25 
26 extern void register_early_udbg_console(void);
27 extern void udbg_printf(const char *fmt, ...)
28 	__attribute__ ((format (printf, 1, 2)));
29 extern void udbg_progress(char *s, unsigned short hex);
30 
31 extern void udbg_init_uart(void __iomem *comport, unsigned int speed,
32 			   unsigned int clock);
33 extern unsigned int udbg_probe_uart_speed(void __iomem *comport,
34 					  unsigned int clock);
35 
36 struct device_node;
37 extern void udbg_scc_init(int force_scc);
38 extern int udbg_adb_init(int force_btext);
39 extern void udbg_adb_init_early(void);
40 
41 extern void __init udbg_early_init(void);
42 extern void __init udbg_init_debug_lpar(void);
43 extern void __init udbg_init_debug_lpar_hvsi(void);
44 extern void __init udbg_init_pmac_realmode(void);
45 extern void __init udbg_init_maple_realmode(void);
46 extern void __init udbg_init_pas_realmode(void);
47 extern void __init udbg_init_rtas_panel(void);
48 extern void __init udbg_init_rtas_console(void);
49 extern void __init udbg_init_debug_beat(void);
50 extern void __init udbg_init_btext(void);
51 extern void __init udbg_init_44x_as1(void);
52 extern void __init udbg_init_40x_realmode(void);
53 extern void __init udbg_init_cpm(void);
54 extern void __init udbg_init_usbgecko(void);
55 extern void __init udbg_init_wsp(void);
56 extern void __init udbg_init_ehv_bc(void);
57 extern void __init udbg_init_ps3gelic(void);
58 extern void __init udbg_init_debug_opal_raw(void);
59 extern void __init udbg_init_debug_opal_hvsi(void);
60 
61 #endif /* __KERNEL__ */
62 #endif /* _ASM_POWERPC_UDBG_H */
63