Problems I meet when porting linux to onda vx747
1. About jz4740 DMA
JZ4740 has 2 groups of DMA, 4 channels in each group. The default prority is channel 0 has the highest priority and channel 7 has the loweset priority.
Channel 0 is used for SLCD and channel 2/3 are used for MMC TX/RX. Because the SLCD DMA is busy transmitting data from frame buffer to LCD controller, so that MMC DMA is in hunger and the root filesystem can not be loaded from micro sd card.
In SLCD driver, set the DMA priority to round bin.
2. Issues about qtopia
(1)QWSServerSocket: could not bind to file /tmp/qtembedded-unknown/QtEmbedded-0
Error: File exists
Failed to bind to /tmp/qtembedded-unknown/QtEmbedded-0
Add networking support in linux kernel.
Networking support->Networking options->Unix domain sockets
(2)QServerSocket: failed to bind or listen to the socket
Failed to bind to port 4243
QServerSocket: failed to bind or listen to the socket
Failed to bind to port 4242
According to http://osdir.com/ml/handhelds.opie/2002-10/msg00253.html,
Opie is binding to the ports 4242(ftp) and 4243(qcopbridge) this is needed for
syncing.. Opie got terminated and restarted somehow and did not properly
release the sockets..
I guess this is a kernel security feature.
That's because Opie can not bind to port 4242 and 4243. After enabling TCP/IP support in linux kernel, this problem is solved.
Networking support->Networking options->TCP/IP networking
(3)Unable to open /usr/share/zoneinfo/zone.tab
That's because zoneinfo directory is missed. Copy it from my debian and it works.
3. Issues about framebuffer console
When I pass console=fb0 to linux kernel, the framebuffer does not appear on LCD. I am sure the LCD driver is working because the qtopia can run successfully. And I have enabled framebuffer console support in linux kernel.
Pass console=tty0 to linux kernel can solve this problem.