14.1简介
3口的以太网子系统。它提供以太网包通信,并且可以配置成以太网交换机,提供GMII,RGMII,RMII,MDIO物理接口。
14.2一览
这个设备包含一个3口的千兆以太网交换机子系统CPSW_3GSS_RG,它提供两个外部的以太网接口port1和port2,
和一个内部的支持IEEE 1588v2 and 802.1ae的接口port0。
14.3功能描述
14.3.1 cpsw_3g 子系统
14.3.1.1中断调速
接受和发送脉冲中断可以调速,接收越线和混杂中断不能调速。
14.3.1.2重启隔离
只有POR pin reset and ICEPICK COLD reset可以让交换机重启。
14.3.1.3
14.3.1.3.1 接收Packet完成脉冲中断RX_PULSE
八通道,RX_PEND [7:0] interrupts.
置一相应的位RX_INTMASK_SET,Cn_RX_EN,被屏蔽的可以从Cn_RX_STAT得到
中断通过子系统写packet的最后一个buffer描述符地址到通道队列的接收完成指针地址。
中断接收到后,cpu需要写自己处理的最后一个buffer描述符到通道队列的接收完成指针地址RXn_CP来应答中断。
软件需要做如下操作。
读RX_STAT寄存器,确定那个通道发的中断。
处理接收到的packets。
写3PSW completion pointer(s) (RXn_CP).软件写的值会和子系统写的值相比较,如果不相等,则意味着,软件没有
· 把所有的buffer处理完,这个中断会一直保持触发状态。通过读RXn_CP,可以知道子系统写的值。
对CPDMA_EOI_VECTOR寄存器写1.
取消中断如下:
写一到RX_INTMASK_CLEAR,RX_EN清零
14.3.1.3.2发送Packet完成脉冲中断TX_PULSE
与接收套路一样
14.3.1.3.3
使能写一到RX_INTMASK_SET,RX_THRESH_EN
中断触发,通告空闲buffer计数RXn_FREEBUFFER,小于等于RXn_PENDTHRESH。
读Cn_RX_THRESH_STAT,确定那个通道
处理接收到的packets并增加更多的buffer。