Atlas 200I A2 加速模块提供了两个MDIO的控制器,寄存器基址分别为(MDIO0: 0xA0180000)和(MDIO1: 0xA0190000);具体寄存器描述如下。
| 寄存器名称 | 描述 | 偏移地址 | 宽度 | 默认值 | 字段名称 | 字段范围 | 字段属性 | 字段默认值 | 字段释义 | 
|---|---|---|---|---|---|---|---|---|---|
| MDIO_COMMAND_REG | MDIO控制寄存器 | 0x0000 | 32 | 0x00008000 | rsv | 31:18 | RO | 0x0 | 保留 | 
| Mdio_clk_sel_exp | 17 | RW | 0x0 | MDIO的时钟模式选择扩展寄存器。与Mdio_clk_sel一起选择时钟模式,{Mdio_clk_sel_exp,Mdio_clk_sel}: 默认值为01 00:1MHz; 01:2.5MHz; 10:12.5MHz; 11:25MHz(需要保证宽带PHY器件的Tco(MDC的上升沿到MDIO稳定的时间)+双向电平转换器件的延时不大于25ns) | |||||
| Mdio_Auto_Scan | 16 | RW | 0x0 | 自动扫描PHY使能(只能扫描符合IEEE802.3-2005协议中第22章描述的寄存器)。配置该bit时,Mdio_Start必须为0 | |||||
| Mdio_clk_sel | 15 | RW | 0x1 | MDIO的时钟模式选择寄存器,具体描述见Mdio_clk_sel_exp | |||||
| Mdio_Start | 14 | RW/SC | 0x0 | MDIO启动命令控制字。 1:表示正在进行MDIO访问,不能进行操作,此位在MDIO访问结束后自动清零。(50us可以完成一次访问); 0:表示MDIO访问已经结束,可以进行写1进行MDIO访问。 配置该bit时,Mdio_Auto_Scan必须为0 | |||||
| Mdio_St | 13:12 | RW | 0x0 | MDIO访问类型寄存器。 2’b00:表示访问的是符合IEEE802.3-2005协议中第45章描述的寄存器; 2’b01:表示访问的是符合IEEE802.3-2005协议中第22章描述的寄存器。其余为无效值。 | |||||
| Mdio_Op | 11:10 | RW | 0x0 | MDIO操作寄存器。 当mdio_st为2’b00时,mdio_op: 2’b00代表写地址, 2’b01代表写数据, 2’b10代表连读操作, 2’b11代表非连读的读操作; 当st为2’b01时,mdio_op: 2’b01代表写, 2’b10代表读, 其余为无效值。 | |||||
| Mdio_Prtad | 9:5 | RW | 0x0 | MDIO访问的外部的端口地址。 当mdio_st为2’b00时,表示要访问的外部的端口地址; 当mdio_st为2’b01时,表示要访问的外部的PHY地址。 | |||||
| Mdio_Devad | 4:0 | RW | 0x0 | MDIO访问的外部的设备地址。 当mdio_st为2’b00时,表示要访问的外部的设备地址; 当mdio_st为2’b01时,表示要访问的外部PHY的寄存器地址。 | |||||
| MDIO_ADDR_REG | MDIO间接地址寄存器 | 0x0004 | 32 | 0x00000000 | Rsv | 31:16 | RO | 0x0 | 保留 | 
| Mdio_Address | 15:0 | RW | 0x0 | 当mdio_st为2’b00时有效,代表要访问的外部某端口某设备的内部寄存器的地址,当mdio_st为其它值时无效。 | |||||
| MDIO_WDATA_REG | MDIO写数据寄存器 | 0x0008 | 32 | 0x00000000 | Rsv | 31:16 | RO | 0x0 | 保留 | 
| Mdio_Wdata | 15:0 | RW | 0x0 | MDIO写访问的写数据。 | |||||
| MDIO_RDATA_REG | MDIO读数据寄存器 | 0x000C | 32 | 0x00000000 | Rsv | 31:16 | RO | 0x0 | 保留 | 
| Mdio_Rdata | 15:0 | RO | 0x0 | MDIO读访问的读数据。 | |||||
| MDIO_STA_REG | MDIO访问状态寄存器 | 0x0010 | 32 | 0x00000000 | Rsv | 31:1 | RO | 0x0 | 保留 | 
| Mdio_Sta | 0 | RO | 0x0 | MDIO读访问的状态。 1:表示读出错; 0:表示读正常。 |