blob: 6418ceea44b70f27d69027b3a30ee85d8bd4b3fd [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Michael Ellerman296167a2006-01-11 11:54:09 +11002 * (c) 2001, 2006 IBM Corporation.
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 *
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 Gibson35cd8782005-11-11 16:42:12 +110010#ifndef _ASM_POWERPC_UDBG_H
11#define _ASM_POWERPC_UDBG_H
Arnd Bergmann88ced032005-12-16 22:43:46 +010012#ifdef __KERNEL__
David Gibson35cd8782005-11-11 16:42:12 +110013
14#include <linux/compiler.h>
15#include <linux/init.h>
16
Benjamin Herrenschmidt51d30822005-11-23 17:57:25 +110017extern void (*udbg_putc)(char c);
Benjamin Herrenschmidtbb6b9b22005-11-30 16:54:12 +110018extern int (*udbg_getc)(void);
Milton Millerc8f1c8b2005-09-06 11:56:42 +100019extern int (*udbg_getc_poll)(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
Milton Millerc8f1c8b2005-09-06 11:56:42 +100021extern void udbg_puts(const char *s);
22extern int udbg_write(const char *s, int n);
23extern int udbg_read(char *buf, int buflen);
24
Milton Miller8d927392005-09-06 11:57:27 +100025extern void register_early_udbg_console(void);
jimix@watson.ibm.com8ae5b282006-05-17 12:00:35 -040026extern void udbg_printf(const char *fmt, ...)
27 __attribute__ ((format (printf, 1, 2)));
Kumar Galabe6b8432005-12-20 16:37:07 -060028extern void udbg_progress(char *s, unsigned short hex);
Milton Millerc8f1c8b2005-09-06 11:56:42 +100029
Benjamin Herrenschmidt463ce0e2005-11-23 17:56:06 +110030extern void udbg_init_uart(void __iomem *comport, unsigned int speed,
31 unsigned int clock);
32extern unsigned int udbg_probe_uart_speed(void __iomem *comport,
33 unsigned int clock);
Paul Mackerras35499c02005-10-22 16:02:39 +100034
35struct device_node;
Benjamin Herrenschmidt51d30822005-11-23 17:57:25 +110036extern void udbg_scc_init(int force_scc);
37extern int udbg_adb_init(int force_btext);
38extern void udbg_adb_init_early(void);
39
Michael Ellerman296167a2006-01-11 11:54:09 +110040extern void __init udbg_early_init(void);
41extern void __init udbg_init_debug_lpar(void);
42extern void __init udbg_init_pmac_realmode(void);
43extern void __init udbg_init_maple_realmode(void);
Olof Johansson39c870d2007-02-04 16:36:49 -060044extern void __init udbg_init_pas_realmode(void);
Michael Ellerman296167a2006-01-11 11:54:09 +110045extern void __init udbg_init_iseries(void);
Michael Ellermancc46bb92006-06-23 18:20:16 +100046extern void __init udbg_init_rtas_panel(void);
47extern void __init udbg_init_rtas_console(void);
Ishizaki Koud7480a92007-02-02 16:43:21 +090048extern void __init udbg_init_debug_beat(void);
David Gibson719c91c2007-02-13 15:54:22 +110049extern void __init udbg_init_btext(void);
David Gibsond9b55a02007-05-08 12:59:31 +100050extern void __init udbg_init_44x_as1(void);
Benjamin Herrenschmidt9dae8af2007-12-21 15:39:26 +110051extern void __init udbg_init_40x_realmode(void);
Scott Woodc374e002007-07-16 11:43:43 -050052extern void __init udbg_init_cpm(void);
Michael Ellerman296167a2006-01-11 11:54:09 +110053
Arnd Bergmann88ced032005-12-16 22:43:46 +010054#endif /* __KERNEL__ */
David Gibson35cd8782005-11-11 16:42:12 +110055#endif /* _ASM_POWERPC_UDBG_H */