daea1175a9
This adds a udbg and an hvc console backend for supporting a console using the OPAL console interfaces. On OPAL v1 we have hvc0 mapped to whatever console the system was configured for (network or hvsi serial port) via the service processor. On OPAL v2 we have hvcN mapped to the Nth console provided by OPAL which generally corresponds to: hvc0 : network console (raw protocol) hvc1 : serial port S1 (hvsi) hvc2 : serial port S2 (hvsi) Note: At this point, early debug console only works with OPAL v1 and shouldn't be enabled in a normal kernel. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
63 lines
2.1 KiB
C
63 lines
2.1 KiB
C
/*
|
|
* (c) 2001, 2006 IBM Corporation.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version
|
|
* 2 of the License, or (at your option) any later version.
|
|
*/
|
|
|
|
#ifndef _ASM_POWERPC_UDBG_H
|
|
#define _ASM_POWERPC_UDBG_H
|
|
#ifdef __KERNEL__
|
|
|
|
#include <linux/compiler.h>
|
|
#include <linux/init.h>
|
|
|
|
extern void (*udbg_putc)(char c);
|
|
extern void (*udbg_flush)(void);
|
|
extern int (*udbg_getc)(void);
|
|
extern int (*udbg_getc_poll)(void);
|
|
|
|
extern void udbg_puts(const char *s);
|
|
extern int udbg_write(const char *s, int n);
|
|
extern int udbg_read(char *buf, int buflen);
|
|
|
|
extern void register_early_udbg_console(void);
|
|
extern void udbg_printf(const char *fmt, ...)
|
|
__attribute__ ((format (printf, 1, 2)));
|
|
extern void udbg_progress(char *s, unsigned short hex);
|
|
|
|
extern void udbg_init_uart(void __iomem *comport, unsigned int speed,
|
|
unsigned int clock);
|
|
extern unsigned int udbg_probe_uart_speed(void __iomem *comport,
|
|
unsigned int clock);
|
|
|
|
struct device_node;
|
|
extern void udbg_scc_init(int force_scc);
|
|
extern int udbg_adb_init(int force_btext);
|
|
extern void udbg_adb_init_early(void);
|
|
|
|
extern void __init udbg_early_init(void);
|
|
extern void __init udbg_init_debug_lpar(void);
|
|
extern void __init udbg_init_debug_lpar_hvsi(void);
|
|
extern void __init udbg_init_pmac_realmode(void);
|
|
extern void __init udbg_init_maple_realmode(void);
|
|
extern void __init udbg_init_pas_realmode(void);
|
|
extern void __init udbg_init_iseries(void);
|
|
extern void __init udbg_init_rtas_panel(void);
|
|
extern void __init udbg_init_rtas_console(void);
|
|
extern void __init udbg_init_debug_beat(void);
|
|
extern void __init udbg_init_btext(void);
|
|
extern void __init udbg_init_44x_as1(void);
|
|
extern void __init udbg_init_40x_realmode(void);
|
|
extern void __init udbg_init_cpm(void);
|
|
extern void __init udbg_init_usbgecko(void);
|
|
extern void __init udbg_init_wsp(void);
|
|
extern void __init udbg_init_ps3gelic(void);
|
|
extern void __init udbg_init_debug_opal_raw(void);
|
|
extern void __init udbg_init_debug_opal_hvsi(void);
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _ASM_POWERPC_UDBG_H */
|