FrameBuffer drivers for MCF5329

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FrameBuffer drivers for MCF5329

3,620 Views
timw
Contributor I
Where can I get FrameBuffer drivers for the MCF5329? I have a ZOOM evaulation board and I am using different LCD and touchscreen from the ZOOM LCD.
Labels (1)
0 Kudos
Reply
9 Replies

1,710 Views
timw
Contributor I
I found the touchscreen and frame buffer files that you listed. Looking at the frame buffer file, mcf-fb.c, I don't see where it is called. I searched for references to mcffb_init() and didn't find any, other in mcf-fb.c itself. What actually calls this? What actually writes to the frame buffer? I don't see anything like a write in mcf-fb.c. I have never used frame buffers, but I would expect some sort of write function in the driver and I don't see anything like a write.
0 Kudos
Reply

1,710 Views
obidon
Contributor III

Most linux drivers are configured to provide pointers to functions to higer levels of the OS. This makes it easy to exchange drivers. For example the OS calls fb_mmap which in our case is a pointer to mcffb_mmap.

 

mcf-fb.c declares structs fb_info and fb_ops. The mcffb_ops struct is declared to have pointers to various functions within the driver. fb_info has a pointer which is set to the mcffb_ops. mcffb_init calls register_framebuffer passing a pointer to the info structure. This tells the higher level OS routines what functions to use to talk to the hardware.

 

You might check out the book Linux Device Drivers by Alessandro Rubini & Jonathan Corbet.

0 Kudos
Reply

1,710 Views
timw
Contributor I
I am trying to get the FrameBuffer, LCD and touchscreen drivers. I don't see them in the kernel source, at least in not an obvious enough spot for me to find it. What package should I look in for this source?
0 Kudos
Reply

1,710 Views
obidon
Contributor III

If you use the defaults assuming login "user" you should have ltib in /home/user/ltib-cf_nommu-20081215.

 

After doing ./ltib -m prep -p kernel you should have /home/user/ltib-cf_nommu-20081215/rpm/BUILD/linux-2.6.26/drivers/input/touchscreen This directory contains ads7843.c which is the touchscreen driver used by the mcf5329evb. 

 

/home/user/ltib-cf_nommu-20081215/rpm/BUILD/linux-2.6.26/drivers/video contains mcf-fb.c which is the frame buffer driver.

 

0 Kudos
Reply

1,710 Views
timw
Contributor I
Thanks, I can now see the source on a Debian system. Where is the documentation on the ltib process? What I realy want to do is port the LCD and touchscreen drivers to an eCos system. Unfortunately, I can't seem to transfer the files easily. I am running Debian on a virtual PC on a Windows system.  I can't use the USB port. I can't write to the CD drive. I can ftp files to another computer, but I can't ftp directories, only one file at a time. I've tried tar and zip files, which I can ftp, but the receiving system can't read these tar and zip files. Does Freescale just have a site where I can ftp the source from, without haveing to use a Linux system?
0 Kudos
Reply

1,710 Views
obidon
Contributor III

There is a file ltib-install-dir/doc/LtibFaq that is somewhat helpful. Look for "How do I make changes to a package and capture them".

 

I don't know of any ftp server to download the driver source. I use Fedora and mount to a windows shares such as:

 

mkdir /mnt/share 

mount -t cifs //192.168.1.1/SharedDocs /mnt/share -o user=xyz,password=abc

 

You can also edit fstab so it mounts automatically.

 

I would think you can do this with Debian.

 

 

 

0 Kudos
Reply

1,710 Views
obidon
Contributor III

You can download the BSP. http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=0127260061033202A9

 

You may alter the timing on the drivers/video/mcf-fb.c for your LCD.

 

0 Kudos
Reply

1,710 Views
timw
Contributor I
When I run the ltib perl script, it appear to download the source, build the images and then delete the source. Is that correct? How can I download the source and then modify it for my LCD? Is there better documentation somewhere for ltib?
0 Kudos
Reply

1,710 Views
obidon
Contributor III

Type:

 

 ./ltib -m prep -p kernel

 

This will put the kernel source in <ltib directory>/rpm/BUILD/kernel

You don't have to use prep again.

 

You can then make changes to the driver souce and either use ./ltib -c and go through the menus or

 

./ltib -m scbuild -p kernel

 

then

 

./ltib -m scdeploy -p kernel

 

If you want to work on the source code for another package such as busybox do the same replacing kernel with busybox.

 

The documentation isn't very clear about this; when I started with it it took me a while find this.

 

0 Kudos
Reply