/* * drivers/trace/exynos-condbg.h * * Copyright (c) 2016 Samsung Electronics Co., Ltd. * http://www.samsung.com * * Exynos-Console-Debugger for Exynos SoC * This codes are based on fiq_debugger of google * /driver/staging/android/fiq_debugger * * Author: Hosung Kim * Changki Kim * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #ifndef _CONSOLE_DEBUGGER_H_ #define _CONSOLE_DEBUGGER_H_ #include #define DEBUGGER_NO_CHAR NO_POLL_CHAR #define DEBUGGER_BREAK 0x00ff0100 /** * struct ecd_pdata - exynos console debugger platform data * @uart_resume: used to restore uart state right * @uart_enable: Do the work necessary to communicate with the uart * hw (enable clocks, etc.). This must be ref-counted. * @uart_disable: Do the work necessary to disable the uart hw * (disable clocks, etc.). This must be ref-counted. * @uart_dev_suspend: called during PM suspend, generally not needed * in debug state. * @uart_dev_resume: called during PM resume, generally not needed * in debug state */ struct ecd_pdata { int (*uart_init)(struct platform_device *pdev); void (*uart_free)(struct platform_device *pdev); int (*uart_resume)(struct platform_device *pdev); int (*uart_getc)(struct platform_device *pdev); void (*uart_putc)(struct platform_device *pdev, unsigned int c); void (*uart_flush)(struct platform_device *pdev); void (*uart_enable)(struct platform_device *pdev); void (*uart_disable)(struct platform_device *pdev); void (*uart_clear_rxfifo)(struct platform_device *pdev); int (*uart_dev_suspend)(struct platform_device *pdev); int (*uart_dev_resume)(struct platform_device *pdev); void (*force_irq)(struct platform_device *pdev, unsigned int irq); void (*force_irq_ack)(struct platform_device *pdev, unsigned int irq); }; extern bool initial_no_firmware; #endif