DECLARE_GLOBAL_DATA_PTR;
-/* Force cache miss each time a serial controller reg is read */
-#define CACHE_BYPASS 1
-
-#ifdef CACHE_BYPASS
-#define READ_BYTE(var) SPARC_NOCACHE_READ_BYTE((unsigned int)&(var))
-#define READ_HWORD(var) SPARC_NOCACHE_READ_HWORD((unsigned int)&(var))
-#define READ_WORD(var) SPARC_NOCACHE_READ((unsigned int)&(var))
-#define READ_DWORD(var) SPARC_NOCACHE_READ_DWORD((unsigned int)&(var))
-#endif
-
ambapp_dev_apbuart *leon3_apbuart = NULL;
static int leon3_serial_init(void)
leon3_serial_putc_raw(c);
}
-static void leon3_serial_puts(const char *s)
-{
- while (*s) {
- serial_putc(*s++);
- }
-}
-
static int leon3_serial_getc(void)
{
if (!leon3_apbuart)
return;
}
-#ifdef CONFIG_SERIAL_MULTI
static struct serial_device leon3_serial_drv = {
.name = "leon3_serial",
.start = leon3_serial_init,
.stop = NULL,
.setbrg = leon3_serial_setbrg,
.putc = leon3_serial_putc,
- .puts = leon3_serial_puts,
+ .puts = default_serial_puts,
.getc = leon3_serial_getc,
.tstc = leon3_serial_tstc,
};
{
return &leon3_serial_drv;
}
-#else
-int serial_init(void)
-{
- return leon3_serial_init();
-}
-
-void serial_setbrg(void)
-{
- leon3_serial_setbrg();
-}
-
-void serial_putc(const char c)
-{
- leon3_serial_putc(c);
-}
-
-void serial_puts(const char *s)
-{
- leon3_serial_puts(s);
-}
-
-int serial_getc(void)
-{
- return leon3_serial_getc();
-}
-
-int serial_tstc(void)
-{
- return leon3_serial_tstc();
-}
-#endif