Marvell 64360, MPSC Serial Console Problem
Suresh Chandra Mannava
msuresh at gamebox.net
Thu Apr 21 04:44:48 EST 2005
Dear Mr. Mark,
We designed a board with PPC 7410 and Marvell 64360 bridge. We
successfully ported u-boot and Linux on to this board.
Thanks for your support.
We faced a problem in MPSC serial console part. The problem is, in
Serial console data is received once after 32 characters are typed.
Any thing less than 32 characters is not echoed or not transmitted
till the 32 character count is reached.
After carefully reviewing the code. We found that the receive buffer
size is initialised to 32 bytes.
We made a small correction in the code by making the receive buffer size
to 1
rxre->bufsize = 1;
After this modification, we got beautiful serial console working fine.
Here is the part of the code from "mpsc.c"
Function name "mpsc_init_rings"
for (i = 0; i < MPSC_RXR_ENTRIES; i++) {
rxre = (struct mpsc_rx_desc *)dp;
/* rxre->bufsize = cpu_to_be16(MPSC_RXBE_SIZE);*/
rxre->bufsize = 1; /* Modified Line*/
rxre->bytecnt = cpu_to_be16(0);
rxre->cmdstat = cpu_to_be32(SDMA_DESC_CMDSTAT_O |
SDMA_DESC_CMDSTAT_EI |
SDMA_DESC_CMDSTAT_F |
SDMA_DESC_CMDSTAT_L);
rxre->link = cpu_to_be32(dp_p + MPSC_RXRE_SIZE);
rxre->buf_ptr = cpu_to_be32(bp_p);
dp += MPSC_RXRE_SIZE;
dp_p += MPSC_RXRE_SIZE;
bp += MPSC_RXBE_SIZE;
bp_p += MPSC_RXBE_SIZE;
}
Once again thank you very much for your support.
Regards,
Suresh Chandra Mannava
More information about the Linuxppc-embedded
mailing list