]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/prodrive/p3mx/serial.c
Merge branch 'master' of git://git.denx.de/u-boot-arm
[karo-tx-uboot.git] / board / prodrive / p3mx / serial.c
1 /*
2  * (C) Copyright 2001
3  * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
4  *
5  * modified for marvell db64360 eval board by
6  * Ingo Assmus <ingo.assmus@keymile.com>
7  *
8  * modified for cpci750 board by
9  * Reinhard Arlt <reinhard.arlt@esd-electronics.com>
10  *
11  * SPDX-License-Identifier:     GPL-2.0+
12  */
13
14 /*
15  * serial.c - serial support for esd cpci750 board
16  */
17
18 /* supports the MPSC */
19
20 #include <common.h>
21 #include <command.h>
22 #include <serial.h>
23 #include <linux/compiler.h>
24
25 #include "../../Marvell/include/memory.h"
26
27 #include "mpsc.h"
28
29 DECLARE_GLOBAL_DATA_PTR;
30
31 static int p3mx_serial_init(void)
32 {
33         mpsc_init (gd->baudrate);
34
35         return (0);
36 }
37
38 static void p3mx_serial_putc(const char c)
39 {
40         if (c == '\n')
41                 mpsc_putchar ('\r');
42
43         mpsc_putchar (c);
44 }
45
46 static int p3mx_serial_getc(void)
47 {
48         return mpsc_getchar ();
49 }
50
51 static int p3mx_serial_tstc(void)
52 {
53         return mpsc_test_char ();
54 }
55
56 static void p3mx_serial_setbrg(void)
57 {
58         galbrg_set_baudrate (CONFIG_MPSC_PORT, gd->baudrate);
59 }
60
61 static struct serial_device p3mx_serial_drv = {
62         .name   = "p3mx_serial",
63         .start  = p3mx_serial_init,
64         .stop   = NULL,
65         .setbrg = p3mx_serial_setbrg,
66         .putc   = p3mx_serial_putc,
67         .puts   = default_serial_puts,
68         .getc   = p3mx_serial_getc,
69         .tstc   = p3mx_serial_tstc,
70 };
71
72 void p3mx_serial_initialize(void)
73 {
74         serial_register(&p3mx_serial_drv);
75 }
76
77 __weak struct serial_device *default_serial_console(void)
78 {
79         return &p3mx_serial_drv;
80 }
81
82 #if defined(CONFIG_CMD_KGDB)
83 void kgdb_serial_init (void)
84 {
85 }
86
87 void putDebugChar (int c)
88 {
89         serial_putc (c);
90 }
91
92 void putDebugStr (const char *str)
93 {
94         serial_puts (str);
95 }
96
97 int getDebugChar (void)
98 {
99         return serial_getc ();
100 }
101
102 void kgdb_interruptible (int yes)
103 {
104         return;
105 }
106 #endif