XINU
am335x_eth.h
Go to the documentation of this file.
1 
10 struct eth_a_ale
11 {
40 };
41 
43 #define ETH_AM335X_ALECTL_EN 0x80000000
44 #define ETH_AM335X_ALECTL_BY 0x00000010
46 #define ETH_AM335X_ALEPCTL_FWD 0x00000003
48 
54 {
80  uint32 tx_pri_rate[8];
82  byte res1[48];
96  byte res2[8];
114  uint32 rx_pendthresh[8];
116  uint32 rx_freebuffer[8];
117 };
118 
124 {
126  uint32 tx_hdp[8];
128  uint32 rx_hdp[8];
130  uint32 tx_cp[8];
132  uint32 rx_cp[8];
133 };
134 
139 struct eth_a_sl
140 {
163 };
164 
166 #define ETH_AM335X_SLCTL_FD 0x00000001
167 #define ETH_AM335X_SLCTL_LB 0x00000002
169 #define ETH_AM335X_SLCTL_EN 0x00000020
171 #define ETH_AM335X_SLCTL_GIG 0x00000080
173 
178 struct eth_a_ss
179 {
206 };
207 
212 struct eth_a_wr
213 {
240 };
241 
247 {
261  byte res1[8];
271  byte res2[80];
280 };
281 
283 #define ETH_AM335X_MDIOCTL_EN 0x40000000
284 #define ETH_AM335X_MDIOUA_GO 0x80000000
286 #define ETH_AM335X_MDIOUA_WR 0x40000000
288 #define ETH_AM335X_MDIOUA_ACK 0x20000000
290 #define ETH_AM335X_MDIOUA_DM 0x0000ffff
292 
298 {
300  volatile struct eth_a_ale *ale;
302  volatile struct eth_a_cpdma *cpdma;
304  volatile struct eth_a_stateram *stateram;
306  volatile struct eth_a_sl *sl;
308  volatile struct eth_a_ss *ss;
310  volatile struct eth_a_wr *wr;
312  volatile struct eth_a_mdio *mdio;
313 };
314 
320 {
333 };
334 
336 #define ETH_AM335X_RDS_SOP 0x8000
337 #define ETH_AM335X_RDS_EOP 0x4000
339 #define ETH_AM335X_RDS_OWN 0x2000
341 #define ETH_AM335X_RDS_EOQ 0x1000
343 #define ETH_AM335X_RX_RING_SIZE 32
345 
351 {
364 };
365 
367 #define ETH_AM335X_TDS_SOP 0x8000
368 #define ETH_AM335X_TDS_EOP 0x4000
370 #define ETH_AM335X_TDS_OWN 0x2000
372 #define ETH_AM335X_TDS_EOQ 0x1000
374 #define ETH_AM335X_TDS_DIR 0x0010
376 #define ETH_AM335X_TDS_P1 0x0001
378 #define ETH_AM335X_TX_RING_SIZE 16
380 
382 #define ETH_AM335X_ALE_ADDR 0x4A100D00
383 #define ETH_AM335X_CPDMA_ADDR 0x4A100800
385 #define ETH_AM335X_STATERAM_ADDR 0x4A100A00
387 #define ETH_AM335X_SL1_ADDR 0x4A100D80
389 #define ETH_AM335X_MDIO_ADDR 0x4A101000
391 #define ETH_AM335X_SS_ADDR 0x4A100000
393 #define ETH_AM335X_WR_ADDR 0x4A101200
395 #define ETH_AM335X_RXINT 41
397 #define ETH_AM335X_TXINT 42
399 #define ETH_AM335X_INIT_DELAY 1000000
uint32 gap_thresh
CPGMAC_SL Short GAP閾値
Definition: am335x_eth.h:195
uint32 c0_rx_thresh_en
サブシステム コア0 RX(受信)閾値 割り込み許可レジスタ
Definition: am335x_eth.h:223
uint32 bofftest
バックオフテストレジスタ
Definition: am335x_eth.h:152
Address Lookup Engine(ALE)レジスタ用の構造体
Definition: am335x_eth.h:10
Cryptographic Processor RAM DMA(CPDMA、暗号化DMA)レジスタ用の構造体
Definition: am335x_eth.h:53
uint32 rx_pause
RX(受信)ポーズタイマーレジスタ
Definition: am335x_eth.h:154
uint16 packlen
DMAパケットの長さ
Definition: am335x_eth.h:330
uint32 macstat
DMAC状態レジスタ
Definition: am335x_eth.h:146
uint32 eoi_vector
CPDMA割り込み終了ベクタ
Definition: am335x_eth.h:94
uint16 buflen
DMAバッファの長さ
Definition: am335x_eth.h:357
uint32 res5[4]
予約5
Definition: am335x_eth.h:31
unsigned char byte
符号なし8ビット値(unsigned char)
Definition: kernel.h:7
uint16 stat
DMA状態
Definition: am335x_eth.h:363
uint32 tx_pause
TX(送信)ポーズタイマーレジスタ
Definition: am335x_eth.h:156
uint32 c0_rx_en
サブシステム コア0 RX(受信)割り込み許可レジスタ
Definition: am335x_eth.h:225
uint32 tx_intmask_set
TX(送信)割り込みマスクセットレジスタ
Definition: am335x_eth.h:88
uint32 tx_intstat_masked
TX(送信)割り込みステータスレジスタ(マスク値)
Definition: am335x_eth.h:86
uint32 alive
PHY Alive状態レジスタ
Definition: am335x_eth.h:253
volatile struct eth_a_mdio * mdio
MDIOレジスタ
Definition: am335x_eth.h:312
uint32 userphysel0
MDIO ユーザPHY選択レジスタ0.
Definition: am335x_eth.h:275
uint32 ctrl
ALE制御レジスタ
Definition: am335x_eth.h:17
uint32 linkintmasked
MDIOリンクステータス変更割り込みレジスタ(マスク値)
Definition: am335x_eth.h:259
uint32 reset
SLソフトリセットレジスタ
Definition: am335x_eth.h:148
uint32 link
PHYリンク状態レジスタ
Definition: am335x_eth.h:255
Ethernet subsystemレジスタ構造体
Definition: am335x_eth.h:297
DMA TX(送信)ディスクリプタ
Definition: am335x_eth.h:350
uint32 ver
MDIO Versionレジスタ
Definition: am335x_eth.h:249
uint16 packlen
DMAパケットの長さ
Definition: am335x_eth.h:361
volatile struct eth_a_sl * sl
CPSW_SLレジスタ
Definition: am335x_eth.h:306
uint32 tblw1
ALEテーブルワード1レジスタ
Definition: am335x_eth.h:35
uint32 reset
WRソフトリセットレジスタ
Definition: am335x_eth.h:217
volatile struct eth_a_ss * ss
CPSW_SSレジスタ
Definition: am335x_eth.h:308
uint32 rx_maxlen
RX(受信)最大長レジスタ
Definition: am335x_eth.h:150
uint32 rx_ctrl
RX(受信) 制御レジスタ
Definition: am335x_eth.h:66
uint32 rx_buf_off
RX(受信) バッファオフセット
Definition: am335x_eth.h:76
uint32 userintmaskclr
MDIOユーザ割り込みマスククリアレジスタ
Definition: am335x_eth.h:269
uint32 ptype
TX(送信)優先度タイプレジスタ
Definition: am335x_eth.h:189
struct eth_a_tx_desc * next
次のDMA TX(受信)ディスクリプタ
Definition: am335x_eth.h:353
uint32 tx_gap
内部パケットギャップTX(送信)レジスタ
Definition: am335x_eth.h:162
volatile struct eth_a_cpdma * cpdma
CPSW_CPDMAレジスタ
Definition: am335x_eth.h:302
uint32 useraccess1
MDIO ユーザアクセスレジスタ1.
Definition: am335x_eth.h:277
uint32 c0_rx_stat
サブシステム コア0 RX(受信)割り込みマスク状態レジスタ
Definition: am335x_eth.h:235
DMA RX(受信)ディスクリプタ
Definition: am335x_eth.h:319
uint32 useraccess0
MDIO ユーザアクセスレジスタ0.
Definition: am335x_eth.h:273
uint32 rx_intmask_clear
RX(受信)割り込みマスククリアレジスタ
Definition: am335x_eth.h:104
uint32 prescale
ALEプレスケールレジスタ
Definition: am335x_eth.h:21
uint32 dlr_ltype
DLR LTYPEレジスタ
Definition: am335x_eth.h:205
uint32 flow_ctrl
フロー制御
Definition: am335x_eth.h:199
uint32 reset
SSソフトリセットレジスタ
Definition: am335x_eth.h:185
uint32 soft_idle
ソフトアイドル
Definition: am335x_eth.h:191
uint32 tx_teardown
TX(送信) 終了レジスタ
Definition: am335x_eth.h:60
uint32 userintraw
MDIO ユーザコマンド完了割り込みレジスタ(RAW値)
Definition: am335x_eth.h:263
uint32 dmactrl
CPDMA制御レジスタ
Definition: am335x_eth.h:72
uint16 bufoff
DMAバッファのオフセット
Definition: am335x_eth.h:328
uint32 res0
予約0
Definition: am335x_eth.h:62
uint32 idver
ALE ID/Versionレジスタ
Definition: am335x_eth.h:13
Management Data Input/Output(MDIO)レジスタ用の構造体
Definition: am335x_eth.h:246
uint32 rx_idver
RX(受信) ID/Versionレジスタ
Definition: am335x_eth.h:64
uint32 ctrl
スイッチ制御レジスタ
Definition: am335x_eth.h:183
struct eth_a_rx_desc * next
次のDMA RX(受信)ディスクリプタ
Definition: am335x_eth.h:322
uint32 dma_intstat_raw
CPDMA割り込みステータスレジスタ(RAW値)
Definition: am335x_eth.h:106
uint32 userintmaskset
MDIO ユーザコマンド完了割り込みマスクセットレジスタ
Definition: am335x_eth.h:267
uint32 dma_intmask_set
CPDMA割り込みマスクセットレジスタ
Definition: am335x_eth.h:110
uint32 dma_intmask_clear
CPDMA割り込みマスククリアレジスタ
Definition: am335x_eth.h:112
uint32 vlan_type
LTYPE1とLTYPE2レジスタ
Definition: am335x_eth.h:201
uint32 res4
予約4
Definition: am335x_eth.h:27
uint32 emctrl
エミュレーション制御レジスタ
Definition: am335x_eth.h:158
uint16 stat
DMA状態
Definition: am335x_eth.h:332
uint32 rx_teardown
RX(受信) 終了レジスタ
Definition: am335x_eth.h:68
uint32 reset
CPDMAソフトリセットレジスタ
Definition: am335x_eth.h:70
CPSW_SLレジスタ用の構造体
Definition: am335x_eth.h:139
volatile struct eth_a_stateram * stateram
CPSW_STATERANレジスタ
Definition: am335x_eth.h:304
uint16 buflen
DMAバッファの長さ
Definition: am335x_eth.h:326
uint32 int_ctrl
サブシステム割り込み制御レジスタ
Definition: am335x_eth.h:221
CPDMA_STATERAMレジスタ用の構造体
Definition: am335x_eth.h:123
uint32 idver
SS ID/Versionレジスタ
Definition: am335x_eth.h:181
uint32 tblw0
ALEテーブルワード0レジスタ
Definition: am335x_eth.h:37
CPSW_SSレジスタ用の構造体
Definition: am335x_eth.h:178
uint32 dmastat
CPDMAステータスレジスタ
Definition: am335x_eth.h:74
uint32 c0_misc_stat
サブシステム コア0 MISC割り込みマスク状態レジスタ
Definition: am335x_eth.h:239
uint32 unknown_vlan
ALE不明なVLANレジスタ
Definition: am335x_eth.h:25
uint32 tx_start_wds
TX(送信)開始ワード
Definition: am335x_eth.h:197
CPSW_WRレジスタ用の構造体
Definition: am335x_eth.h:212
uint32 userphysel1
MDIO ユーザPHY選択レジスタ1.
Definition: am335x_eth.h:279
uint32 c0_rx_thresh_stat
サブシステム コア0 RX(受信)閾値 割り込みマスク状態レジスタ
Definition: am335x_eth.h:233
uint32 c0_misc_en
サブシステム コア0 MISC割り込み許可レジスタ
Definition: am335x_eth.h:229
uint32 c0_tx_en
サブシステム コア0 TX(送信)割り込み許可レジスタ
Definition: am335x_eth.h:227
unsigned short uint16
符号なし16ビット整数(unsigned short)
Definition: kernel.h:17
uint32 ts_ltype
VLAN LTYPE1とLTYPE2レジスタ
Definition: am335x_eth.h:203
uint32 tx_intmask_clear
TX(送信)割り込みマスククリアレジスタ
Definition: am335x_eth.h:90
uint32 ctrl
MDIO制御レジスタ
Definition: am335x_eth.h:251
uint32 linkintraw
MDIOリンク状態変更割り込みレジスタ
Definition: am335x_eth.h:257
volatile struct eth_a_wr * wr
CPSW_WRレジスタ
Definition: am335x_eth.h:310
uint32 rx_intstat_masked
RX(受信)割り込みステータスレジスタ(マスク値)
Definition: am335x_eth.h:100
uint32 ctrl
WR制御レジスタ
Definition: am335x_eth.h:219
uint32 c0_tx_stat
サブシステム コア0 TX(送信)割り込みマスク状態レジスタ
Definition: am335x_eth.h:237
uint32 buffer
DMAバッファ
Definition: am335x_eth.h:324
uint32 tx_ctrl
TX(送信) 制御レジスタ
Definition: am335x_eth.h:58
uint32 res3
予約3
Definition: am335x_eth.h:23
uint16 bufoff
DMAバッファのオフセット
Definition: am335x_eth.h:359
uint32 res2
予約2
Definition: am335x_eth.h:19
uint32 tx_intstat_raw
TX(送信)割り込みステータスレジスタ(RAW値)
Definition: am335x_eth.h:84
uint32 tblctl
ALEテーブル制御
Definition: am335x_eth.h:29
uint32 stat_port_en
統計ポート有効化レジスタ
Definition: am335x_eth.h:187
uint32 rx_pri_map
RX(受信)パケット優先度0〜7のマッピングレジスタ
Definition: am335x_eth.h:160
uint32 tblw2
ALEテーブルワード2レジスタ
Definition: am335x_eth.h:33
uint32 dma_intstat_masket
CPDMA割り込みステータスレジスタ(マスク値)
Definition: am335x_eth.h:108
uint32 macctrl
DMAC制御レジスタ
Definition: am335x_eth.h:144
uint32 userintmasked
MDIO ユーザコマンド完了割り込みレジスタ(マスク値)
Definition: am335x_eth.h:265
uint32 rx_intmask_set
RX(受信)割り込みマスクセットレジスタ
Definition: am335x_eth.h:102
unsigned int uint32
符号なし32ビット整数(unsigned int)
Definition: kernel.h:15
uint32 buffer
DMAバッファ
Definition: am335x_eth.h:355
uint32 tx_idver
TX(送信) ID/Versionレジスタ
Definition: am335x_eth.h:56
uint32 in_vector
CPDMA入力ベクタ(Read Only)
Definition: am335x_eth.h:92
uint32 idver
WR ID/Versionレジスタ
Definition: am335x_eth.h:215
uint32 res1
予約1
Definition: am335x_eth.h:15
uint32 rx_intstat_raw
RX(受信)割り込みステータスレジスタ(RAW値)
Definition: am335x_eth.h:98
volatile struct eth_a_ale * ale
CPSW_ALEレジスタ
Definition: am335x_eth.h:300
uint32 emctrl
CPDMAエミュレージョン制御
Definition: am335x_eth.h:78
uint32 thru_rate
スループット率
Definition: am335x_eth.h:193
uint32 idver
SL ID/Versionレジスタ
Definition: am335x_eth.h:142
uint32 portctl[6]
ALEポート0〜5制御レジスタ
Definition: am335x_eth.h:39