2
* Copyright (c) 2009 Martin Decky
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
9
* - Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* - Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
* - The name of the author may not be used to endorse or promote products
15
* derived from this software without specific prior written permission.
17
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
/** @addtogroup genarch
34
* @brief Dummy serial line output.
38
#include <genarch/drivers/dsrln/dsrlnout.h>
39
#include <console/chardev.h>
41
#include <console/console.h>
42
#include <sysinfo/sysinfo.h>
45
static ioport8_t *dsrlnout_base;
47
static void dsrlnout_putchar(outdev_t *dev __attribute__((unused)), const wchar_t ch, bool silent)
51
pio_write_8(dsrlnout_base, ch);
53
pio_write_8(dsrlnout_base, U_SPECIAL);
57
static outdev_t dsrlnout_console;
58
static outdev_operations_t dsrlnout_ops = {
59
.write = dsrlnout_putchar
62
void dsrlnout_init(ioport8_t *base)
64
/* Initialize the software structure. */
67
outdev_initialize("dsrlnout", &dsrlnout_console, &dsrlnout_ops);
68
stdout = &dsrlnout_console;
70
sysinfo_set_item_val("fb", NULL, true);
71
sysinfo_set_item_val("fb.kind", NULL, 3);
72
sysinfo_set_item_val("fb.address.physical", NULL, KA2PA(base));