PSC3 5475/5485

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PSC3 5475/5485

1,970 Views
Marreshe
Contributor I
I am currently trying to get the PSC3 port to run in UART mode.  Nothing seems to be transmitting.  I have PSC0-PSC2 running in UART mode.  Is there something additional I need to do with PSC3 that is different from the configuration for the other 3 uart ports (PSC0-PSC2).  I have tried setting the PAR_DSPI to 0, with no luck.
 
Additional info: I have tried to run PSC3 strictly in internal loopback mode as well...that does not work either.  All other ports (PSC0-PSC2) work in internal loopback.  I am using the MCF5475, but iif someone has experienced similar problems on the 548X flavors that may help.
 
Any help would be greatly appreciated.  Thanks in advance
 
wrw
Labels (1)
0 Kudos
4 Replies

470 Views
SimonMarsden_de
Contributor II
Another thing you could try...

One way in which PSC3 is different to PSC0-2 is that the signals are available on more than one pin. You can bring them out to pins in port PSC3 or DSPI.

You need to make sure that you configure both PAR_PSC3 and PAR_DSPI appropriately, so that the PSC functions are *only* configured in the port that's actually wired to the physical connector.
0 Kudos

470 Views
MattSPI
Contributor I
Are you running the supplied linux kernel?

If so, I had the exact same problem with the same board. In driver/serial/mcfserial.c change

#define SERIAL_IRDA_LINE (3)
to
#define SERIAL_IRDA_LINE (4)

Here is the patch ltib created.

diff --exclude CVS -uNr linux-2.6.10/drivers/serial/mcfserial.c linux-2.6.10.modified/drivers/serial/mcfserial.c
--- linux-2.6.10/drivers/serial/mcfserial.c 2006-10-06 14:48:45.000000000 -0400
+++ linux-2.6.10.modified/drivers/serial/mcfserial.c 2006-10-06 14:48:10.000000000 -0400
@@ -81,7 +81,7 @@

#define IRQBASE 99

-#define SERIAL_IRDA_LINE (3)
+#define SERIAL_IRDA_LINE (4)

/*
* Configuration table, UARTs to look for at startup.
0 Kudos

470 Views
Marreshe
Contributor I
I am using MQX not Linux, but your solution may help. Do you know which ColdFire Register this is referencing?

#define SERIAL_IRDA_LINE (3)

#define SERIAL_IRDA_LINE (4)



Another thing you could try...

I set the PAR_DSPI to 0, and have successfully "toggled" the tx pin as a GPIO bit. Is there something else..?
0 Kudos

470 Views
MattSPI
Contributor I
the #define SERIAL_IRDA_LINE (3) is not referencing any one bit in particular, but it is checked later to set a bunch of different bits that force PSC3 to be an IRDA line... Since this basically turns on an undesired feature, I just set the IRDA line to a serial port that doesnt exist.

However this seems to be the main line that turns on the IRDA.

/* Put PSC in IrDA mode */
MCF_PSC_SICR(3) = MCF_PSC_SICR_SIM_SIR;

Not sure if this will help at all though.
0 Kudos