FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6343 Discussions

TLP request with Root port to endpoint

ALast5
Novice
959 Views

Hello,

I had a problem with the Read Config Type 0 request from the Root port to the endpoint

I use the CRA interface and my query is

32'h 04000001

32'h0000170F

32'h00000000

32'h00000000

I use one endpoint and one communication line, cfg_bus [12: 0] on both devices shows 13'd0.

Ltssmstate [4: 0] takes the value 0x0F and lane_act [3: 0] takes 0x01.

The problem is that when sending a request from the Root port, it receives it and responds to it (gives its configuration space to the Root port) and the data does not reach the endpoint, I use Cyclone 5, tell me what could be the problem?

10 Replies
KeenYewL_Intel
Moderator
509 Views
Hi there, sorry for being late, we will find someone to address your question.
0 Kudos
BoonT_Intel
Moderator
509 Views

Hi Sir,

Let me clarify, do you mean the endpoint is ack with the config_read request but never return a data?

0 Kudos
ALast5
Novice
509 Views

Hello,

 

That's right, as I understand it, this is connected with routing, but apparently I don’t understand how to use it correctly, or is it connected with "enumeration"?

Sorry for my bad english

 

Sincerely, Alexander

0 Kudos
BoonT_Intel
Moderator
509 Views

Hi Sir,

 

can you help to show us fro where you observe the ACK and waiting for the data? Do you try with other address? Also, if you perform memory read, will you facing the same issue?

 

Yes, usually config_read/write is happen during enumeration automatically, user do not need to trigger it manually. May I know is the enumeration is complete at the root port?

0 Kudos
ALast5
Novice
509 Views

Hello,

 

I probably did not say so. I'm on the Root port side. I'm trying to get device configuration space. I guess I do not completely do enumration.

0 Kudos
BoonT_Intel
Moderator
509 Views

Hi, Ltssmstate [4: 0] takes the value 0x0F and lane_act [3: 0] takes 0x01. show the link are up. with this we can assume the enumeration is completely done.

can you give a try on doing same config read to other endpoint? Or try with different address

0 Kudos
ALast5
Novice
509 Views

Hello,

 

Unfortunately, there is no possibility to use another endpoint. How to configure routing? To use queries Read Config Type 1?

0 Kudos
BoonT_Intel
Moderator
509 Views

Routing done by header 0 and header 1.

Header 0 is for endpoints (device) while header 1 is for rootcomplex, SWs and bridges.

 

0 Kudos
ALast5
Novice
509 Views

Hello,

 

Solved a problem

First, I assigned the device number and bus number

0x44000001

0x0000100F

0x00000018

0x00010100

and then done the configuration read type 1

0x05000001

0x0000100F

0x01080000

0x00000000

thanks for the help

BoonT_Intel
Moderator
509 Views

Hi Sir,

Glad to know it is solve.

Can you help by briefly explain how you decode these:

First, I assigned the device number and bus number

0x44000001

0x0000100F

0x00000018

0x00010100

and then done the configuration read type 1

0x05000001

0x0000100F

0x01080000

0x00000000

 

This may help others whose using CRA interface.

 

0 Kudos
Reply