CCM_CLKO2 doesn't work properly

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

CCM_CLKO2 doesn't work properly

1,291 Views
ko-hey
Senior Contributor II

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

Labels (2)
0 Kudos
9 Replies

813 Views
Yuri
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

813 Views
ko-hey
Senior Contributor II

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

0 Kudos

813 Views
Yuri
NXP Employee
NXP Employee

Hi,

perhaps it makes sense to configure the CLKO2 in Uboot, before kernel load.

Regards,

Yuri.

0 Kudos

813 Views
ko-hey
Senior Contributor II

Hi Yuri

Thank you for your reply.

Let me confirm about your suggestion.

We should include the configuration in dts file.

Is it correct ?

Ko-hey

0 Kudos

813 Views
Yuri
NXP Employee
NXP Employee

Hi,

I mean initialization in U-boot just after hardware reset and loading U-boot.

Regards,

Yuri.

0 Kudos

813 Views
ko-hey
Senior Contributor II

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

0 Kudos

813 Views
Yuri
NXP Employee
NXP Employee

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.

0 Kudos

813 Views
Yuri
NXP Employee
NXP Employee

in particular, ports initialization may be done in DCD tables.

~Yuri.

0 Kudos

813 Views
ko-hey
Senior Contributor II

Yuri

Thank you, I'll try it.

Ko-hey

0 Kudos