原创 MARVELL 88E6320调试过程分享

2023-6-2 10:00 1373 9 6 分类: 物联网
一、去年在调试MARVELL 88E6320,交换机功能调通。剩下SMI通讯去访问芯片寄存器,这个功能可有可无,调不通的话就当作傻瓜交换机用。所幸调通,也是迷迷糊糊,自己太菜鸡了~
二、下面分享一下调试过程

第一篇 port 操作

只有2个寄存器可以直接访问,命令寄存器(0x00)和数据寄存器(0x01),其他寄存器要通过这两个寄存器访问。

读写流程

读写某一个功能寄存器的时候,必须通过命令寄存器(0x00)和数据寄存器(0x01)实现

读指令

先往命令寄存器(0x00)写入16bit的包含目标device地址和register地址的数据,然后读取数据寄存器(0x01)中的数据,即为所需数据。

写指令

先往数据寄存器(0x01)写入设计数据,然后再往命令寄存器(0x00)写入16bit的包含目标device地址和register地址的数据。

例:

读取port1的status

Bit

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Device地址

Status寄存器地址

1

0

0

1

1

0

1

0

0

0

0

0

0

0

0

0

9

A

0

0

往命令寄存器(0x00)写入0x9A00,然后读取数据寄存器(0x01)数据,如下图

具体操作地址,查看寄存器手册212页,9.3章,Figure62:Device Register Map

 

 

 

 

 

 第二篇 PHY、SERDES操作

操作流程

PHY、SERDES 寄存器的操作,必须经过

命令寄存器(0x00)和数据寄存器(0x01)操作

Global2 寄存器(device addr 为0x1C)来实现,分步如下:

通过命令寄存器(0x00)和数据寄存器(0x01)向

Global2 (device 0x1C)的寄存器SMI PHY COMMAND 寄存器(0x18)写入命令

通过命令寄存器(0x00)和数据寄存器(0x01),读取

Global2 (device 0x1C)的寄存器SMI PHY COMMAND 寄存器(0x18)写入命令

具体流程如下:

将表2.1或者2.2中数据写入数据寄存器(0x01)

将写global2的PC寄存器的命令(0x9798)写入命令寄存器(0x00)

将读global2的pd寄存器的命令(0x9B99)写入命令寄存器(0x00)

例:读SERDES STATUS寄存器,来判断光纤接入与否,光纤接入后,第一次读,读到0x169,显示光纤未接入;第二次及以后读,读到0x16D,显示光纤接入成功。造成此现象,猜测或许是判断光纤接入的寄存器选择不太正确,或许还有其他状态寄存器指示光纤接入与否,比如手册10.2章节,SERDES REGISTER DESCRIPTION。第481页 table 383。

表2.1 Serdes寄存器:(Clause 22 读)——光口

资源(接口)(device addr)

寄存器

(register addr)

Serdes(port0)

(0x0C)

Serdes1(port1)

(0x0D)

解释

Control(0x00)

0x9980

0x99A0

Status(0x01)

0x9981

0x99A1

PHY_ID(0x02)

0x9982

0x99A2

PHY_ID(0x03)

0x9983

0x99A3

Auto-Neg(0x04)

0x9984

0x99A4

Ability(0x05)

0x9985

0x99A5

Auto-Neg(0x06)

0x9986

0x99A6

NextPage(0x07)

0x9987

0x99A7

NextPage(0x08)

0x9988

0x99A8

ExtStatus(0x0F)

0x998F

0x99AF

Control reg1(0x10)

0x9990

0x99B0

Status reg1(0x11)

0x9991

0x99B1

IntEnable(0x12)

0x9992

0x99B2

IntStatus(0x13)

0x9993

0x99B3

Rx Err Ctr(0x15)

0x9995

0x99B5

CRC_Ctr(0x18)

0x9998

0x99B8

Paket gen(0x19)

0x9999

0x99B9

Control reg2(0x1A)

0x999A

0x99BA

SERDES寄存器位解析

control 寄存器





Status 寄存器


2.1 PHY设备寄存器(Clause22 读)

资源(接口)(device addr)

寄存器

(register addr)

PH1(port3)

(0x03)

PH2(port4)

(0x04)

解释

Control(0x00)

0x9860

0x9880

Status(0x01)

0x9861

0x9881

PHY_ID(0x02)

0x9862

0x9882

PHY_ID(0x03)

0x9863

0x9883

Auto-Neg(0x04)

0x9864

0x9884

Ability(0x05)

0x9865

0x9885

Auto-Neg(0x06)

0x9866

0x9886

NextPage(0x07)

0x9867

0x9887

NextPage(0x08)

0x9868

0x9888

Control(0x09)

0x9869

0x9889

Status(0x0A)

0x986A

0x988A

ExtStatus(0x0F)

0x986F

0x988F

PHYSpecific(0x10)

0X9870

0x9890

PHYSpecific(0x11)

0X9871

0x9891

PHYSpecific(0x12)

0X9872

0x9892

PHYSpecific(0x13)

0X9873

0x9893

PHYSpecific(0x14)

0X9874

0x9894

Rx Err Ctr(0x15)

0X9875

0x9895

Page reg(0x16)

0X9876

0x9896

PHY INT(0x17)

0X9877

0x9897

PageSpecific(0x18)

0X9878

0x9898

PageSpecific(0x19)

0X9879

0x9899

PageSpecific(0x1A)

0X987A

0x989A

PageSpecific(0x1B)

0X987B

0x989B

PageSpecific(0x1C)

0X987C

0x989C

 


作者: LIN, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3865155.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

LIN 2024-6-2 18:29

luckyzy2000: 第二个问题算是调试成功了吗??
是的

luckyzy2000 2023-6-25 16:23

第二个问题算是调试成功了吗??
相关推荐阅读
LIN 2022-07-08 12:44
桶装水自动抽水泵->触发器下降沿也触发问题
桶装水抽水泵        半个月前回家,老爸说桶装水的电动抽水泵坏了,叫我有空修一下。桶装水抽水泵大同小异,我家买的是如图1所示,淘宝30大洋左右。外壳已经...
我要评论
2
9
关闭 站长推荐上一条 /3 下一条