CPM uart
Marco Schramel
Schramel.Linux at go.bartec.de
Thu Apr 14 17:26:01 EST 2005
Hi,
on my target (MPC8270, 2.4.25) SCC1, SCC2 and SCC3 will work fine as ttyS0 .. ttyS2 with console at ttyS0.
It works with this code in arch/ppc/8260_io/uart.c
#define CONFIG_SERIAL_CONSOLE_PORT 0
#define SCC_NUM_BASE 0 /* SCC base tty "number" */
#define SCC_IDX_BASE 0 /* table index */
static struct serial_state rs_table[] = {
/* UART CLK PORT IRQ FLAGS NUM */
{ 0, 0, PROFF_SCC1, SIU_INT_SCC1, 0, SCC_NUM_BASE}, /* SCC1 ttyS0 */
{ 0, 0, PROFF_SCC2, SIU_INT_SCC2, 0, SCC_NUM_BASE + 1}, /* SCC2 ttyS1 */
{ 0, 0, PROFF_SCC3, SIU_INT_SCC3, 0, SCC_NUM_BASE +2}, /* SCC3 ttyS2 */
Now i need the two SMC's.
I changed the source to:
#define CONFIG_SERIAL_CONSOLE_PORT 2
#define SCC_NUM_BASE 2 /* SCC base tty "number" */
#define SCC_IDX_BASE 2 /* table index */
static struct serial_state rs_table[] = {
/* UART CLK PORT IRQ FLAGS NUM */
{ 0, 0, PROFF_SMC1, SIU_INT_SMC1, 0, 0}, /* SMC1 ttyS0 */
{ 0, 0, PROFF_SMC2, SIU_INT_SMC2, 0, 1}, /* SMC2 ttyS1 */
{ 0, 0, PROFF_SCC1, SIU_INT_SCC1, 0, SCC_NUM_BASE}, /* SCC1 ttyS2 */
{ 0, 0, PROFF_SCC2, SIU_INT_SCC2, 0, SCC_NUM_BASE + 1}, /* SCC2 ttyS3 */
{ 0, 0, PROFF_SCC3, SIU_INT_SCC3, 0, SCC_NUM_BASE + 2}, /* SCC3 ttyS4 */
and passed the bootloader the correct console=ttyS2.
During booting kernel hangs on initializing ttyS2 forever.
What could be wrong ? I only changed the io port configuration in the init function.
Thanks in advance
Marco
---------
Marco Schramel
More information about the Linuxppc-embedded
mailing list