root/arch/mips/lantiq/early_printk.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. prom_putchar

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  *
   4  *  Copyright (C) 2010 John Crispin <john@phrozen.org>
   5  */
   6 
   7 #include <linux/cpu.h>
   8 #include <lantiq_soc.h>
   9 #include <asm/setup.h>
  10 
  11 #define ASC_BUF         1024
  12 #define LTQ_ASC_FSTAT   ((u32 *)(LTQ_EARLY_ASC + 0x0048))
  13 #ifdef __BIG_ENDIAN
  14 #define LTQ_ASC_TBUF    ((u32 *)(LTQ_EARLY_ASC + 0x0020 + 3))
  15 #else
  16 #define LTQ_ASC_TBUF    ((u32 *)(LTQ_EARLY_ASC + 0x0020))
  17 #endif
  18 #define TXMASK          0x3F00
  19 #define TXOFFSET        8
  20 
  21 void prom_putchar(char c)
  22 {
  23         unsigned long flags;
  24 
  25         local_irq_save(flags);
  26         do { } while ((ltq_r32(LTQ_ASC_FSTAT) & TXMASK) >> TXOFFSET);
  27         if (c == '\n')
  28                 ltq_w8('\r', LTQ_ASC_TBUF);
  29         ltq_w8(c, LTQ_ASC_TBUF);
  30         local_irq_restore(flags);
  31 }

/* [<][>][^][v][top][bottom][index][help] */