LNK_PHY_MPLL_STATUS on CX3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
shhac_4101246
Level 2
Level 2

Hi,

I want to change SSC_RANGE[1:0] of LNK_PHY_MPLL_STATUS on CX3.

There is CyU3PUsbSSCDisable API to disable this function, but I can't find the API to change SSC_RANGE.

How can I change this parameter?

pastedImage_0.png

Best Regards,

0 Likes
1 Solution

Yes, SSCDisable API should be called before ConnectState API.

I am afraid to say that we are not giving access to the user to change SSC_RANGE.

The default SSC is set to operate at -5000 ppm, which generates maximum spread in the spectrum. I don't think the higher than this ( -4500 or -4000 ppm) would help.

View solution in original post

0 Likes
12 Replies
KandlaguntaR_36
Moderator
Moderator
Moderator
25 solutions authored 10 solutions authored 5 solutions authored

No API is available to vary the SSC Range.

Can you please let me know why do you want to change the SSC Range?

0 Likes

Hello KandlaguntaR_36,

Thanks for your reply.

Our product exceeds our emission requirement limit around 2.5 GHz that may be generated from the USB 3.0 communication.

So we'd like to know if SSC Range change can suppress this noise or not.

Is there any way to change this register value?

0 Likes

Understood.

Is disabling the SSC helping you to meet the limit?

0 Likes

Hello KandlaguntaR_36,

Thanks for the reply.

We will check if it helps to meet the limit tomorrow.

Is there any way to change this register value?

Can we access to this register directly?

Best Regards,

0 Likes

Hello,

You can access the register directly before the CyU3PConnectState API. By default, the range is set to 00 (- 5000 ppm).

Note that you can change only values related to Range: 01 (- 4500 ppm),10 (-4000 ppm),11 (-3025 ppm) in ascending order.

0 Likes

Hello,

Thanks for the information.

Is there any sample for direct access to the CX3 register?

Best Regards,

0 Likes

I have tried to access the register 0xE003302C and changed the range value to 1 just before connect state and printed the values.

Found that the ConnectState API is overwriting the MPLL_STATUS register to USB3LNK->lnk_phy_mpll_status = 0x00310018 | CY_U3P_UIB_SSC_EN;

Hence, we need to modify the ConnectState API to vary the range value. I need to check internally on this.

0 Likes

I can see that LNK_PHY_MPLL_STATUS register being overwritten at some places with some fixed values in the library. At all the places, the range is set to 0. Eventhough we tried to change this register in the firmware, it will be overwritten in the library.

Please provide the test results and without disabling the SSC. Then I will check internally.

0 Likes

Hello,

Thanks, so should I call disable API before calling CyU3PConnectState API?

Best Regards,

0 Likes

Hi KandlaguntaR_36,

We disabled SSC but the emittion got worse than SSC enabled.(I think this is expected result)

If you can provide a way to change SSC_RANGE, it's much appreciated.

0 Likes

Yes, SSCDisable API should be called before ConnectState API.

I am afraid to say that we are not giving access to the user to change SSC_RANGE.

The default SSC is set to operate at -5000 ppm, which generates maximum spread in the spectrum. I don't think the higher than this ( -4500 or -4000 ppm) would help.

0 Likes

Hello,

If default 00 has maximum spread in the spectrum, we don't want to change the range.

Thanks for your support!

0 Likes