CMSIS FCLKSEL10 LPC54018

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

CMSIS FCLKSEL10 LPC54018

Jump to solution
884 Views
danielgull
Contributor IV
Hi
In the SDK 2.7.0 for LPC54018 I have found this SYSCON_Type struct rather odd. The SPI10 with its FCLKSEL is defined separately from other SPI interface FCLKSEL. What is the reason? Can this be changed in the next SDK?
SDK_2.7.0_LPCXpresso54018\devices\LPC54018\LPC54018.h
Status Quo
typedef struct {
  ....
  __IO uint32_t FCLKSEL[10];
  __IO uint32_t FCLKSEL10;
  ....
} SYSCON_Type;
Proposal for change
typedef struct {
  ....
  __IO uint32_t FCLKSEL[11];
  ....
} SYSCON_Type;
Many thanks
Dani
Labels (1)
Tags (3)
0 Kudos
1 Solution
804 Views
danielgull
Contributor IV

Hi XiangJun

Good point - that explains whay this register has a different name. I think it is best to keep the situation as is, because otherwise you could end up by setting the register the same as the others which will end up in a wrong configuration. The registers are not the same!

Suggestion:

Don't change anything and keep things the way they are.

Thank you for your valuable input and making me aware of this.

Dani

View solution in original post

0 Kudos
2 Replies
804 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Daniel,

Thank you for your pointing out the drawback of the SYSCON_Type structure. As you know that the UM11060.pdf defines two Table:

Table 121. Flexcomm Interface clock source select registers (FCLKSEL0-9, main syscon: offsets 0x2B0 through
2D4) bit description

Table 122. Flexcomm Interface clock source select registers (FCLKSEL10, main syscon: offset 2D8) bit description

Obviously, the address of FCLKSEL0-9 and FCLKSEL10 are continuous, but the engineers do not compute the address, so they define the  FCLKSEL10 independently as the UM.  But It does not take effect on the function and performance of the code.

Anyway, I will tell the firmware team of the question.

BR

XiangJun Rong

0 Kudos
805 Views
danielgull
Contributor IV

Hi XiangJun

Good point - that explains whay this register has a different name. I think it is best to keep the situation as is, because otherwise you could end up by setting the register the same as the others which will end up in a wrong configuration. The registers are not the same!

Suggestion:

Don't change anything and keep things the way they are.

Thank you for your valuable input and making me aware of this.

Dani

0 Kudos