Source
/* enable rx threshold arbitration */
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Faraday 10/100Mbps Ethernet Controller
*
* (C) Copyright 2013 Faraday Technology
* Dante Su <dantesu@faraday-tech.com>
*/
struct ftmac110_regs {
uint32_t isr; /* 0x00: Interrups Status Register */
uint32_t imr; /* 0x04: Interrupt Mask Register */
uint32_t mac[2]; /* 0x08: MAC Address */
uint32_t mht[2]; /* 0x10: Multicast Hash Table Register */
uint32_t txpd; /* 0x18: Tx Poll Demand Register */
uint32_t rxpd; /* 0x1c: Rx Poll Demand Register */
uint32_t txba; /* 0x20: Tx Ring Base Address Register */
uint32_t rxba; /* 0x24: Rx Ring Base Address Register */
uint32_t itc; /* 0x28: Interrupt Timer Control Register */
uint32_t aptc; /* 0x2C: Automatic Polling Timer Control Register */
uint32_t dblac; /* 0x30: DMA Burst Length&Arbitration Control */
uint32_t revr; /* 0x34: Revision Register */
uint32_t fear; /* 0x38: Feature Register */
uint32_t rsvd[19];
uint32_t maccr; /* 0x88: MAC Control Register */
uint32_t macsr; /* 0x8C: MAC Status Register */
uint32_t phycr; /* 0x90: PHY Control Register */
uint32_t phydr; /* 0x94: PHY Data Register */
uint32_t fcr; /* 0x98: Flow Control Register */
uint32_t bpr; /* 0x9C: Back Pressure Register */
};
/*
* Interrupt status/mask register(ISR/IMR) bits
*/
/* phy status change */
/* bus error */
/* rx lost */
/* rx to fifo */
/* tx lost */
/* tx to ethernet */
/* out of tx buffer */
/* tx to fifo */
/* out of rx buffer */
/* rx to buffer */
/*
* MACCR control bits
*/
/* 100Mbps mode */
/* rx broadcast packet */
/* rx multicast packet */
/* full duplex */
/* tx crc append */
/* rx all packets */
/* rx packet even it's > 1518 byte */
/* rx packet even it's < 64 byte */
/* rx multicast hash table */
/* rx enable */
/* rx in half duplex tx */