mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-08-30 14:52:51 +08:00
28 lines
1.0 KiB
C
28 lines
1.0 KiB
C
#ifndef _RTL837X_PORT_H_
|
|
#define _RTL837X_PORT_H_
|
|
|
|
#define STAT_COUNTER_TX_PKTS 0x2e
|
|
#define STAT_COUNTER_RX_PKTS 0x2f
|
|
#define STAT_COUNTER_ERR_PKTS 0x30
|
|
|
|
#define STAT_GET(cnt, port) \
|
|
REG_WRITE(RTL837X_STAT_GET, 0x00, 0x00, cnt >> 3, (cnt << 5) | (port << 1) | 1); \
|
|
do { \
|
|
reg_read_m(RTL837X_STAT_GET); \
|
|
} while (sfr_data[3] & 0x1);
|
|
|
|
uint8_t port_l2_forget(void) __banked;
|
|
void port_l2_learned(void) __banked;
|
|
void port_stats_print(void) __banked;
|
|
int8_t vlan_get(register uint16_t vlan) __banked;
|
|
void vlan_setup(void) __banked;
|
|
void port_pvid_set(uint8_t port, __xdata uint16_t pvid) __banked;
|
|
void vlan_create(register uint16_t vlan, register uint16_t members, register uint16_t tagged) __banked;
|
|
void vlan_delete(uint16_t vlan) __banked;
|
|
void port_mirror_set(register uint8_t port, __xdata uint16_t rx_pmask, __xdata uint16_t tx_pmask) __banked;
|
|
void port_mirror_del(void) __banked;
|
|
void port_ingress_filter(register uint8_t port, uint8_t type) __banked;
|
|
void port_l2_setup() __banked;
|
|
void trunk_set(uint8_t group, uint16_t mask) __banked;
|
|
#endif
|