if (!dbg_info.ehci_debug)
return;
- diff = dbg_info.ehci_caps - ehci_base;
+ diff = (unsigned)dbg_info.ehci_caps - ehci_base;
dbg_info.ehci_regs -= diff;
dbg_info.ehci_debug -= diff;
- dbg_info.ehci_caps = ehci_base;
+ dbg_info.ehci_caps = (void*)ehci_base;
}
void set_ehci_debug(unsigned ehci_debug)
{
- dbg_info.ehci_debug = ehci_debug;
+ dbg_info.ehci_debug = (void*)ehci_debug;
}
unsigned get_ehci_debug(void)
{
- return dbg_info.ehci_debug;
+ return (unsigned)dbg_info.ehci_debug;
}
static void dbgp_init(void)
static void dbgp_tx_byte(unsigned char data)
{
if (dbg_info.ehci_debug)
- dbgp_bulk_write_x(&dbg_info, &data, 1);
+ dbgp_bulk_write_x(&dbg_info, (char*)&data, 1);
}
static unsigned char dbgp_rx_byte(void)
static int dbgp_tst_byte(void)
{
- return dbg_info.ehci_debug;
+ return (int)dbg_info.ehci_debug;
}
static const struct console_driver usbdebug_direct_console __console = {
#if CONFIG_CONSOLE_VGA == 1
void vga_console_init(void);
#endif
+#if CONFIG_USBDEBUG
+#include <usbdebug.h>
+#endif
struct console_driver {
void (*init)(void);
#ifndef USBDEBUG_H
#define USBDEBUG_H
+#include <ehci.h>
+
struct ehci_debug_info {
void *ehci_caps;
void *ehci_regs;
int dbgp_bulk_write_x(struct ehci_debug_info *dbg_info, const char *bytes, int size);
int dbgp_bulk_read_x(struct ehci_debug_info *dbg_info, void *data, int size);
+int dbgp_control_msg(struct ehci_dbg_port *ehci_debug, unsigned devnum, int requesttype, int request,
+ int value, int index, void *data, int size);
+int ehci_wait_for_port(struct ehci_regs *ehci_regs, int port);
void set_ehci_base(unsigned ehci_base);
void set_ehci_debug(unsigned ehci_deug);
unsigned get_ehci_debug(void);
void set_debug_port(unsigned port);
+void usbdebug_ram_tx_byte(unsigned char data);
+void usbdebug_tx_byte(unsigned char data);
#endif
return dbgp_bulk_read(dbg_info->ehci_debug, dbg_info->devnum, dbg_info->endpoint_in, data, size);
}
-static int dbgp_control_msg(struct ehci_dbg_port *ehci_debug, unsigned devnum, int requesttype, int request,
+int dbgp_control_msg(struct ehci_dbg_port *ehci_debug, unsigned devnum, int requesttype, int request,
int value, int index, void *data, int size)
{
unsigned pids, addr, ctrl;
return -16;//-EBUSY;
}
-static int ehci_wait_for_port(struct ehci_regs *ehci_regs, int port)
+int ehci_wait_for_port(struct ehci_regs *ehci_regs, int port)
{
unsigned status;
int ret, reps;
#else
#define dbgp_printk(fmt_arg...) do {} while(0)
#endif
+
+#ifdef __PRE_RAM__
static void usbdebug_init(unsigned ehci_bar, unsigned offset, struct ehci_debug_info *info)
{
struct ehci_caps *ehci_caps;
}
}
+#endif
(CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE - sizeof(struct ehci_debug_info));
if (dbg_info->ehci_debug) {
- dbgp_bulk_write_x(dbg_info, &data, 1);
+ dbgp_bulk_write_x(dbg_info, (char*)&data, 1);
}
}
((CONFIG_RAMTOP) - sizeof(struct ehci_debug_info));
if (dbg_info->ehci_debug) {
- dbgp_bulk_write_x(dbg_info, &data, 1);
+ dbgp_bulk_write_x(dbg_info, (char*)&data, 1);
}
}
#define EHCI_PORTSC 0x44
#define EHCI_DEBUG_OFFSET 0xA0
+#include <usbdebug.h>
+
void set_debug_port(unsigned port)
{
u32 dbgctl;
#define EHCI_BAR 0xFEF00000
#define EHCI_DEBUG_OFFSET 0x98
-static void set_debug_port(unsigned port)
+#include <usbdebug.h>
+
+void set_debug_port(unsigned port)
{
uint32_t dword;
dword = pci_read_config32(PCI_DEV(0, MCP55_DEVN_BASE+2, 1), 0x74);
#define EHCI_BAR 0xFEF00000
#define EHCI_DEBUG_OFFSET 0x98
-static void set_debug_port(unsigned port)
+#include <usbdebug.h>
+
+void set_debug_port(unsigned port)
{
uint32_t dword;
dword = pci_read_config32(PCI_DEV(0, SIS966_DEVN_BASE+2, 1), 0x74);