ip30-console.c 466 B

12345678910111213141516171819202122232425
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <linux/io.h>
  3. #include <linux/processor.h>
  4. #include <asm/sn/ioc3.h>
  5. #include <asm/setup.h>
  6. static inline struct ioc3_uartregs *console_uart(void)
  7. {
  8. struct ioc3 *ioc3;
  9. ioc3 = (struct ioc3 *)((void *)(0x900000001f600000));
  10. return &ioc3->sregs.uarta;
  11. }
  12. void prom_putchar(char c)
  13. {
  14. struct ioc3_uartregs *uart = console_uart();
  15. while ((readb(&uart->iu_lsr) & 0x20) == 0)
  16. cpu_relax();
  17. writeb(c, &uart->iu_thr);
  18. }