TBI Physical Address?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

TBI Physical Address?

跳至解决方案
4,259 次查看
swanandpurankar
Contributor III

Hi,

I am configuring LS1021A in RMII mode. Initialization steps in Reference manual says -

Set MIIMADD = 0x0000_nn11 (TBICON, where nn=TBIPA)

When read through reference manual, I could understand that - In order to access any TBI register, I have to load it's address in MIIMADD register. But I don't understand what value I should assign to TBIPA.

TBI's Physical address is stored in TBIPA register.

How can I know TBI's Physical address?

标签 (1)
0 项奖励
回复
1 解答
3,877 次查看
ufedor
NXP Employee
NXP Employee

The reason we have TBI registers mentioned in the initialization steps (for MII, RMII and RGMM) is because the  elastic FIFO reset logic is actually included in the internal TBI Phy logic. Hence a reset of the TBI Phy was added to the eTSEC/dTSEC recommended initialization sequence to ensure no "garbage" data would reside in the elastic FIFO during the controller's initialization.

We will add additional note in the next RM release to clarify this.

For eTSEC1 the TBIPA value should be non-zero and distinct from external PHYs addresses (if any).

For eTSEC2 and eTSEC3 the TBIPA value can be any in range 1-31.

Note that TBI PHY registers have to be accessed by means of MDIO registers belonging to the configured eTSEC.

For eTSEC2 MDIO range starts at 2D6_4000 address offset

For eTSEC3 MDIO range starts at 2DA_4000 address offset

在原帖中查看解决方案

7 回复数
3,878 次查看
ufedor
NXP Employee
NXP Employee

The reason we have TBI registers mentioned in the initialization steps (for MII, RMII and RGMM) is because the  elastic FIFO reset logic is actually included in the internal TBI Phy logic. Hence a reset of the TBI Phy was added to the eTSEC/dTSEC recommended initialization sequence to ensure no "garbage" data would reside in the elastic FIFO during the controller's initialization.

We will add additional note in the next RM release to clarify this.

For eTSEC1 the TBIPA value should be non-zero and distinct from external PHYs addresses (if any).

For eTSEC2 and eTSEC3 the TBIPA value can be any in range 1-31.

Note that TBI PHY registers have to be accessed by means of MDIO registers belonging to the configured eTSEC.

For eTSEC2 MDIO range starts at 2D6_4000 address offset

For eTSEC3 MDIO range starts at 2DA_4000 address offset

3,877 次查看
swanandpurankar
Contributor III

Means, Do I have to ignore these steps?

Additionally, If I have to access TBI registers, I will have to load TBIPA value... So what should I load it?

Or you mean to say TBI is not at all relevant to MII, RMII and RGMII modes? Then where it is required? 

0 项奖励
回复
3,877 次查看
ufedor
NXP Employee
NXP Employee

Please see corrected response.

0 项奖励
回复
3,877 次查看
swanandpurankar
Contributor III

Thanks for that... It resolved some confusion...

But is that means, Instead of MIIMADD registers mentioned in Initialization sequence, should I use eTSEC_MDIO_MIIMADD and so on?

ufedor wrote:

Note that TBI PHY registers have to be accessed by means of MDIO registers belonging to the configured eTSEC.

Or simply follow the initialization sequence as it is and after init, use eTSEC_MDIO_MIIMADD?

0 项奖励
回复
3,877 次查看
ufedor
NXP Employee
NXP Employee

> Or simply follow the initialization sequence as it is and after init, use eTSEC_MDIO_MIIMADD?

Correct, eTSECn_MDIO_MIIMADD

0 项奖励
回复
3,877 次查看
swanandpurankar
Contributor III

mmm... Let me reframe the question...

Do I need to use eTSEC_MDIO_MIIMADD in initialization seqeuence?

0 项奖励
回复
3,877 次查看
ufedor
NXP Employee
NXP Employee

Yes - see note in the first response.