杂记:Cortex™-A8 am335x cpsw (一)

本文详细介绍了Cortex-A8 am335x处理器中的CPSW_3GSS_RG子系统,包括3口千兆以太网交换机的功能、中断调速、重启隔离机制以及CPDMA的工作原理,如接收和发送Packet完成脉冲中断的处理。此外,还涵盖了VLAN意识模式、地址查找引擎(ALE)的工作细节及其对包转发的影响。
摘要由CSDN通过智能技术生成

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。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值