diff options
-rw-r--r-- | src/arch/x86/lib/romstage_console.c | 4 | ||||
-rw-r--r-- | src/console/usbdebug_console.c | 8 | ||||
-rw-r--r-- | src/drivers/usb/console.c | 28 | ||||
-rw-r--r-- | src/drivers/usb/ehci_debug.h | 8 | ||||
-rw-r--r-- | src/include/console/usb.h | 14 |
5 files changed, 41 insertions, 21 deletions
diff --git a/src/arch/x86/lib/romstage_console.c b/src/arch/x86/lib/romstage_console.c index 68b10eb8af..4ef702f603 100644 --- a/src/arch/x86/lib/romstage_console.c +++ b/src/arch/x86/lib/romstage_console.c @@ -49,7 +49,7 @@ void console_tx_byte(unsigned char byte) uart8250_tx_byte(CONFIG_TTYS0_BASE, byte); #endif #if CONFIG_USBDEBUG && (CONFIG_USBDEBUG_IN_ROMSTAGE || !defined(__PRE_RAM__)) - usbdebug_tx_byte(dbgp_console_output(), byte); + usb_tx_byte(0, byte); #endif #if CONFIG_CONSOLE_NE2K ne2k_append_data(&byte, 1, CONFIG_CONSOLE_NE2K_IO_PORT); @@ -74,7 +74,7 @@ void console_tx_flush(void) ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT); #endif #if CONFIG_USBDEBUG && (CONFIG_USBDEBUG_IN_ROMSTAGE || !defined(__PRE_RAM__)) - usbdebug_tx_flush(dbgp_console_output()); + usb_tx_flush(0); #endif } diff --git a/src/console/usbdebug_console.c b/src/console/usbdebug_console.c index cb627bb96a..833147372b 100644 --- a/src/console/usbdebug_console.c +++ b/src/console/usbdebug_console.c @@ -29,22 +29,22 @@ static void dbgp_init(void) static void dbgp_tx_byte(unsigned char data) { - usbdebug_tx_byte(dbgp_console_output(), data); + usb_tx_byte(0, data); } static unsigned char dbgp_rx_byte(void) { - return usbdebug_rx_byte(dbgp_console_input()); + return usb_rx_byte(0); } static void dbgp_tx_flush(void) { - usbdebug_tx_flush(dbgp_console_output()); + usb_tx_flush(0); } static int dbgp_tst_byte(void) { - return dbgp_ep_is_active(dbgp_console_input()); + return usb_can_rx_byte(0); } static const struct console_driver usbdebug_direct_console __console = { diff --git a/src/drivers/usb/console.c b/src/drivers/usb/console.c index c47610a2a3..4f37ef8dfa 100644 --- a/src/drivers/usb/console.c +++ b/src/drivers/usb/console.c @@ -18,12 +18,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA */ -#include <stddef.h> -#include <console/console.h> #include <console/usb.h> #include "ehci_debug.h" -void usbdebug_tx_byte(struct dbgp_pipe *pipe, unsigned char data) +static void usbdebug_tx_byte(struct dbgp_pipe *pipe, unsigned char data) { if (!dbgp_try_get(pipe)) return; @@ -35,7 +33,7 @@ void usbdebug_tx_byte(struct dbgp_pipe *pipe, unsigned char data) dbgp_put(pipe); } -void usbdebug_tx_flush(struct dbgp_pipe *pipe) +static void usbdebug_tx_flush(struct dbgp_pipe *pipe) { if (!dbgp_try_get(pipe)) return; @@ -46,7 +44,7 @@ void usbdebug_tx_flush(struct dbgp_pipe *pipe) dbgp_put(pipe); } -unsigned char usbdebug_rx_byte(struct dbgp_pipe *pipe) +static unsigned char usbdebug_rx_byte(struct dbgp_pipe *pipe) { unsigned char data = 0xff; if (!dbgp_try_get(pipe)) @@ -62,3 +60,23 @@ unsigned char usbdebug_rx_byte(struct dbgp_pipe *pipe) dbgp_put(pipe); return data; } + +void usb_tx_byte(int idx, unsigned char data) +{ + usbdebug_tx_byte(dbgp_console_output(), data); +} + +void usb_tx_flush(int idx) +{ + usbdebug_tx_flush(dbgp_console_output()); +} + +unsigned char usb_rx_byte(int idx) +{ + return usbdebug_rx_byte(dbgp_console_input()); +} + +int usb_can_rx_byte(int idx) +{ + return dbgp_ep_is_active(dbgp_console_input()); +} diff --git a/src/drivers/usb/ehci_debug.h b/src/drivers/usb/ehci_debug.h index 30bf724cb8..39f5f7239a 100644 --- a/src/drivers/usb/ehci_debug.h +++ b/src/drivers/usb/ehci_debug.h @@ -21,6 +21,8 @@ #ifndef _EHCI_DEBUG_H_ #define _EHCI_DEBUG_H_ +#include <types.h> + void usbdebug_re_enable(unsigned ehci_base); void usbdebug_disable(void); @@ -51,4 +53,10 @@ struct dbgp_pipe void dbgp_put(struct dbgp_pipe *pipe); int dbgp_try_get(struct dbgp_pipe *pipe); +struct dbgp_pipe *dbgp_console_output(void); +struct dbgp_pipe *dbgp_console_input(void); +int dbgp_ep_is_active(struct dbgp_pipe *pipe); +int dbgp_bulk_write_x(struct dbgp_pipe *pipe, const char *bytes, int size); +int dbgp_bulk_read_x(struct dbgp_pipe *pipe, void *data, int size); + #endif /* _EHCI_DEBUG_H_ */ diff --git a/src/include/console/usb.h b/src/include/console/usb.h index 430557f8f1..95911353e6 100644 --- a/src/include/console/usb.h +++ b/src/include/console/usb.h @@ -21,17 +21,11 @@ #ifndef _CONSOLE_USB_H_ #define _CONSOLE_USB_H_ -struct dbgp_pipe; - int usbdebug_init(void); -struct dbgp_pipe *dbgp_console_output(void); -struct dbgp_pipe *dbgp_console_input(void); -int dbgp_ep_is_active(struct dbgp_pipe *pipe); -int dbgp_bulk_write_x(struct dbgp_pipe *pipe, const char *bytes, int size); -int dbgp_bulk_read_x(struct dbgp_pipe *pipe, void *data, int size); -void usbdebug_tx_byte(struct dbgp_pipe *pipe, unsigned char data); -void usbdebug_tx_flush(struct dbgp_pipe *pipe); -unsigned char usbdebug_rx_byte(struct dbgp_pipe *pipe); +void usb_tx_byte(int idx, unsigned char data); +void usb_tx_flush(int idx); +unsigned char usb_rx_byte(int idx); +int usb_can_rx_byte(int idx); #endif /* _CONSOLE_USB_H_ */ |