About use of SCT registers for CCM_ANALOG_PLL_ARM

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

About use of SCT registers for CCM_ANALOG_PLL_ARM

1,106 Views
yuuki
Senior Contributor II

Dear all,

Would you tell me about SCT registers for CCM_ANALOG_PLL_ARM?

The register about CCM_ANALOG_PLL_ARM has four of the following.
 - CCM_ANALOG_PLL_ARM
 - CCM_ANALOG_PLL_ARM_SET
 - CCM_ANALOG_PLL_ARM_CLR
 - CCM_ANALOG_PLL_ARM_TOG

We understand these registers as follows.

 - When we set value to DIV_SELECT field, we write value to CCM_ANALOG_PLL_ARM register.
 - When we set PLL_SEL bit, we write "1" to CCM_ANALOG_PLL_ARM_SET register.
 - When we clear PLL_SEL bit, we write "1" to CCM_ANALOG_PLL_ARM_CLR register.

Is our understanding right?

May I have advice?

Best Regards,
Yuuki

Labels (1)
Tags (1)
0 Kudos
Reply
3 Replies

946 Views
Yuri
NXP Employee
NXP Employee

Hello,

  Register, named CCM_ANALOG_PLL_ARM (at 0x020C_8000), is used to read / write

the register as whole 32-bit word. The registers, having _SET (at 0x020C_8004), _CLR (at 0x020C_8008),

_TOG (at 0X020C_800C) should be used for bit selective operations.

SET means a write to this address will set bits to 1s in register if the corresponding bit in write data was 1.

CLEAR means a write to this address will clear bits to 0s in register if the corresponding bit in write data was 1.

TOGGLE means write to this address will toggle bits in register if tje corresponding bit in write data was 1

Please look at examples below. 

 #define bit20 0x00100000

// set bit

( * ( unsigned int *) CCM_ANALOG_PLL_ARM_SET) = bit20 ;

// clear bit

( * ( unsigned int *) CCM_ANALOG_PLL_ARM_CLR) = bit20 ;

// toggle (change) bit

( * ( unsigned int *) CCM_ANALOG_PLL_ARM_TOG) = bit20 ;

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

946 Views
yuuki
Senior Contributor II

Yuri

Dear Yuri-san,

Thank you for your quick response.

Is it same about DIV_SELECT field?
(Should DIV_SELECT field be written by using an SET register, too?)

I suspect that the SET register cannot execute Set and Clear(set "1" and "0") at the same time.

Best Regards,

Yuuki

0 Kudos
Reply

946 Views
Yuri
NXP Employee
NXP Employee

Hello, Yuuki-san !

  If it is needed to configure only the DIV_SELECT field, without affecting 

other bits in the register - we should use the SET and CLR registers.

  It would be better to use access to whole register  [ just CCM_ANALOG_PLL_ARM

(at 0x020C_8000)] : first read it to temporary store, set  DIV_SELECT field, without affecting 

other bits and write the (whole) register with new content.

Regards,

Yuri.

0 Kudos
Reply