2010-05-23 23:44:50     blackfin_cam on BF548

Document created by Aaronwu Employee on Aug 21, 2013
Version 1Show Document
  • View in full screen mode

2010-05-23 23:44:50     blackfin_cam on BF548

Dusko Cencan (GERMANY)

Message: 89781   

 

Hi,

 

 

 

I recently switched from a CM-527 module to a bf548 with a custom design. I wired  a OV9655 camera as I did it one the cm-527 module. I assume i2c is working (output looks very smilioar to my old board), but I got problem with the EPPI port. The thing is that I dont got any clock on the CLKBUF PIN and on the PCLK PIN on the camera. I understand that the bf527 had PPI but the bf54x series got multiple EPPI ports. I connected the camera on the EPPI0 port where the LCD display is located on the 548-ezkit. The camera driver has a #define which sets the port to EPPI1 when a bf54x processor is configured, so I just edided some header files to switch the EPPI1 makro to EPPi0 registers. So now when some driver talk to EPPI1 it actually talks to the EPPI0 port. But I still dont habe any clock, nothing happens.

 

The interesting part is that I try to boot the latest precompiled bf548 image from SVN and with this image I can measure the PCLK and also got some singals on the ppi data pins, although there is no camera driver present in this image.

 

Now my question is, where is the code that enabled the EPPI0 port and the clock in the precompiled release?

 

Maybe it's just the LCD driver of the bf548 ezkit that enabled the port? I dont know how to enable it from within the camera driver ...

 

 

 

Best regards,

 

 

 

Dusko Cencan

QuoteReplyEditDelete

 

 

2010-05-25 11:05:53     blackfin_cam on BF548

Michael Hennerich (GERMANY)

Message: 89835    You booted a BF548-EZKIT image?

If yes then it is the lq043 framebuffer driver that enables EPPI0.

 

1) You need to disable the video splash screen in u-boot for the BF548-ezkit

2) Disable the fb driver in the kernel.

3) Totally isolate the EPPI0 from the Display using some of the switches on the BF548-EZKIT.

 

It is also possible to use EPPI1 - but you also need to free up some of the EPPI0-24bit pins and change it to 18-bit mode.

This also involves steps 1) and 3)

QuoteReplyEditDelete

 

 

2010-05-25 11:27:48     Re: blackfin_cam on BF548

Dusko Cencan (GERMANY)

Message: 89836   

 

Hi,

 

 

 

Thanks for the reply. I changed some code yesterday and now I am closer. The display driver was already disabled in the kernel. I dont know exactly how to disable the bootup screen in uboot. Actually I am not using the ezkit, I have a custom board with the 548 blackfin. The i2c and eppi ports are 1:1 as on the ezkit . My cam is connected to the EPPI0 port. What I did yesterday was to enable the CLKBUF which is connected to PIN 12 of the camera.Now i have a clear PCLK, i2c communications works and also have some signals on the PPI data pins of the cam. All signals look exactly the same as on my old CM-527 module and the cam is wired in the same way. On the old CM-527 I managed to get the driver to work.

 

Now, it is just a problem of the proper EPPI port. I tried changing EPPI1 to EPPi0 in blackfin_cam.c but this wont work. The I rolled it back to EPPI1 and switched all the registers. So EPPI1 becomes EPPI0 physical. I changed it in the def-bf54x.h and in dma.h and irq.h. This also doesn work, maybe I miss something?

QuoteReplyEditDelete

 

 

2010-05-27 22:45:20     Re: blackfin_cam on BF548

Dusko Cencan (GERMANY)

Message: 89934   

 

Hi,

 

 

 

Does anybody have a working configuration with an Omnivision camera on the bf548? Now, that the cam itself works, but I don't got any interrupts or even one single image on the EPPI port, I think I forgot something important Signals look very good, I assume that I miss some configuration in order to got the EPPI port work properly.

 

 

 

Dusko Cencan

QuoteReplyEditDelete

 

 

2010-05-27 23:14:45     Re: blackfin_cam on BF548

Peter Naulls (UNITED STATES)

Message: 89935   

 

Yes, I do as of today.  Try to read through some of my extensive posts and perhaps I can save you some pain.  One thing you want to check is the syncs and related items (see second hardware reference PDF on PPI registers).

QuoteReplyEditDelete

 

 

2010-05-28 07:28:01     Re: blackfin_cam on BF548

Dusko Cencan (GERMANY)

Message: 89957   

 

Hi Peter

 

I didn't find any posts from you which are related to EPPI and camera. I tried searching goole also. Maybe you can help me out? I read the HRM to check if my registers are set correctly. They seem OK. I changed some header files in the "mach" drectory to map the "EPPI1" makro to physical addresses and registers of EPPI0. Basically I switched addreses of EPPI0 and EPPI1 and the blackfin_cam driver talks to the EPPI1 makro which is physically EPPI0. I also switched DMA and IRQ in dma.h and irq.h. The Pin Mutex is also set correctly as I call "EPPI1" from blackfin_cam and set the PPI_8 array with P_PPI0 values, which are actually the Pins of the EPPI0 port.

 

Framebuffer Display Driver are disabled in the kernel.

 

In U-Boot I enabled the CLKBUF, which was necessary.

 

Is there any other change I have to make in uboot and the kernel?

 

 

 

I really have no ideas left. Should I try to read out the EPPI_STATUS registers?

QuoteReplyEditDelete

Attachments

    Outcomes