Skip to contentSkip to conversation

kernel with marvell 64360 support

DISCUSSION Suresh Chandra Mannava 2 participants 6 messages Feb 21, 2005 – Apr 22, 2005

lore
Share & tools
lore
#0 lore raw

Hi,

We designed a power-pc 7410 board with galileo mv64360 bridge. We are interested in porting linux on to that board.

Where can I download the linux kernel with 64360 (serial, ethernet, PCI etc) drivers.
please provide the pointers for the same.

Regards,
Suresh Chandra Mannava

#1 lore raw
Quoted 8 lines · Suresh Chandra Mannava

Hi,

We designed a power-pc 7410 board with galileo mv64360 bridge. We are interested in porting linux on to that board.

Where can I download the linux kernel with 64360 (serial, ethernet, PCI etc) drivers.
please provide the pointers for the same.

You can get the latest code minus 3 patches and the enet driver from the latest linux-2.5 tree on bkbits.net/kernel.org. The 3 patches are in the linuxppc-embedded mail archive. AFAIK, the enet driver is queued to go into the mainline tree but I don't know when that'll happen. If you need it now, you can contact Dale Farnsworth <[email protected]>.

Mark

#2 lore raw
Quoted 7 lines · Mark A. Greer
Quoted 5 lines · Suresh Chandra Mannava

Hi,

We designed a power-pc 7410 board with galileo mv64360 bridge. We are interested in porting linux on to that board.

Quoted 7 lines
Quoted 3 lines

Where can I download the linux kernel with 64360 (serial, ethernet, PCI etc) drivers.
please provide the pointers for the same.

You can get the latest code minus 3 patches and the enet driver from the latest linux-2.5 tree on bkbits.net/kernel.org. The 3 patches are in the linuxppc-embedded mail archive. AFAIK, the enet driver is queued to go into the mainline tree but I don't know when that'll happen. If you need it now, you can contact Dale Farnsworth <[email protected]>.

I failed to mention that there is an i2c driver queued to go in at: http://archives.andrew.net.au/lm-sensors/msg29471.html

Mark

#3 lore raw

Marvell 64360, MPSC Serial Console Problem

In reply to Mark A. Greer

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

#4 lore raw

Re: Marvell 64360, MPSC Serial Console Problem

Quoted 9 lines · Suresh Chandra Mannava

<snip>

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;

<snip>

Suresh,

I think you fixed a symptom but not the problem. By default, the rx buffers are indeed 32 bytes long (i.e., a cacheline in size). When receiving, the mpsc will generate an interrupt when there is an error, when the buffer is full (32 bytes--unlikely if you're typing), or after a timeout. I suspect your timeout value is bogus so you don't get the interrupt until you fill the buffer with 32 bytes. Please compare the platform_data that you pass to the mpsc driver to other, working systems that use the mpsc (e.g., katana and cpci690). In particular, look at your 'max_idle' value.

Mark

#5 lore raw

Re: Marvell 64360, MPSC Serial Console Problem

Quoted 10 lines

Suresh,

I think you fixed a symptom but not the problem. By default, the rx buffers are indeed 32 bytes long (i.e., a cacheline in size). When receiving, the mpsc will generate an interrupt when there is an error, when the buffer is full (32 bytes--unlikely if you're typing), or after a timeout. I suspect your timeout value is bogus so you don't get the interrupt until you fill the buffer with 32 bytes. Please compare the platform_data that you pass to the mpsc driver to other, working systems that use the mpsc (e.g., katana and cpci690). In particular, look at your 'max_idle' value.

Mark

Mr. Mark,

Thank you for your reply. You exactly pointed out the mistake I had done with max_idle. I didn't initialized the mpsc_pdata structure in platform dependent file. Now I initialized max_idle =40. And every thing is working fine.

Still facing some problems with mv64360 giga Ethernet driver. I will come back after a little bit of investigation.

Regards,
Suresh Chandra Mannava