Re: Segmentation fault with X.org and Coral-P drivers

3 messages, 2 authors, 2006-01-04 · open the first message on its own page

Re: Segmentation fault with X.org and Coral-P drivers

From: Wolfgang Denk <hidden>
Date: 2006-01-04 15:48:14

Dear Matthias,

in message [off-list ref] you wrote:
I have been trying to get X.org running on a board called "Embedded
Planet EP5200C" (it seems to be a "Freescale Lite5200") and a Fujitsu
Umm... no. Embedded Plaet and Freescale are two different  companies,
and EP5200 and Lite5200 are two different boards.
Coral-P (Rev 5.0). I am using the 2.4 kernel from denx.de and
Our kernel does not include any support for the EP5200 board.
succesfully installed gentoo-ppc on nfs. The framebuffer works, I get
a login prompt on the monitor.

Now I compiled x.org-6.8.2 (gentoo -r4) and the mb86290 driver from
denx.de. Unfortunately, it does not work and I get a segmentation
fault when trying to startx. strace produces the output attached
below.
Please read the documentation that comes with the driver:
ftp://ftp.denx.de/pub/fujitsu/Coral-P/README.html

Note that the driver was  built  and  tested  against  xfree86-4.3.0;
don't  expect  the  binary  to  work  in  a  completely different X11
release. You wil have to rebuild (and eventually  adapt)  the  driver
for your environment.

Feel free to contact me if you need help.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
What can it profit a man to gain the whole world and to come  to  his
property with a gastric ulcer, a blown prostate, and bifocals?
                                     -- John Steinbeck, _Cannery Row_

Re: Segmentation fault with X.org and Coral-P drivers

From: Matthias Transier <hidden>
Date: 2006-01-04 16:19:44

Hi Wolfgang,

thanks for the quick response.

2006/1/4, Wolfgang Denk [off-list ref]:
quoted
I have been trying to get X.org running on a board called "Embedded
Planet EP5200C" (it seems to be a "Freescale Lite5200") and a Fujitsu
Umm... no. Embedded Plaet and Freescale are two different  companies,
and EP5200 and Lite5200 are two different boards.
Ok, my fault. I saw a Lite5200 on a picture somewhere and it looked
pretty much like my EP board :-). But what I can tell for sure is:
when I remove the "Embedded Planet" sticker on the board, there is a
Freescale logo and a print (directly on the board): "IceCube Version
103"
quoted
Coral-P (Rev 5.0). I am using the 2.4 kernel from denx.de and
Our kernel does not include any support for the EP5200 board.
I checked it out from CVS, configured it, and it works (besides the X11 thi=
ng).
quoted
succesfully installed gentoo-ppc on nfs. The framebuffer works, I get
a login prompt on the monitor.

Now I compiled x.org-6.8.2 (gentoo -r4) and the mb86290 driver from
denx.de. Unfortunately, it does not work and I get a segmentation
fault when trying to startx. strace produces the output attached
below.
Please read the documentation that comes with the driver:
ftp://ftp.denx.de/pub/fujitsu/Coral-P/README.html
That is what I already read in order to compile the driver.
Note that the driver was  built  and  tested  against  xfree86-4.3.0;
don't  expect  the  binary  to  work  in  a  completely different X11
release. You wil have to rebuild (and eventually  adapt)  the  driver
for your environment.
I did not use the prebuilt binaries, but I was able to compile the
driver within my x.org tree. (I had to adapt the Imakefiles by myself,
the provided ones were too different from the originals.)

In the meantime, I can provide you with further debugging information:
from Xorg.0.log:
=3D=3D=3D=3D=3D=3D
(II) MB86290(0): Using XFree86 Acceleration Architecture (XAA)
        Screen to screen bit blits
        Solid filled rectangles
        8x8 mono pattern filled rectangles
        Indirect CPU to Screen color expansion
        Solid Lines
        Dashed Lines
(II) MB86290(0): Acceleration enabled
fbdevHW: LoadPalette 0
(II) MB86290(0): fbdevHWLoadPalette succeeded
=3D=3D=3D=3D=3D=3D

The last line is a message that I added. Since the output stops at
that point, it must be the next call that fails
(mb86290_driver.c:604):

        if (!xf86I2CProbeAddress(fPtr->I2C, I2C_SAA7113))
                return FALSE;

May that be a problem with the i2c driver in the kernel which does not
exactly fit with my board?
The following message also appears in Xorg.0.log, some lines above:
(II) MB86290(0): I2C bus "MB86290 I2C bus" removed.

Thanks in advance for any hint that you can give me.

Best regards,
Matthias

Re: Segmentation fault with X.org and Coral-P drivers

From: Matthias Transier <hidden>
Date: 2006-01-04 17:59:40

Hi Wolfgang,

it finally works :-). I had to make a small modification to the x.org
source code. The file xc/programs/Xserver/hw/xfree86/i2c/xf86i2c.c
contains the initialization of the i2c bus. In function
xf86I2CBusInit, I added the two lines near the beginning:

    if (b->I2CStart =3D=3D NULL)
            b->I2CStart =3D I2CStart;

which sets the start function to a default function. The problem was
that mb86290_i2c.c does not provide a start function, whereas
xf86I2CBusInit expects one under some circumstances.

Best regards,
Matthias
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help