How to Read LTSSM State in T2081 CPU

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to Read LTSSM State in T2081 CPU

4,158件の閲覧回数
viniamintokarch
Contributor II

I am trying to read the LTSSM state of the PCIe interface in my T2081 CPU using Codewarrior Tap. I believe that would be the PEX control/status register 0 or CSR0 register. I can't seem to find that register in the standard register list using the Debug tool in Codewarrior. Is it possible to read the LTSSM state using Codewarrior Tap?

 

Thanks,

Vinny

0 件の賞賛
返信
4 返答(返信)

4,131件の閲覧回数
viniamintokarch
Contributor II

We were reading the wrong address. Since we are using PEX4 we needed offset 270000, so in u-boot the CRS0 address is 0xfe270f14 as mentioned above. In Linux you add an extra f so 0xffe270f14. When booted the LTSSM state is 0x11 as expected.

0xffe270f14 90000044 00FF0000 00000000 00008000

The difficulty now is trying to read that register while Link Training. It seems this is not possible using CodeWarrior Tap so we are attempting to create some code to do it and log the LTSSM register transitions.

Thanks,

Vinny

0 件の賞賛
返信

4,144件の閲覧回数
ufedor
NXP Employee
NXP Employee
It is needed to read 32-bit memory location with address 0xFE270F14 (for the PCIe4).
Refer to the CodeWarrior Development Studio for Power Architecture Processors Targeting Manual, 5.11 Viewing memory.

0 件の賞賛
返信

4,141件の閲覧回数
viniamintokarch
Contributor II

How can I read this location when the CPU is booting and link training? I don't have access to basic read/write commands during that time.

 

Thanks,

Vinny

0 件の賞賛
返信

4,078件の閲覧回数
ufedor
NXP Employee
NXP Employee

The LTSSM value is meaningful after the training is completed - i.e. it has to be 0x11 in normal case and something else in problem cases.

0 件の賞賛
返信