18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * (c) 2001, 2006 IBM Corporation. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef _ASM_POWERPC_UDBG_H 78c2ecf20Sopenharmony_ci#define _ASM_POWERPC_UDBG_H 88c2ecf20Sopenharmony_ci#ifdef __KERNEL__ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#include <linux/compiler.h> 118c2ecf20Sopenharmony_ci#include <linux/init.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciextern void (*udbg_putc)(char c); 148c2ecf20Sopenharmony_ciextern void (*udbg_flush)(void); 158c2ecf20Sopenharmony_ciextern int (*udbg_getc)(void); 168c2ecf20Sopenharmony_ciextern int (*udbg_getc_poll)(void); 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciextern void udbg_puts(const char *s); 198c2ecf20Sopenharmony_ciextern int udbg_write(const char *s, int n); 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciextern void register_early_udbg_console(void); 228c2ecf20Sopenharmony_ciextern void udbg_printf(const char *fmt, ...) 238c2ecf20Sopenharmony_ci __attribute__ ((format (printf, 1, 2))); 248c2ecf20Sopenharmony_ciextern void udbg_progress(char *s, unsigned short hex); 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciextern void udbg_uart_init_mmio(void __iomem *addr, unsigned int stride); 278c2ecf20Sopenharmony_ciextern void udbg_uart_init_pio(unsigned long port, unsigned int stride); 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciextern void udbg_uart_setup(unsigned int speed, unsigned int clock); 308c2ecf20Sopenharmony_ciextern unsigned int udbg_probe_uart_speed(unsigned int clock); 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_cistruct device_node; 338c2ecf20Sopenharmony_ciextern void udbg_scc_init(int force_scc); 348c2ecf20Sopenharmony_ciextern int udbg_adb_init(int force_btext); 358c2ecf20Sopenharmony_ciextern void udbg_adb_init_early(void); 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciextern void __init udbg_early_init(void); 388c2ecf20Sopenharmony_ciextern void __init udbg_init_debug_lpar(void); 398c2ecf20Sopenharmony_ciextern void __init udbg_init_debug_lpar_hvsi(void); 408c2ecf20Sopenharmony_ciextern void __init udbg_init_pmac_realmode(void); 418c2ecf20Sopenharmony_ciextern void __init udbg_init_maple_realmode(void); 428c2ecf20Sopenharmony_ciextern void __init udbg_init_pas_realmode(void); 438c2ecf20Sopenharmony_ciextern void __init udbg_init_rtas_panel(void); 448c2ecf20Sopenharmony_ciextern void __init udbg_init_rtas_console(void); 458c2ecf20Sopenharmony_ciextern void __init udbg_init_debug_beat(void); 468c2ecf20Sopenharmony_ciextern void __init udbg_init_btext(void); 478c2ecf20Sopenharmony_ciextern void __init udbg_init_44x_as1(void); 488c2ecf20Sopenharmony_ciextern void __init udbg_init_40x_realmode(void); 498c2ecf20Sopenharmony_ciextern void __init udbg_init_cpm(void); 508c2ecf20Sopenharmony_ciextern void __init udbg_init_usbgecko(void); 518c2ecf20Sopenharmony_ciextern void __init udbg_init_memcons(void); 528c2ecf20Sopenharmony_ciextern void __init udbg_init_ehv_bc(void); 538c2ecf20Sopenharmony_ciextern void __init udbg_init_ps3gelic(void); 548c2ecf20Sopenharmony_ciextern void __init udbg_init_debug_opal_raw(void); 558c2ecf20Sopenharmony_ciextern void __init udbg_init_debug_opal_hvsi(void); 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci#endif /* __KERNEL__ */ 588c2ecf20Sopenharmony_ci#endif /* _ASM_POWERPC_UDBG_H */ 59