Hi all
My customer wants to output stably using CCM_CLKO2 using i.MX6S.
They use CCM_CLKO2 for their CMOS sensor clock and the sensor need 24MHz clock when it powered on.
Unfortunately, they can't change the HW design because they have already built a prototype board.
They tried three cases but I have a following problem with CCM_CLKO2.
There are two cases when it set 6MHz.
・CCM_CLKO2 outputs after a while ( over 200ms )
・CCM_CLKO2 outputs immediately after power on.
There are three cases when it set 12MHz.
・CCM_CLKO2 doesn't output. (The probability is 50%)
・CCM_CLKO2 outputs after a while ( over 200ms )
・CCM_CLKO2 outputs immediately after power on.
There are two cases when it set 24MHz.
・CCM_CLKO2 outputs after a while ( over 200ms )
・CCM_CLKO2 outputs immediately after power on.
Add info :Their register value
CCM_CCOSR(6MHz) 0x016E0101
CCM_CCOSR(12MHz) 0x012E0101
CCM_CCOSR(24MHz) 0x010E0101
IOMUXC_SW_MUX_CTL_PAD_GPIO03 0x00000004
IOMUXC_SW_PAD_CTL_PAD_GPIO03 0x000000B0
Please advice me what should we check.
Ko-hey
Hello,
1.
How software initialization for the CLKO2 is implemented ?
(why it is expected that CLKO2 outputs immediately after power on )
2.
Please check power up sequence.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuri
Thank you for your response.
1.
I'm sorry for lack of information.
They set the registers in Kernel.
The reason is sensor's specification.
T The sensor has a specification that user can access registers by I2C after inputs 100 cycle.
They can't satisfy the specification of the sensor if the CCM_CLKO2 does not outputs at the same timing.
2.
Okay, I'll check it.
Ko-hey
Hi
Do you mean user have to stop at U-boot and add some command before kernel load ?
I think it isn't suitable for mass production. Because user have to stop at U-boot every time.
So I think I need fix it with source code.
How can I fix it with source code ?
Ko-hey
Hello,
> Do you mean user have to stop at U-boot and add some command before kernel load ?
No. It is needed to add / design (source) code to original U-boot.
Chapter 1 (Porting U-Boot from an i.MX 6/7 Reference Board to
an i.MX 6/7 Custom Board) in “i.MX_BSP_Porting_Guide.pdf” describes
U-boot specifics for i.MX6.
Regards,
Yuri.