summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k
diff options
context:
space:
mode:
authorEric Norum <WENorum@lbl.gov>2005-11-08 20:11:02 +0000
committerEric Norum <WENorum@lbl.gov>2005-11-08 20:11:02 +0000
commit8e6835a5a31b791338607cafbd320d0f7e81d40f (patch)
treed6df0f43503ca956af533ebc1ba29c1f5ea7c2a2 /c/src/lib/libbsp/m68k
parent2005-11-08 Ralf Corsepius <ralf.corsepius@rtems.org> (diff)
downloadrtems-8e6835a5a31b791338607cafbd320d0f7e81d40f.tar.bz2
Add code to set up pin assignments.
Diffstat (limited to 'c/src/lib/libbsp/m68k')
-rw-r--r--c/src/lib/libbsp/m68k/uC5282/ChangeLog4
-rw-r--r--c/src/lib/libbsp/m68k/uC5282/console/console.c19
2 files changed, 21 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/m68k/uC5282/ChangeLog b/c/src/lib/libbsp/m68k/uC5282/ChangeLog
index 941fd4bc18..933a1ae7d0 100644
--- a/c/src/lib/libbsp/m68k/uC5282/ChangeLog
+++ b/c/src/lib/libbsp/m68k/uC5282/ChangeLog
@@ -1,3 +1,7 @@
+2005-11-08 Eric Norum <norume@aps.anl.gov>
+
+ * console/console.c: Add code to set up pin assignments
+
2005-11-07 Eric Norum <norume@aps.anl.gov>
* Almost everything: Assign copyright to OAR.
diff --git a/c/src/lib/libbsp/m68k/uC5282/console/console.c b/c/src/lib/libbsp/m68k/uC5282/console/console.c
index 7fea961692..90860d9740 100644
--- a/c/src/lib/libbsp/m68k/uC5282/console/console.c
+++ b/c/src/lib/libbsp/m68k/uC5282/console/console.c
@@ -473,6 +473,20 @@ IntUartInterruptOpen(int major, int minor, void *arg)
{
struct IntUartInfoStruct *info = &IntUartInfo[minor];
+ /*
+ * Enable serial I/O pin assignments
+ */
+ switch(minor) {
+ case 0:
+ MCF5282_GPIO_PUAPAR |= MCF5282_GPIO_PUAPAR_PUAPA1|MCF5282_GPIO_PUAPAR_PUAPA0;
+ break;
+ case 1:
+ MCF5282_GPIO_PUAPAR |= MCF5282_GPIO_PUAPAR_PUAPA3|MCF5282_GPIO_PUAPAR_PUAPA2;
+ break;
+ case 2:
+ MCF5282_GPIO_PASPAR |= MCF5282_GPIO_PASPAR_PASPA3(2)|MCF5282_GPIO_PASPAR_PASPA2(2);
+ break;
+ }
/* enable the uart */
MCF5282_UART_UCR(minor) = (MCF5282_UART_UCR_TX_ENABLED | MCF5282_UART_UCR_RX_ENABLED);
@@ -635,13 +649,14 @@ rtems_device_driver console_initialize(
void *arg )
{
rtems_status_code status;
-
+ int chan;
/* Set up TERMIOS */
rtems_termios_initialize ();
/* set io modes for the different channels and initialize device */
- IntUartInfo[minor].iomode = TERMIOS_IRQ_DRIVEN;
+ for ( chan = 0; chan < MAX_UART_INFO; chan++ )
+ IntUartInfo[chan].iomode = TERMIOS_IRQ_DRIVEN;
IntUartInitialize();
/* Register the console port */