fix remaining include directives, and i2c CLID
[AROS.git] / arch / arm-raspi / kernel / kernel_debug.c
blob828558ea57379efa7db29e149931f09b384bcd22
1 /*
2 Copyright © 2013-2015, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #include <aros/kernel.h>
7 #include <inttypes.h>
9 #include <hardware/bcm283x.h>
10 #include <hardware/pl011uart.h>
12 #include <kernel_base.h>
13 #include <kernel_debug.h>
15 void (*_KrnPutC)(char) = NULL;
17 inline void krnWaitSerOut()
19 while(1)
21 if ((*(volatile uint32_t *)(PL011_0_BASE + PL011_FR) & PL011_FR_TXFF) == 0) break;
26 inline void krnSerPutC(uint8_t chr)
28 krnWaitSerOut();
30 if (chr == '\n')
31 *(volatile uint32_t *)(PL011_0_BASE + PL011_DR) = '\r';
32 *(volatile uint32_t *)(PL011_0_BASE + PL011_DR) = chr;
35 int krnPutC(int chr, struct KernelBase *KernelBase)
37 if (chr == 0x03)
38 _KrnPutC = NULL;
39 else
41 if (_KrnPutC)
42 _KrnPutC(chr);
44 krnSerPutC(chr);