i.mx6 IPU clocks for CSI streaming

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

i.mx6 IPU clocks for CSI streaming

Jump to solution
2,359 Views
ivankozic
Contributor IV

Hi all,

I have a specific question regarding IPU - After modifying some IPU driver code (a lot of things in the code are wrong - not according to the RM), I am able to successfully stream generic data from sensor to a file. However, the data is wrong, and it seems to me that this de-sync comes somewhere after MIPI-CSI2 receiver (since MIPI_ERR registers are clear - it is correctly configured).

According to the following thread Some Experience When Enable MIPI Camera, there are some clock considerations to take care of:

hsp_clk(IPU) > CCM_PIXEL_CLOCK/0.9 (CSI2IPU?) > (mipi_clk_lane frequency / (8bits*2))*data_lane_number

The MIPI stuff is clear, but CCM_PIXEL_CLOCK is only mentioned once in the entire RM and I have no clue how is it set in SW. I don't see any references to it in the CCM chapter and clock tree. So the first question is:

1. How can I set / change CCM_PIXEL_CLOCK in kernel code?

Also the part with HSP_CLK is not really clear - this should be the main high-speed IPU clock (mentioned in clock.c as IPU1_CLK). As my linux experience is a bit limited and clock.c seems really complex, I would really appreciate if someone who knows more about this topic explain me how to exactly set this clock's rate. So, official question is:

2. How do I set the HSP_CLK for IPU1 in kernel code? Is it set in clock.c or somewhere else?

Thanks in advance - all comments are welcome!

1 Solution
724 Views
JayTu
NXP Employee
NXP Employee

1. MIPI pixel clock came from emi_clk.

2. Yes, select different HSP or divider to get the clock you need.

View solution in original post

1 Reply
725 Views
JayTu
NXP Employee
NXP Employee

1. MIPI pixel clock came from emi_clk.

2. Yes, select different HSP or divider to get the clock you need.