ksz8895_driver.h File Reference

KSZ8895 5-port Ethernet switch driver. More...

#include "core/nic.h"

Go to the source code of this file.

Data Structures

struct  Ksz8895StaticMacEntryR
 Static MAC table entry (read operation) More...
 
struct  Ksz8895StaticMacEntryW
 Static MAC table entry (write operation) More...
 
struct  Ksz8895DynamicMacEntry
 Dynamic MAC table entry. More...
 

Macros

#define KSZ8895_PORT1   1
 
#define KSZ8895_PORT2   2
 
#define KSZ8895_PORT3   3
 
#define KSZ8895_PORT4   4
 
#define KSZ8895_PORT5   5
 
#define KSZ8895_PORT_MASK   0x1F
 
#define KSZ8895_PORT1_MASK   0x01
 
#define KSZ8895_PORT2_MASK   0x02
 
#define KSZ8895_PORT3_MASK   0x04
 
#define KSZ8895_PORT4_MASK   0x08
 
#define KSZ8895_PORT5_MASK   0x10
 
#define KSZ8895_SPI_CMD_WRITE   0x02
 
#define KSZ8895_SPI_CMD_READ   0x03
 
#define KSZ8895_STATIC_MAC_TABLE_SIZE   32
 
#define KSZ8895_DYNAMIC_MAC_TABLE_SIZE   1024
 
#define KSZ8895_TAIL_TAG_NORMAL_ADDR_LOOKUP   0x80
 
#define KSZ8895_TAIL_TAG_PORT_SEL   0x40
 
#define KSZ8895_TAIL_TAG_DEST_QUEUE   0x30
 
#define KSZ8895_TAIL_TAG_DEST_PORT4   0x08
 
#define KSZ8895_TAIL_TAG_DEST_PORT3   0x04
 
#define KSZ8895_TAIL_TAG_DEST_PORT2   0x02
 
#define KSZ8895_TAIL_TAG_DEST_PORT1   0x01
 
#define KSZ8895_TAIL_TAG_SRC_PORT   0x03
 
#define KSZ8895_BMCR   0x00
 
#define KSZ8895_BMSR   0x01
 
#define KSZ8895_PHYID1   0x02
 
#define KSZ8895_PHYID2   0x03
 
#define KSZ8895_ANAR   0x04
 
#define KSZ8895_ANLPAR   0x05
 
#define KSZ8895_LINKMD   0x1D
 
#define KSZ8895_PHYSCS   0x1F
 
#define KSZ8895_CHIP_ID0   0x00
 
#define KSZ8895_CHIP_ID1   0x01
 
#define KSZ8895_GLOBAL_CTRL0   0x02
 
#define KSZ8895_GLOBAL_CTRL1   0x03
 
#define KSZ8895_GLOBAL_CTRL2   0x04
 
#define KSZ8895_GLOBAL_CTRL3   0x05
 
#define KSZ8895_GLOBAL_CTRL4   0x06
 
#define KSZ8895_GLOBAL_CTRL5   0x07
 
#define KSZ8895_GLOBAL_CTRL6   0x08
 
#define KSZ8895_GLOBAL_CTRL7   0x09
 
#define KSZ8895_GLOBAL_CTRL8   0x0A
 
#define KSZ8895_GLOBAL_CTRL9   0x0B
 
#define KSZ8895_GLOBAL_CTRL10   0x0C
 
#define KSZ8895_GLOBAL_CTRL11   0x0D
 
#define KSZ8895_PD_MGMT_CTRL1   0x0E
 
#define KSZ8895_PD_MGMT_CTRL2   0x0F
 
#define KSZ8895_PORT1_CTRL0   0x10
 
#define KSZ8895_PORT1_CTRL1   0x11
 
#define KSZ8895_PORT1_CTRL2   0x12
 
#define KSZ8895_PORT1_CTRL3   0x13
 
#define KSZ8895_PORT1_CTRL4   0x14
 
#define KSZ8895_PORT1_STAT0   0x19
 
#define KSZ8895_PORT1_PSCS   0x1A
 
#define KSZ8895_PORT1_LINKMD   0x1B
 
#define KSZ8895_PORT1_CTRL5   0x1C
 
#define KSZ8895_PORT1_CTRL6   0x1D
 
#define KSZ8895_PORT1_STAT1   0x1E
 
#define KSZ8895_PORT1_CTRL7_STAT2   0x1F
 
#define KSZ8895_PORT2_CTRL0   0x20
 
#define KSZ8895_PORT2_CTRL1   0x21
 
#define KSZ8895_PORT2_CTRL2   0x22
 
#define KSZ8895_PORT2_CTRL3   0x23
 
#define KSZ8895_PORT2_CTRL4   0x24
 
#define KSZ8895_PORT2_STAT0   0x29
 
#define KSZ8895_PORT2_PSCS   0x2A
 
#define KSZ8895_PORT2_LINKMD   0x2B
 
#define KSZ8895_PORT2_CTRL5   0x2C
 
#define KSZ8895_PORT2_CTRL6   0x2D
 
#define KSZ8895_PORT2_STAT1   0x2E
 
#define KSZ8895_PORT2_CTRL7_STAT2   0x2F
 
#define KSZ8895_PORT3_CTRL0   0x30
 
#define KSZ8895_PORT3_CTRL1   0x31
 
#define KSZ8895_PORT3_CTRL2   0x32
 
#define KSZ8895_PORT3_CTRL3   0x33
 
#define KSZ8895_PORT3_CTRL4   0x34
 
#define KSZ8895_PORT3_STAT0   0x39
 
#define KSZ8895_PORT3_PSCS   0x3A
 
#define KSZ8895_PORT3_LINKMD   0x3B
 
#define KSZ8895_PORT3_CTRL5   0x3C
 
#define KSZ8895_PORT3_CTRL6   0x3D
 
#define KSZ8895_PORT3_STAT1   0x3E
 
#define KSZ8895_PORT3_CTRL7_STAT2   0x3F
 
#define KSZ8895_PORT4_CTRL0   0x40
 
#define KSZ8895_PORT4_CTRL1   0x41
 
#define KSZ8895_PORT4_CTRL2   0x42
 
#define KSZ8895_PORT4_CTRL3   0x43
 
#define KSZ8895_PORT4_CTRL4   0x44
 
#define KSZ8895_PORT4_STAT0   0x49
 
#define KSZ8895_PORT4_PSCS   0x4A
 
#define KSZ8895_PORT4_LINKMD   0x4B
 
#define KSZ8895_PORT4_CTRL5   0x4C
 
#define KSZ8895_PORT4_CTRL6   0x4D
 
#define KSZ8895_PORT4_STAT1   0x4E
 
#define KSZ8895_PORT4_CTRL7_STAT2   0x4F
 
#define KSZ8895_PORT5_CTRL0   0x50
 
#define KSZ8895_PORT5_CTRL1   0x51
 
#define KSZ8895_PORT5_CTRL2   0x52
 
#define KSZ8895_PORT5_CTRL3   0x53
 
#define KSZ8895_PORT5_CTRL4   0x54
 
#define KSZ8895_RMII_MGMT_CTRL   0x57
 
#define KSZ8895_PORT5_STAT0   0x59
 
#define KSZ8895_PORT5_PSCS   0x5A
 
#define KSZ8895_PORT5_LINKMD   0x5B
 
#define KSZ8895_PORT5_CTRL5   0x5C
 
#define KSZ8895_PORT5_CTRL6   0x5D
 
#define KSZ8895_PORT5_STAT1   0x5E
 
#define KSZ8895_PORT5_CTRL7_STAT2   0x5F
 
#define KSZ8895_MAC_ADDR0   0x68
 
#define KSZ8895_MAC_ADDR1   0x69
 
#define KSZ8895_MAC_ADDR2   0x6A
 
#define KSZ8895_MAC_ADDR3   0x6B
 
#define KSZ8895_MAC_ADDR4   0x6C
 
#define KSZ8895_MAC_ADDR5   0x6D
 
#define KSZ8895_INDIRECT_CTRL0   0x6E
 
#define KSZ8895_INDIRECT_CTRL1   0x6F
 
#define KSZ8895_INDIRECT_DATA8   0x70
 
#define KSZ8895_INDIRECT_DATA7   0x71
 
#define KSZ8895_INDIRECT_DATA6   0x72
 
#define KSZ8895_INDIRECT_DATA5   0x73
 
#define KSZ8895_INDIRECT_DATA4   0x74
 
#define KSZ8895_INDIRECT_DATA3   0x75
 
#define KSZ8895_INDIRECT_DATA2   0x76
 
#define KSZ8895_INDIRECT_DATA1   0x77
 
#define KSZ8895_INDIRECT_DATA0   0x78
 
#define KSZ8895_INT_STAT   0x7C
 
#define KSZ8895_INT_MASK   0x7D
 
#define KSZ8895_GLOBAL_CTRL12   0x80
 
#define KSZ8895_GLOBAL_CTRL13   0x81
 
#define KSZ8895_GLOBAL_CTRL14   0x82
 
#define KSZ8895_GLOBAL_CTRL15   0x83
 
#define KSZ8895_GLOBAL_CTRL16   0x84
 
#define KSZ8895_GLOBAL_CTRL17   0x85
 
#define KSZ8895_GLOBAL_CTRL18   0x86
 
#define KSZ8895_GLOBAL_CTRL19   0x87
 
#define KSZ8895_ID   0x89
 
#define KSZ8895_TOS_PRIO_CTRL0   0x90
 
#define KSZ8895_TOS_PRIO_CTRL1   0x91
 
#define KSZ8895_TOS_PRIO_CTRL2   0x92
 
#define KSZ8895_TOS_PRIO_CTRL3   0x93
 
#define KSZ8895_TOS_PRIO_CTRL4   0x94
 
#define KSZ8895_TOS_PRIO_CTRL5   0x95
 
#define KSZ8895_TOS_PRIO_CTRL6   0x96
 
#define KSZ8895_TOS_PRIO_CTRL7   0x97
 
#define KSZ8895_TOS_PRIO_CTRL8   0x98
 
#define KSZ8895_TOS_PRIO_CTRL9   0x99
 
#define KSZ8895_TOS_PRIO_CTRL10   0x9A
 
#define KSZ8895_TOS_PRIO_CTRL11   0x9B
 
#define KSZ8895_TOS_PRIO_CTRL12   0x9C
 
#define KSZ8895_TOS_PRIO_CTRL13   0x9D
 
#define KSZ8895_TOS_PRIO_CTRL14   0x9E
 
#define KSZ8895_TOS_PRIO_CTRL15   0x9F
 
#define KSZ8895_PORT1_CTRL8   0xB0
 
#define KSZ8895_PORT1_CTRL9   0xB1
 
#define KSZ8895_PORT1_CTRL10   0xB2
 
#define KSZ8895_PORT1_CTRL11   0xB3
 
#define KSZ8895_PORT1_CTRL12   0xB4
 
#define KSZ8895_PORT1_CTRL13   0xB5
 
#define KSZ8895_PORT1_RATE_LIMIT_CTRL   0xB6
 
#define KSZ8895_PORT1_PRIO0_IG_LIMIT_CTRL1   0xB7
 
#define KSZ8895_PORT1_PRIO1_IG_LIMIT_CTRL2   0xB8
 
#define KSZ8895_PORT1_PRIO2_IG_LIMIT_CTRL3   0xB9
 
#define KSZ8895_PORT1_PRIO3_IG_LIMIT_CTRL4   0xBA
 
#define KSZ8895_PORT1_QUEUE0_EG_LIMIT_CTRL1   0xBB
 
#define KSZ8895_PORT1_QUEUE1_EG_LIMIT_CTRL2   0xBC
 
#define KSZ8895_PORT1_QUEUE2_EG_LIMIT_CTRL3   0xBD
 
#define KSZ8895_PORT1_QUEUE3_EG_LIMIT_CTRL4   0xBE
 
#define KSZ8895_TEST1   0xBF
 
#define KSZ8895_PORT2_CTRL8   0xC0
 
#define KSZ8895_PORT2_CTRL9   0xC1
 
#define KSZ8895_PORT2_CTRL10   0xC2
 
#define KSZ8895_PORT2_CTRL11   0xC3
 
#define KSZ8895_PORT2_CTRL12   0xC4
 
#define KSZ8895_PORT2_CTRL13   0xC5
 
#define KSZ8895_PORT2_RATE_LIMIT_CTRL   0xC6
 
#define KSZ8895_PORT2_PRIO0_IG_LIMIT_CTRL1   0xC7
 
#define KSZ8895_PORT2_PRIO1_IG_LIMIT_CTRL2   0xC8
 
#define KSZ8895_PORT2_PRIO2_IG_LIMIT_CTRL3   0xC9
 
#define KSZ8895_PORT2_PRIO3_IG_LIMIT_CTRL4   0xCA
 
#define KSZ8895_PORT2_QUEUE0_EG_LIMIT_CTRL1   0xCB
 
#define KSZ8895_PORT2_QUEUE1_EG_LIMIT_CTRL2   0xCC
 
#define KSZ8895_PORT2_QUEUE2_EG_LIMIT_CTRL3   0xCD
 
#define KSZ8895_PORT2_QUEUE3_EG_LIMIT_CTRL4   0xCE
 
#define KSZ8895_PORT3_CTRL8   0xD0
 
#define KSZ8895_PORT3_CTRL9   0xD1
 
#define KSZ8895_PORT3_CTRL10   0xD2
 
#define KSZ8895_PORT3_CTRL11   0xD3
 
#define KSZ8895_PORT3_CTRL12   0xD4
 
#define KSZ8895_PORT3_CTRL13   0xD5
 
#define KSZ8895_PORT3_RATE_LIMIT_CTRL   0xD6
 
#define KSZ8895_PORT3_PRIO0_IG_LIMIT_CTRL1   0xD7
 
#define KSZ8895_PORT3_PRIO1_IG_LIMIT_CTRL2   0xD8
 
#define KSZ8895_PORT3_PRIO2_IG_LIMIT_CTRL3   0xD9
 
#define KSZ8895_PORT3_PRIO3_IG_LIMIT_CTRL4   0xDA
 
#define KSZ8895_PORT3_QUEUE0_EG_LIMIT_CTRL1   0xDB
 
#define KSZ8895_PORT3_QUEUE1_EG_LIMIT_CTRL2   0xDC
 
#define KSZ8895_PORT3_QUEUE2_EG_LIMIT_CTRL3   0xDD
 
#define KSZ8895_PORT3_QUEUE3_EG_LIMIT_CTRL4   0xDE
 
#define KSZ8895_TEST2   0xDF
 
#define KSZ8895_PORT4_CTRL8   0xE0
 
#define KSZ8895_PORT4_CTRL9   0xE1
 
#define KSZ8895_PORT4_CTRL10   0xE2
 
#define KSZ8895_PORT4_CTRL11   0xE3
 
#define KSZ8895_PORT4_CTRL12   0xE4
 
#define KSZ8895_PORT4_CTRL13   0xE5
 
#define KSZ8895_PORT4_RATE_LIMIT_CTRL   0xE6
 
#define KSZ8895_PORT4_PRIO0_IG_LIMIT_CTRL1   0xE7
 
#define KSZ8895_PORT4_PRIO1_IG_LIMIT_CTRL2   0xE8
 
#define KSZ8895_PORT4_PRIO2_IG_LIMIT_CTRL3   0xE9
 
#define KSZ8895_PORT4_PRIO3_IG_LIMIT_CTRL4   0xEA
 
#define KSZ8895_PORT4_QUEUE0_EG_LIMIT_CTRL1   0xEB
 
#define KSZ8895_PORT4_QUEUE1_EG_LIMIT_CTRL2   0xEC
 
#define KSZ8895_PORT4_QUEUE2_EG_LIMIT_CTRL3   0xED
 
#define KSZ8895_PORT4_QUEUE3_EG_LIMIT_CTRL4   0xEE
 
#define KSZ8895_PORT3_COPPER_FIBER_CTRL   0xEF
 
#define KSZ8895_PORT5_CTRL8   0xF0
 
#define KSZ8895_PORT5_CTRL9   0xF1
 
#define KSZ8895_PORT5_CTRL10   0xF2
 
#define KSZ8895_PORT5_CTRL11   0xF3
 
#define KSZ8895_PORT5_CTRL12   0xF4
 
#define KSZ8895_PORT5_CTRL13   0xF5
 
#define KSZ8895_PORT5_RATE_LIMIT_CTRL   0xF6
 
#define KSZ8895_PORT5_PRIO0_IG_LIMIT_CTRL1   0xF7
 
#define KSZ8895_PORT5_PRIO1_IG_LIMIT_CTRL2   0xF8
 
#define KSZ8895_PORT5_PRIO2_IG_LIMIT_CTRL3   0xF9
 
#define KSZ8895_PORT5_PRIO3_IG_LIMIT_CTRL4   0xFA
 
#define KSZ8895_PORT5_QUEUE0_EG_LIMIT_CTRL1   0xFB
 
#define KSZ8895_PORT5_QUEUE1_EG_LIMIT_CTRL2   0xFC
 
#define KSZ8895_PORT5_QUEUE2_EG_LIMIT_CTRL3   0xFD
 
#define KSZ8895_PORT5_QUEUE3_EG_LIMIT_CTRL4   0xFE
 
#define KSZ8895_TEST3   0xFF
 
#define KSZ8895_PORTn_CTRL0(port)   (0x00 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL1(port)   (0x01 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL2(port)   (0x02 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL3(port)   (0x03 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL4(port)   (0x04 + ((port) * 0x10))
 
#define KSZ8895_PORTn_STAT0(port)   (0x09 + ((port) * 0x10))
 
#define KSZ8895_PORTn_PSCS(port)   (0x0A + ((port) * 0x10))
 
#define KSZ8895_PORTn_LINKMD(port)   (0x0B + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL5(port)   (0x0C + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL6(port)   (0x0D + ((port) * 0x10))
 
#define KSZ8895_PORTn_STAT1(port)   (0x0E + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL7_STAT2(port)   (0x0F + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL8(port)   (0xA0 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL9(port)   (0xA1 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL10(port)   (0xA2 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL11(port)   (0xA3 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL12(port)   (0xA4 + ((port) * 0x10))
 
#define KSZ8895_PORTn_CTRL13(port)   (0xA5 + ((port) * 0x10))
 
#define KSZ8895_PORTn_RATE_LIMIT_CTRL(port)   (0xA6 + ((port) * 0x10))
 
#define KSZ8895_PORTn_PRIO0_IG_LIMIT_CTRL1(port)   (0xA7 + ((port) * 0x10))
 
#define KSZ8895_PORTn_PRIO1_IG_LIMIT_CTRL2(port)   (0xA8 + ((port) * 0x10))
 
#define KSZ8895_PORTn_PRIO2_IG_LIMIT_CTRL3(port)   (0xA9 + ((port) * 0x10))
 
#define KSZ8895_PORTn_PRIO3_IG_LIMIT_CTRL4(port)   (0xAA + ((port) * 0x10))
 
#define KSZ8895_PORTn_QUEUE0_EG_LIMIT_CTRL1(port)   (0xAB + ((port) * 0x10))
 
#define KSZ8895_PORTn_QUEUE1_EG_LIMIT_CTRL2(port)   (0xAC + ((port) * 0x10))
 
#define KSZ8895_PORTn_QUEUE2_EG_LIMIT_CTRL3(port)   (0xAD + ((port) * 0x10))
 
#define KSZ8895_PORTn_QUEUE3_EG_LIMIT_CTRL4(port)   (0xAE + ((port) * 0x10))
 
#define KSZ8895_BMCR_RESET   0x8000
 
#define KSZ8895_BMCR_LOOPBACK   0x4000
 
#define KSZ8895_BMCR_FORCE_100   0x2000
 
#define KSZ8895_BMCR_AN_EN   0x1000
 
#define KSZ8895_BMCR_POWER_DOWN   0x0800
 
#define KSZ8895_BMCR_ISOLATE   0x0400
 
#define KSZ8895_BMCR_RESTART_AN   0x0200
 
#define KSZ8895_BMCR_FORCE_FULL_DUPLEX   0x0100
 
#define KSZ8895_BMCR_COL_TEST   0x0080
 
#define KSZ8895_BMCR_HP_MDIX   0x0020
 
#define KSZ8895_BMCR_FORCE_MDI   0x0010
 
#define KSZ8895_BMCR_AUTO_MDIX_DIS   0x0008
 
#define KSZ8895_BMCR_FAR_END_FAULT_DIS   0x0004
 
#define KSZ8895_BMCR_TRANSMIT_DIS   0x0002
 
#define KSZ8895_BMCR_LED_DIS   0x0001
 
#define KSZ8895_BMSR_100BT4   0x8000
 
#define KSZ8895_BMSR_100BTX_FD   0x4000
 
#define KSZ8895_BMSR_100BTX_HD   0x2000
 
#define KSZ8895_BMSR_10BT_FD   0x1000
 
#define KSZ8895_BMSR_10BT_HD   0x0800
 
#define KSZ8895_BMSR_PREAMBLE_SUPPR   0x0040
 
#define KSZ8895_BMSR_AN_COMPLETE   0x0020
 
#define KSZ8895_BMSR_FAR_END_FAULT   0x0010
 
#define KSZ8895_BMSR_AN_CAPABLE   0x0008
 
#define KSZ8895_BMSR_LINK_STATUS   0x0004
 
#define KSZ8895_BMSR_JABBER_TEST   0x0002
 
#define KSZ8895_BMSR_EXTENDED_CAPABLE   0x0001
 
#define KSZ8895_PHYID1_DEFAULT   0x0022
 
#define KSZ8895_PHYID2_DEFAULT   0x1450
 
#define KSZ8895_ANAR_NEXT_PAGE   0x8000
 
#define KSZ8895_ANAR_REMOTE_FAULT   0x2000
 
#define KSZ8895_ANAR_PAUSE   0x0400
 
#define KSZ8895_ANAR_100BTX_FD   0x0100
 
#define KSZ8895_ANAR_100BTX_HD   0x0080
 
#define KSZ8895_ANAR_10BT_FD   0x0040
 
#define KSZ8895_ANAR_10BT_HD   0x0020
 
#define KSZ8895_ANAR_SELECTOR   0x001F
 
#define KSZ8895_ANAR_SELECTOR_DEFAULT   0x0001
 
#define KSZ8895_ANLPAR_NEXT_PAGE   0x8000
 
#define KSZ8895_ANLPAR_LP_ACK   0x4000
 
#define KSZ8895_ANLPAR_REMOTE_FAULT   0x2000
 
#define KSZ8895_ANLPAR_PAUSE   0x0400
 
#define KSZ8895_ANLPAR_100BTX_FD   0x0100
 
#define KSZ8895_ANLPAR_100BTX_HD   0x0080
 
#define KSZ8895_ANLPAR_10BT_FD   0x0040
 
#define KSZ8895_ANLPAR_10BT_HD   0x0020
 
#define KSZ8895_LINKMD_TEST_EN   0x8000
 
#define KSZ8895_LINKMD_RESULT   0x6000
 
#define KSZ8895_LINKMD_SHORT   0x1000
 
#define KSZ8895_LINKMD_FAULT_COUNT   0x01FF
 
#define KSZ8895_PHYSCS_OP_MODE   0x0700
 
#define KSZ8895_PHYSCS_OP_MODE_AN   0x0100
 
#define KSZ8895_PHYSCS_OP_MODE_10BT_HD   0x0200
 
#define KSZ8895_PHYSCS_OP_MODE_100BTX_HD   0x0300
 
#define KSZ8895_PHYSCS_OP_MODE_10BT_FD   0x0500
 
#define KSZ8895_PHYSCS_OP_MODE_100BTX_FD   0x0600
 
#define KSZ8895_PHYSCS_OP_MODE_ISOLATE   0x0700
 
#define KSZ8895_PHYSCS_POLRVS   0x0020
 
#define KSZ8895_PHYSCS_MDIX_STATUS   0x0010
 
#define KSZ8895_PHYSCS_FORCE_LINK   0x0008
 
#define KSZ8895_PHYSCS_PWRSAVE   0x0004
 
#define KSZ8895_PHYSCS_REMOTE_LOOPBACK   0x0002
 
#define KSZ8895_CHIP_ID0_FAMILY_ID   0xFF
 
#define KSZ8895_CHIP_ID0_FAMILY_ID_DEFAULT   0x95
 
#define KSZ8895_CHIP_ID1_CHIP_ID   0xF0
 
#define KSZ8895_CHIP_ID1_CHIP_ID_MQX_FQX_MLX   0x40
 
#define KSZ8895_CHIP_ID1_CHIP_ID_RQX   0x60
 
#define KSZ8895_CHIP_ID1_REVISION_ID   0x0E
 
#define KSZ8895_CHIP_ID1_START_SWITCH   0x01
 
#define KSZ8895_GLOBAL_CTRL0_NEW_BACK_OFF_EN   0x80
 
#define KSZ8895_GLOBAL_CTRL0_FLUSH_DYNAMIC_MAC_TABLE   0x20
 
#define KSZ8895_GLOBAL_CTRL0_FLUSH_STATIC_MAC_TABLE   0x10
 
#define KSZ8895_GLOBAL_CTRL0_PHY_MII_RMII_EN   0x08
 
#define KSZ8895_GLOBAL_CTRL0_UNH_MODE   0x02
 
#define KSZ8895_GLOBAL_CTRL0_LINK_CHANGE_AGE   0x01
 
#define KSZ8895_GLOBAL_CTRL1_PASS_ALL_FRAMES   0x80
 
#define KSZ8895_GLOBAL_CTRL1_2KB_PKT_SUPPORT   0x40
 
#define KSZ8895_GLOBAL_CTRL1_TX_FLOW_CTRL_DIS   0x20
 
#define KSZ8895_GLOBAL_CTRL1_RX_FLOW_CTRL_DIS   0x10
 
#define KSZ8895_GLOBAL_CTRL1_FRAME_LEN_CHECK_EN   0x08
 
#define KSZ8895_GLOBAL_CTRL1_AGING_EN   0x04
 
#define KSZ8895_GLOBAL_CTRL1_FAST_AGE_EN   0x02
 
#define KSZ8895_GLOBAL_CTRL1_AGGRESSIVE_BACK_OFF_EN   0x01
 
#define KSZ8895_GLOBAL_CTRL10_CLK_MODE   0x40
 
#define KSZ8895_GLOBAL_CTRL10_CPU_CLK_SEL   0x30
 
#define KSZ8895_GLOBAL_CTRL10_RESTORE_PREAMBLE_EN   0x04
 
#define KSZ8895_GLOBAL_CTRL10_TAIL_TAG_EN   0x02
 
#define KSZ8895_GLOBAL_CTRL10_PASS_FLOW_CTRL_PKT   0x01
 
#define KSZ8895_PORTn_CTRL0_BCAST_STORM_PROTECT_EN   0x80
 
#define KSZ8895_PORTn_CTRL0_DIFFSERV_PRIO_CLASS_EN   0x40
 
#define KSZ8895_PORTn_CTRL0_802_1P_PRIO_CLASS_EN   0x20
 
#define KSZ8895_PORTn_CTRL0_PORT_PRIO_CLASS_EN   0x18
 
#define KSZ8895_PORTn_CTRL0_TAG_INSERTION   0x04
 
#define KSZ8895_PORTn_CTRL0_TAG_REMOVAL   0x02
 
#define KSZ8895_PORTn_CTRL0_TWO_QUEUE_SPLIT_EN   0x01
 
#define KSZ8895_PORTn_CTRL1_SNIFFER_PORT   0x80
 
#define KSZ8895_PORTn_CTRL1_RECEIVE_SNIFF   0x40
 
#define KSZ8895_PORTn_CTRL1_TRANSMIT_SNIFF   0x20
 
#define KSZ8895_PORTn_CTRL1_PORT_VLAN_MEMBERSHIP   0x1F
 
#define KSZ8895_PORTn_CTRL2_USER_PRIO_CEILING   0x80
 
#define KSZ8895_PORTn_CTRL2_INGRESS_VLAN_FILT   0x40
 
#define KSZ8895_PORTn_CTRL2_DISCARD_NON_PVID_PKT   0x20
 
#define KSZ8895_PORTn_CTRL2_FORCE_FLOW_CTRL   0x10
 
#define KSZ8895_PORTn_CTRL2_BACK_PRESSURE_EN   0x08
 
#define KSZ8895_PORTn_CTRL2_TRANSMIT_EN   0x04
 
#define KSZ8895_PORTn_CTRL2_RECEIVE_EN   0x02
 
#define KSZ8895_PORTn_CTRL2_LEARNING_DIS   0x01
 
#define KSZ8895_PORTn_CTRL3_DEFAULT_USER_PRIO   0xE0
 
#define KSZ8895_PORTn_CTRL3_DEFAULT_CFI   0x10
 
#define KSZ8895_PORTn_CTRL3_DEFAULT_VID_MSB   0x0F
 
#define KSZ8895_PORTn_CTRL4_DEFAULT_VID_LSB   0xFF
 
#define KSZ8895_RMII_MGMT_CTRL_SW5_CLK_OUT_DIS   0x08
 
#define KSZ8895_RMII_MGMT_CTRL_P5_CLK_OUT_DIS   0x04
 
#define KSZ8895_PORTn_STAT0_HP_MDIX   0x80
 
#define KSZ8895_PORTn_STAT0_POLRVS   0x20
 
#define KSZ8895_PORTn_STAT0_TX_FLOW_CTRL_EN   0x10
 
#define KSZ8895_PORTn_STAT0_RX_FLOW_CTRL_EN   0x08
 
#define KSZ8895_PORTn_STAT0_OP_SPEED   0x04
 
#define KSZ8895_PORTn_STAT0_OP_DUPLEX   0x02
 
#define KSZ8895_PORTn_PSCS_VCT_10M_SHORT   0x80
 
#define KSZ8895_PORTn_PSCS_VCT_RESULT   0x60
 
#define KSZ8895_PORTn_PSCS_VCT_EN   0x10
 
#define KSZ8895_PORTn_PSCS_FORCE_LNK   0x08
 
#define KSZ8895_PORTn_PSCS_PWRSAVE   0x04
 
#define KSZ8895_PORTn_PSCS_REMOTE_LOOPBACK   0x02
 
#define KSZ8895_PORTn_PSCS_VCT_FAULT_COUNT_MSB   0x01
 
#define KSZ8895_PORTn_LINKMD_VCT_FAULT_COUNT_LSB   0xFF
 
#define KSZ8895_PORTn_STAT1_MDIX_STATUS   0x80
 
#define KSZ8895_PORTn_STAT1_AN_DONE   0x40
 
#define KSZ8895_PORTn_STAT1_LINK_GOOD   0x20
 
#define KSZ8895_PORTn_STAT1_LP_FLOW_CTRL_CAPABLE   0x10
 
#define KSZ8895_PORTn_STAT1_LP_100BTX_FD_CAPABLE   0x08
 
#define KSZ8895_PORTn_STAT1_LP_100BTX_HF_CAPABLE   0x04
 
#define KSZ8895_PORTn_STAT1_LP_10BT_FD_CAPABLE   0x02
 
#define KSZ8895_PORTn_STAT1_LP_10BT_HD_CAPABLE   0x01
 
#define KSZ8895_PORTn_CTRL7_STAT2_PHY_LOOPBACK   0x80
 
#define KSZ8895_PORTn_CTRL7_STAT2_PHY_ISOLATE   0x20
 
#define KSZ8895_PORTn_CTRL7_STAT2_SOFT_RESET   0x10
 
#define KSZ8895_PORTn_CTRL7_STAT2_FORCE_LINK   0x08
 
#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE   0x07
 
#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_AN   0x01
 
#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_10BT_HD   0x02
 
#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_100BTX_HD   0x03
 
#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_10BT_FD   0x05
 
#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_100BTX_FD   0x06
 
#define KSZ8895_INDIRECT_CTRL0_WRITE   0x00
 
#define KSZ8895_INDIRECT_CTRL0_READ   0x10
 
#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL   0x0C
 
#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL_STATIC_MAC   0x00
 
#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL_VLAN   0x04
 
#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL_DYNAMIC_MAC   0x08
 
#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL_MIB_COUNTER   0x0C
 
#define KSZ8895_INDIRECT_CTRL0_ADDR_H   0x03
 
#define KSZ8895_INDIRECT_CTRL1_ADDR_L   0xFF
 
#define KSZ8895_ID_REVISION_ID   0xF0
 
#define KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A2   0x40
 
#define KSZ8895_ID_REVISION_ID_ML_REV_B2   0x40
 
#define KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A3   0x50
 
#define KSZ8895_ID_REVISION_ID_ML_REV_B3   0x50
 
#define KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A4   0x60
 

Functions

error_t ksz8895Init (NetInterface *interface)
 KSZ8895 Ethernet switch initialization. More...
 
void ksz8895Tick (NetInterface *interface)
 KSZ8895 timer handler. More...
 
void ksz8895EnableIrq (NetInterface *interface)
 Enable interrupts. More...
 
void ksz8895DisableIrq (NetInterface *interface)
 Disable interrupts. More...
 
void ksz8895EventHandler (NetInterface *interface)
 KSZ8895 event handler. More...
 
error_t ksz8895TagFrame (NetInterface *interface, NetBuffer *buffer, size_t *offset, NetTxAncillary *ancillary)
 Add tail tag to Ethernet frame. More...
 
error_t ksz8895UntagFrame (NetInterface *interface, uint8_t **frame, size_t *length, NetRxAncillary *ancillary)
 Decode tail tag from incoming Ethernet frame. More...
 
bool_t ksz8895GetLinkState (NetInterface *interface, uint8_t port)
 Get link state. More...
 
uint32_t ksz8895GetLinkSpeed (NetInterface *interface, uint8_t port)
 Get link speed. More...
 
NicDuplexMode ksz8895GetDuplexMode (NetInterface *interface, uint8_t port)
 Get duplex mode. More...
 
void ksz8895SetPortState (NetInterface *interface, uint8_t port, SwitchPortState state)
 Set port state. More...
 
SwitchPortState ksz8895GetPortState (NetInterface *interface, uint8_t port)
 Get port state. More...
 
void ksz8895SetAgingTime (NetInterface *interface, uint32_t agingTime)
 Set aging time for dynamic filtering entries. More...
 
void ksz8895EnableRsvdMcastTable (NetInterface *interface, bool_t enable)
 Enable reserved multicast table. More...
 
error_t ksz8895AddStaticFdbEntry (NetInterface *interface, const SwitchFdbEntry *entry)
 Add a new entry to the static MAC table. More...
 
error_t ksz8895DeleteStaticFdbEntry (NetInterface *interface, const SwitchFdbEntry *entry)
 Remove an entry from the static MAC table. More...
 
error_t ksz8895GetStaticFdbEntry (NetInterface *interface, uint_t index, SwitchFdbEntry *entry)
 Read an entry from the static MAC table. More...
 
void ksz8895FlushStaticFdbTable (NetInterface *interface)
 Flush static MAC table. More...
 
error_t ksz8895GetDynamicFdbEntry (NetInterface *interface, uint_t index, SwitchFdbEntry *entry)
 Read an entry from the dynamic MAC table. More...
 
void ksz8895FlushDynamicFdbTable (NetInterface *interface, uint8_t port)
 Flush dynamic MAC table. More...
 
void ksz8895WritePhyReg (NetInterface *interface, uint8_t port, uint8_t address, uint16_t data)
 Write PHY register. More...
 
uint16_t ksz8895ReadPhyReg (NetInterface *interface, uint8_t port, uint8_t address)
 Read PHY register. More...
 
void ksz8895DumpPhyReg (NetInterface *interface, uint8_t port)
 Dump PHY registers for debugging purpose. More...
 
void ksz8895WriteSwitchReg (NetInterface *interface, uint8_t address, uint8_t data)
 Write switch register. More...
 
uint8_t ksz8895ReadSwitchReg (NetInterface *interface, uint8_t address)
 Read switch register. More...
 
void ksz8895DumpSwitchReg (NetInterface *interface)
 Dump switch registers for debugging purpose. More...
 

Variables

const SwitchDriver ksz8895SwitchDriver
 KSZ8895 Ethernet switch driver. More...
 

Detailed Description

KSZ8895 5-port Ethernet switch driver.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2020 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
1.9.8

Definition in file ksz8895_driver.h.

Macro Definition Documentation

◆ KSZ8895_ANAR

#define KSZ8895_ANAR   0x04

Definition at line 77 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_100BTX_FD

#define KSZ8895_ANAR_100BTX_FD   0x0100

Definition at line 354 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_100BTX_HD

#define KSZ8895_ANAR_100BTX_HD   0x0080

Definition at line 355 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_10BT_FD

#define KSZ8895_ANAR_10BT_FD   0x0040

Definition at line 356 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_10BT_HD

#define KSZ8895_ANAR_10BT_HD   0x0020

Definition at line 357 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_NEXT_PAGE

#define KSZ8895_ANAR_NEXT_PAGE   0x8000

Definition at line 351 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_PAUSE

#define KSZ8895_ANAR_PAUSE   0x0400

Definition at line 353 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_REMOTE_FAULT

#define KSZ8895_ANAR_REMOTE_FAULT   0x2000

Definition at line 352 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_SELECTOR

#define KSZ8895_ANAR_SELECTOR   0x001F

Definition at line 358 of file ksz8895_driver.h.

◆ KSZ8895_ANAR_SELECTOR_DEFAULT

#define KSZ8895_ANAR_SELECTOR_DEFAULT   0x0001

Definition at line 359 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR

#define KSZ8895_ANLPAR   0x05

Definition at line 78 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR_100BTX_FD

#define KSZ8895_ANLPAR_100BTX_FD   0x0100

Definition at line 366 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR_100BTX_HD

#define KSZ8895_ANLPAR_100BTX_HD   0x0080

Definition at line 367 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR_10BT_FD

#define KSZ8895_ANLPAR_10BT_FD   0x0040

Definition at line 368 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR_10BT_HD

#define KSZ8895_ANLPAR_10BT_HD   0x0020

Definition at line 369 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR_LP_ACK

#define KSZ8895_ANLPAR_LP_ACK   0x4000

Definition at line 363 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR_NEXT_PAGE

#define KSZ8895_ANLPAR_NEXT_PAGE   0x8000

Definition at line 362 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR_PAUSE

#define KSZ8895_ANLPAR_PAUSE   0x0400

Definition at line 365 of file ksz8895_driver.h.

◆ KSZ8895_ANLPAR_REMOTE_FAULT

#define KSZ8895_ANLPAR_REMOTE_FAULT   0x2000

Definition at line 364 of file ksz8895_driver.h.

◆ KSZ8895_BMCR

#define KSZ8895_BMCR   0x00

Definition at line 73 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_AN_EN

#define KSZ8895_BMCR_AN_EN   0x1000

Definition at line 317 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_AUTO_MDIX_DIS

#define KSZ8895_BMCR_AUTO_MDIX_DIS   0x0008

Definition at line 325 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_COL_TEST

#define KSZ8895_BMCR_COL_TEST   0x0080

Definition at line 322 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_FAR_END_FAULT_DIS

#define KSZ8895_BMCR_FAR_END_FAULT_DIS   0x0004

Definition at line 326 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_FORCE_100

#define KSZ8895_BMCR_FORCE_100   0x2000

Definition at line 316 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_FORCE_FULL_DUPLEX

#define KSZ8895_BMCR_FORCE_FULL_DUPLEX   0x0100

Definition at line 321 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_FORCE_MDI

#define KSZ8895_BMCR_FORCE_MDI   0x0010

Definition at line 324 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_HP_MDIX

#define KSZ8895_BMCR_HP_MDIX   0x0020

Definition at line 323 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_ISOLATE

#define KSZ8895_BMCR_ISOLATE   0x0400

Definition at line 319 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_LED_DIS

#define KSZ8895_BMCR_LED_DIS   0x0001

Definition at line 328 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_LOOPBACK

#define KSZ8895_BMCR_LOOPBACK   0x4000

Definition at line 315 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_POWER_DOWN

#define KSZ8895_BMCR_POWER_DOWN   0x0800

Definition at line 318 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_RESET

#define KSZ8895_BMCR_RESET   0x8000

Definition at line 314 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_RESTART_AN

#define KSZ8895_BMCR_RESTART_AN   0x0200

Definition at line 320 of file ksz8895_driver.h.

◆ KSZ8895_BMCR_TRANSMIT_DIS

#define KSZ8895_BMCR_TRANSMIT_DIS   0x0002

Definition at line 327 of file ksz8895_driver.h.

◆ KSZ8895_BMSR

#define KSZ8895_BMSR   0x01

Definition at line 74 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_100BT4

#define KSZ8895_BMSR_100BT4   0x8000

Definition at line 331 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_100BTX_FD

#define KSZ8895_BMSR_100BTX_FD   0x4000

Definition at line 332 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_100BTX_HD

#define KSZ8895_BMSR_100BTX_HD   0x2000

Definition at line 333 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_10BT_FD

#define KSZ8895_BMSR_10BT_FD   0x1000

Definition at line 334 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_10BT_HD

#define KSZ8895_BMSR_10BT_HD   0x0800

Definition at line 335 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_AN_CAPABLE

#define KSZ8895_BMSR_AN_CAPABLE   0x0008

Definition at line 339 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_AN_COMPLETE

#define KSZ8895_BMSR_AN_COMPLETE   0x0020

Definition at line 337 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_EXTENDED_CAPABLE

#define KSZ8895_BMSR_EXTENDED_CAPABLE   0x0001

Definition at line 342 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_FAR_END_FAULT

#define KSZ8895_BMSR_FAR_END_FAULT   0x0010

Definition at line 338 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_JABBER_TEST

#define KSZ8895_BMSR_JABBER_TEST   0x0002

Definition at line 341 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_LINK_STATUS

#define KSZ8895_BMSR_LINK_STATUS   0x0004

Definition at line 340 of file ksz8895_driver.h.

◆ KSZ8895_BMSR_PREAMBLE_SUPPR

#define KSZ8895_BMSR_PREAMBLE_SUPPR   0x0040

Definition at line 336 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID0

#define KSZ8895_CHIP_ID0   0x00

Definition at line 83 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID0_FAMILY_ID

#define KSZ8895_CHIP_ID0_FAMILY_ID   0xFF

Definition at line 392 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID0_FAMILY_ID_DEFAULT

#define KSZ8895_CHIP_ID0_FAMILY_ID_DEFAULT   0x95

Definition at line 393 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID1

#define KSZ8895_CHIP_ID1   0x01

Definition at line 84 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID1_CHIP_ID

#define KSZ8895_CHIP_ID1_CHIP_ID   0xF0

Definition at line 396 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID1_CHIP_ID_MQX_FQX_MLX

#define KSZ8895_CHIP_ID1_CHIP_ID_MQX_FQX_MLX   0x40

Definition at line 397 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID1_CHIP_ID_RQX

#define KSZ8895_CHIP_ID1_CHIP_ID_RQX   0x60

Definition at line 398 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID1_REVISION_ID

#define KSZ8895_CHIP_ID1_REVISION_ID   0x0E

Definition at line 399 of file ksz8895_driver.h.

◆ KSZ8895_CHIP_ID1_START_SWITCH

#define KSZ8895_CHIP_ID1_START_SWITCH   0x01

Definition at line 400 of file ksz8895_driver.h.

◆ KSZ8895_DYNAMIC_MAC_TABLE_SIZE

#define KSZ8895_DYNAMIC_MAC_TABLE_SIZE   1024

Definition at line 58 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL0

#define KSZ8895_GLOBAL_CTRL0   0x02

Definition at line 85 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL0_FLUSH_DYNAMIC_MAC_TABLE

#define KSZ8895_GLOBAL_CTRL0_FLUSH_DYNAMIC_MAC_TABLE   0x20

Definition at line 404 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL0_FLUSH_STATIC_MAC_TABLE

#define KSZ8895_GLOBAL_CTRL0_FLUSH_STATIC_MAC_TABLE   0x10

Definition at line 405 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL0_LINK_CHANGE_AGE

#define KSZ8895_GLOBAL_CTRL0_LINK_CHANGE_AGE   0x01

Definition at line 408 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL0_NEW_BACK_OFF_EN

#define KSZ8895_GLOBAL_CTRL0_NEW_BACK_OFF_EN   0x80

Definition at line 403 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL0_PHY_MII_RMII_EN

#define KSZ8895_GLOBAL_CTRL0_PHY_MII_RMII_EN   0x08

Definition at line 406 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL0_UNH_MODE

#define KSZ8895_GLOBAL_CTRL0_UNH_MODE   0x02

Definition at line 407 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1

#define KSZ8895_GLOBAL_CTRL1   0x03

Definition at line 86 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL10

#define KSZ8895_GLOBAL_CTRL10   0x0C

Definition at line 95 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL10_CLK_MODE

#define KSZ8895_GLOBAL_CTRL10_CLK_MODE   0x40

Definition at line 421 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL10_CPU_CLK_SEL

#define KSZ8895_GLOBAL_CTRL10_CPU_CLK_SEL   0x30

Definition at line 422 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL10_PASS_FLOW_CTRL_PKT

#define KSZ8895_GLOBAL_CTRL10_PASS_FLOW_CTRL_PKT   0x01

Definition at line 425 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL10_RESTORE_PREAMBLE_EN

#define KSZ8895_GLOBAL_CTRL10_RESTORE_PREAMBLE_EN   0x04

Definition at line 423 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL10_TAIL_TAG_EN

#define KSZ8895_GLOBAL_CTRL10_TAIL_TAG_EN   0x02

Definition at line 424 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL11

#define KSZ8895_GLOBAL_CTRL11   0x0D

Definition at line 96 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL12

#define KSZ8895_GLOBAL_CTRL12   0x80

Definition at line 179 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL13

#define KSZ8895_GLOBAL_CTRL13   0x81

Definition at line 180 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL14

#define KSZ8895_GLOBAL_CTRL14   0x82

Definition at line 181 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL15

#define KSZ8895_GLOBAL_CTRL15   0x83

Definition at line 182 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL16

#define KSZ8895_GLOBAL_CTRL16   0x84

Definition at line 183 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL17

#define KSZ8895_GLOBAL_CTRL17   0x85

Definition at line 184 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL18

#define KSZ8895_GLOBAL_CTRL18   0x86

Definition at line 185 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL19

#define KSZ8895_GLOBAL_CTRL19   0x87

Definition at line 186 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1_2KB_PKT_SUPPORT

#define KSZ8895_GLOBAL_CTRL1_2KB_PKT_SUPPORT   0x40

Definition at line 412 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1_AGGRESSIVE_BACK_OFF_EN

#define KSZ8895_GLOBAL_CTRL1_AGGRESSIVE_BACK_OFF_EN   0x01

Definition at line 418 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1_AGING_EN

#define KSZ8895_GLOBAL_CTRL1_AGING_EN   0x04

Definition at line 416 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1_FAST_AGE_EN

#define KSZ8895_GLOBAL_CTRL1_FAST_AGE_EN   0x02

Definition at line 417 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1_FRAME_LEN_CHECK_EN

#define KSZ8895_GLOBAL_CTRL1_FRAME_LEN_CHECK_EN   0x08

Definition at line 415 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1_PASS_ALL_FRAMES

#define KSZ8895_GLOBAL_CTRL1_PASS_ALL_FRAMES   0x80

Definition at line 411 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1_RX_FLOW_CTRL_DIS

#define KSZ8895_GLOBAL_CTRL1_RX_FLOW_CTRL_DIS   0x10

Definition at line 414 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL1_TX_FLOW_CTRL_DIS

#define KSZ8895_GLOBAL_CTRL1_TX_FLOW_CTRL_DIS   0x20

Definition at line 413 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL2

#define KSZ8895_GLOBAL_CTRL2   0x04

Definition at line 87 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL3

#define KSZ8895_GLOBAL_CTRL3   0x05

Definition at line 88 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL4

#define KSZ8895_GLOBAL_CTRL4   0x06

Definition at line 89 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL5

#define KSZ8895_GLOBAL_CTRL5   0x07

Definition at line 90 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL6

#define KSZ8895_GLOBAL_CTRL6   0x08

Definition at line 91 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL7

#define KSZ8895_GLOBAL_CTRL7   0x09

Definition at line 92 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL8

#define KSZ8895_GLOBAL_CTRL8   0x0A

Definition at line 93 of file ksz8895_driver.h.

◆ KSZ8895_GLOBAL_CTRL9

#define KSZ8895_GLOBAL_CTRL9   0x0B

Definition at line 94 of file ksz8895_driver.h.

◆ KSZ8895_ID

#define KSZ8895_ID   0x89

Definition at line 187 of file ksz8895_driver.h.

◆ KSZ8895_ID_REVISION_ID

#define KSZ8895_ID_REVISION_ID   0xF0

Definition at line 520 of file ksz8895_driver.h.

◆ KSZ8895_ID_REVISION_ID_ML_REV_B2

#define KSZ8895_ID_REVISION_ID_ML_REV_B2   0x40

Definition at line 522 of file ksz8895_driver.h.

◆ KSZ8895_ID_REVISION_ID_ML_REV_B3

#define KSZ8895_ID_REVISION_ID_ML_REV_B3   0x50

Definition at line 524 of file ksz8895_driver.h.

◆ KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A2

#define KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A2   0x40

Definition at line 521 of file ksz8895_driver.h.

◆ KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A3

#define KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A3   0x50

Definition at line 523 of file ksz8895_driver.h.

◆ KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A4

#define KSZ8895_ID_REVISION_ID_MQX_RQX_FQX_REV_A4   0x60

Definition at line 525 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0

#define KSZ8895_INDIRECT_CTRL0   0x6E

Definition at line 166 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0_ADDR_H

#define KSZ8895_INDIRECT_CTRL0_ADDR_H   0x03

Definition at line 514 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0_READ

#define KSZ8895_INDIRECT_CTRL0_READ   0x10

Definition at line 508 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0_TABLE_SEL

#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL   0x0C

Definition at line 509 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0_TABLE_SEL_DYNAMIC_MAC

#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL_DYNAMIC_MAC   0x08

Definition at line 512 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0_TABLE_SEL_MIB_COUNTER

#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL_MIB_COUNTER   0x0C

Definition at line 513 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0_TABLE_SEL_STATIC_MAC

#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL_STATIC_MAC   0x00

Definition at line 510 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0_TABLE_SEL_VLAN

#define KSZ8895_INDIRECT_CTRL0_TABLE_SEL_VLAN   0x04

Definition at line 511 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL0_WRITE

#define KSZ8895_INDIRECT_CTRL0_WRITE   0x00

Definition at line 507 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL1

#define KSZ8895_INDIRECT_CTRL1   0x6F

Definition at line 167 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_CTRL1_ADDR_L

#define KSZ8895_INDIRECT_CTRL1_ADDR_L   0xFF

Definition at line 517 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA0

#define KSZ8895_INDIRECT_DATA0   0x78

Definition at line 176 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA1

#define KSZ8895_INDIRECT_DATA1   0x77

Definition at line 175 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA2

#define KSZ8895_INDIRECT_DATA2   0x76

Definition at line 174 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA3

#define KSZ8895_INDIRECT_DATA3   0x75

Definition at line 173 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA4

#define KSZ8895_INDIRECT_DATA4   0x74

Definition at line 172 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA5

#define KSZ8895_INDIRECT_DATA5   0x73

Definition at line 171 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA6

#define KSZ8895_INDIRECT_DATA6   0x72

Definition at line 170 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA7

#define KSZ8895_INDIRECT_DATA7   0x71

Definition at line 169 of file ksz8895_driver.h.

◆ KSZ8895_INDIRECT_DATA8

#define KSZ8895_INDIRECT_DATA8   0x70

Definition at line 168 of file ksz8895_driver.h.

◆ KSZ8895_INT_MASK

#define KSZ8895_INT_MASK   0x7D

Definition at line 178 of file ksz8895_driver.h.

◆ KSZ8895_INT_STAT

#define KSZ8895_INT_STAT   0x7C

Definition at line 177 of file ksz8895_driver.h.

◆ KSZ8895_LINKMD

#define KSZ8895_LINKMD   0x1D

Definition at line 79 of file ksz8895_driver.h.

◆ KSZ8895_LINKMD_FAULT_COUNT

#define KSZ8895_LINKMD_FAULT_COUNT   0x01FF

Definition at line 375 of file ksz8895_driver.h.

◆ KSZ8895_LINKMD_RESULT

#define KSZ8895_LINKMD_RESULT   0x6000

Definition at line 373 of file ksz8895_driver.h.

◆ KSZ8895_LINKMD_SHORT

#define KSZ8895_LINKMD_SHORT   0x1000

Definition at line 374 of file ksz8895_driver.h.

◆ KSZ8895_LINKMD_TEST_EN

#define KSZ8895_LINKMD_TEST_EN   0x8000

Definition at line 372 of file ksz8895_driver.h.

◆ KSZ8895_MAC_ADDR0

#define KSZ8895_MAC_ADDR0   0x68

Definition at line 160 of file ksz8895_driver.h.

◆ KSZ8895_MAC_ADDR1

#define KSZ8895_MAC_ADDR1   0x69

Definition at line 161 of file ksz8895_driver.h.

◆ KSZ8895_MAC_ADDR2

#define KSZ8895_MAC_ADDR2   0x6A

Definition at line 162 of file ksz8895_driver.h.

◆ KSZ8895_MAC_ADDR3

#define KSZ8895_MAC_ADDR3   0x6B

Definition at line 163 of file ksz8895_driver.h.

◆ KSZ8895_MAC_ADDR4

#define KSZ8895_MAC_ADDR4   0x6C

Definition at line 164 of file ksz8895_driver.h.

◆ KSZ8895_MAC_ADDR5

#define KSZ8895_MAC_ADDR5   0x6D

Definition at line 165 of file ksz8895_driver.h.

◆ KSZ8895_PD_MGMT_CTRL1

#define KSZ8895_PD_MGMT_CTRL1   0x0E

Definition at line 97 of file ksz8895_driver.h.

◆ KSZ8895_PD_MGMT_CTRL2

#define KSZ8895_PD_MGMT_CTRL2   0x0F

Definition at line 98 of file ksz8895_driver.h.

◆ KSZ8895_PHYID1

#define KSZ8895_PHYID1   0x02

Definition at line 75 of file ksz8895_driver.h.

◆ KSZ8895_PHYID1_DEFAULT

#define KSZ8895_PHYID1_DEFAULT   0x0022

Definition at line 345 of file ksz8895_driver.h.

◆ KSZ8895_PHYID2

#define KSZ8895_PHYID2   0x03

Definition at line 76 of file ksz8895_driver.h.

◆ KSZ8895_PHYID2_DEFAULT

#define KSZ8895_PHYID2_DEFAULT   0x1450

Definition at line 348 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS

#define KSZ8895_PHYSCS   0x1F

Definition at line 80 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_FORCE_LINK

#define KSZ8895_PHYSCS_FORCE_LINK   0x0008

Definition at line 387 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_MDIX_STATUS

#define KSZ8895_PHYSCS_MDIX_STATUS   0x0010

Definition at line 386 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_OP_MODE

#define KSZ8895_PHYSCS_OP_MODE   0x0700

Definition at line 378 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_OP_MODE_100BTX_FD

#define KSZ8895_PHYSCS_OP_MODE_100BTX_FD   0x0600

Definition at line 383 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_OP_MODE_100BTX_HD

#define KSZ8895_PHYSCS_OP_MODE_100BTX_HD   0x0300

Definition at line 381 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_OP_MODE_10BT_FD

#define KSZ8895_PHYSCS_OP_MODE_10BT_FD   0x0500

Definition at line 382 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_OP_MODE_10BT_HD

#define KSZ8895_PHYSCS_OP_MODE_10BT_HD   0x0200

Definition at line 380 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_OP_MODE_AN

#define KSZ8895_PHYSCS_OP_MODE_AN   0x0100

Definition at line 379 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_OP_MODE_ISOLATE

#define KSZ8895_PHYSCS_OP_MODE_ISOLATE   0x0700

Definition at line 384 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_POLRVS

#define KSZ8895_PHYSCS_POLRVS   0x0020

Definition at line 385 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_PWRSAVE

#define KSZ8895_PHYSCS_PWRSAVE   0x0004

Definition at line 388 of file ksz8895_driver.h.

◆ KSZ8895_PHYSCS_REMOTE_LOOPBACK

#define KSZ8895_PHYSCS_REMOTE_LOOPBACK   0x0002

Definition at line 389 of file ksz8895_driver.h.

◆ KSZ8895_PORT1

#define KSZ8895_PORT1   1

Definition at line 38 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL0

#define KSZ8895_PORT1_CTRL0   0x10

Definition at line 99 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL1

#define KSZ8895_PORT1_CTRL1   0x11

Definition at line 100 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL10

#define KSZ8895_PORT1_CTRL10   0xB2

Definition at line 206 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL11

#define KSZ8895_PORT1_CTRL11   0xB3

Definition at line 207 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL12

#define KSZ8895_PORT1_CTRL12   0xB4

Definition at line 208 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL13

#define KSZ8895_PORT1_CTRL13   0xB5

Definition at line 209 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL2

#define KSZ8895_PORT1_CTRL2   0x12

Definition at line 101 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL3

#define KSZ8895_PORT1_CTRL3   0x13

Definition at line 102 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL4

#define KSZ8895_PORT1_CTRL4   0x14

Definition at line 103 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL5

#define KSZ8895_PORT1_CTRL5   0x1C

Definition at line 107 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL6

#define KSZ8895_PORT1_CTRL6   0x1D

Definition at line 108 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL7_STAT2

#define KSZ8895_PORT1_CTRL7_STAT2   0x1F

Definition at line 110 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL8

#define KSZ8895_PORT1_CTRL8   0xB0

Definition at line 204 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_CTRL9

#define KSZ8895_PORT1_CTRL9   0xB1

Definition at line 205 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_LINKMD

#define KSZ8895_PORT1_LINKMD   0x1B

Definition at line 106 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_MASK

#define KSZ8895_PORT1_MASK   0x01

Definition at line 46 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_PRIO0_IG_LIMIT_CTRL1

#define KSZ8895_PORT1_PRIO0_IG_LIMIT_CTRL1   0xB7

Definition at line 211 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_PRIO1_IG_LIMIT_CTRL2

#define KSZ8895_PORT1_PRIO1_IG_LIMIT_CTRL2   0xB8

Definition at line 212 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_PRIO2_IG_LIMIT_CTRL3

#define KSZ8895_PORT1_PRIO2_IG_LIMIT_CTRL3   0xB9

Definition at line 213 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_PRIO3_IG_LIMIT_CTRL4

#define KSZ8895_PORT1_PRIO3_IG_LIMIT_CTRL4   0xBA

Definition at line 214 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_PSCS

#define KSZ8895_PORT1_PSCS   0x1A

Definition at line 105 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8895_PORT1_QUEUE0_EG_LIMIT_CTRL1   0xBB

Definition at line 215 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8895_PORT1_QUEUE1_EG_LIMIT_CTRL2   0xBC

Definition at line 216 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8895_PORT1_QUEUE2_EG_LIMIT_CTRL3   0xBD

Definition at line 217 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8895_PORT1_QUEUE3_EG_LIMIT_CTRL4   0xBE

Definition at line 218 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_RATE_LIMIT_CTRL

#define KSZ8895_PORT1_RATE_LIMIT_CTRL   0xB6

Definition at line 210 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_STAT0

#define KSZ8895_PORT1_STAT0   0x19

Definition at line 104 of file ksz8895_driver.h.

◆ KSZ8895_PORT1_STAT1

#define KSZ8895_PORT1_STAT1   0x1E

Definition at line 109 of file ksz8895_driver.h.

◆ KSZ8895_PORT2

#define KSZ8895_PORT2   2

Definition at line 39 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL0

#define KSZ8895_PORT2_CTRL0   0x20

Definition at line 111 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL1

#define KSZ8895_PORT2_CTRL1   0x21

Definition at line 112 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL10

#define KSZ8895_PORT2_CTRL10   0xC2

Definition at line 222 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL11

#define KSZ8895_PORT2_CTRL11   0xC3

Definition at line 223 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL12

#define KSZ8895_PORT2_CTRL12   0xC4

Definition at line 224 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL13

#define KSZ8895_PORT2_CTRL13   0xC5

Definition at line 225 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL2

#define KSZ8895_PORT2_CTRL2   0x22

Definition at line 113 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL3

#define KSZ8895_PORT2_CTRL3   0x23

Definition at line 114 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL4

#define KSZ8895_PORT2_CTRL4   0x24

Definition at line 115 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL5

#define KSZ8895_PORT2_CTRL5   0x2C

Definition at line 119 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL6

#define KSZ8895_PORT2_CTRL6   0x2D

Definition at line 120 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL7_STAT2

#define KSZ8895_PORT2_CTRL7_STAT2   0x2F

Definition at line 122 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL8

#define KSZ8895_PORT2_CTRL8   0xC0

Definition at line 220 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_CTRL9

#define KSZ8895_PORT2_CTRL9   0xC1

Definition at line 221 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_LINKMD

#define KSZ8895_PORT2_LINKMD   0x2B

Definition at line 118 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_MASK

#define KSZ8895_PORT2_MASK   0x02

Definition at line 47 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_PRIO0_IG_LIMIT_CTRL1

#define KSZ8895_PORT2_PRIO0_IG_LIMIT_CTRL1   0xC7

Definition at line 227 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_PRIO1_IG_LIMIT_CTRL2

#define KSZ8895_PORT2_PRIO1_IG_LIMIT_CTRL2   0xC8

Definition at line 228 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_PRIO2_IG_LIMIT_CTRL3

#define KSZ8895_PORT2_PRIO2_IG_LIMIT_CTRL3   0xC9

Definition at line 229 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_PRIO3_IG_LIMIT_CTRL4

#define KSZ8895_PORT2_PRIO3_IG_LIMIT_CTRL4   0xCA

Definition at line 230 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_PSCS

#define KSZ8895_PORT2_PSCS   0x2A

Definition at line 117 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8895_PORT2_QUEUE0_EG_LIMIT_CTRL1   0xCB

Definition at line 231 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8895_PORT2_QUEUE1_EG_LIMIT_CTRL2   0xCC

Definition at line 232 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8895_PORT2_QUEUE2_EG_LIMIT_CTRL3   0xCD

Definition at line 233 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8895_PORT2_QUEUE3_EG_LIMIT_CTRL4   0xCE

Definition at line 234 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_RATE_LIMIT_CTRL

#define KSZ8895_PORT2_RATE_LIMIT_CTRL   0xC6

Definition at line 226 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_STAT0

#define KSZ8895_PORT2_STAT0   0x29

Definition at line 116 of file ksz8895_driver.h.

◆ KSZ8895_PORT2_STAT1

#define KSZ8895_PORT2_STAT1   0x2E

Definition at line 121 of file ksz8895_driver.h.

◆ KSZ8895_PORT3

#define KSZ8895_PORT3   3

Definition at line 40 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_COPPER_FIBER_CTRL

#define KSZ8895_PORT3_COPPER_FIBER_CTRL   0xEF

Definition at line 266 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL0

#define KSZ8895_PORT3_CTRL0   0x30

Definition at line 123 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL1

#define KSZ8895_PORT3_CTRL1   0x31

Definition at line 124 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL10

#define KSZ8895_PORT3_CTRL10   0xD2

Definition at line 237 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL11

#define KSZ8895_PORT3_CTRL11   0xD3

Definition at line 238 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL12

#define KSZ8895_PORT3_CTRL12   0xD4

Definition at line 239 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL13

#define KSZ8895_PORT3_CTRL13   0xD5

Definition at line 240 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL2

#define KSZ8895_PORT3_CTRL2   0x32

Definition at line 125 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL3

#define KSZ8895_PORT3_CTRL3   0x33

Definition at line 126 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL4

#define KSZ8895_PORT3_CTRL4   0x34

Definition at line 127 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL5

#define KSZ8895_PORT3_CTRL5   0x3C

Definition at line 131 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL6

#define KSZ8895_PORT3_CTRL6   0x3D

Definition at line 132 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL7_STAT2

#define KSZ8895_PORT3_CTRL7_STAT2   0x3F

Definition at line 134 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL8

#define KSZ8895_PORT3_CTRL8   0xD0

Definition at line 235 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_CTRL9

#define KSZ8895_PORT3_CTRL9   0xD1

Definition at line 236 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_LINKMD

#define KSZ8895_PORT3_LINKMD   0x3B

Definition at line 130 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_MASK

#define KSZ8895_PORT3_MASK   0x04

Definition at line 48 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_PRIO0_IG_LIMIT_CTRL1

#define KSZ8895_PORT3_PRIO0_IG_LIMIT_CTRL1   0xD7

Definition at line 242 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_PRIO1_IG_LIMIT_CTRL2

#define KSZ8895_PORT3_PRIO1_IG_LIMIT_CTRL2   0xD8

Definition at line 243 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_PRIO2_IG_LIMIT_CTRL3

#define KSZ8895_PORT3_PRIO2_IG_LIMIT_CTRL3   0xD9

Definition at line 244 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_PRIO3_IG_LIMIT_CTRL4

#define KSZ8895_PORT3_PRIO3_IG_LIMIT_CTRL4   0xDA

Definition at line 245 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_PSCS

#define KSZ8895_PORT3_PSCS   0x3A

Definition at line 129 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8895_PORT3_QUEUE0_EG_LIMIT_CTRL1   0xDB

Definition at line 246 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8895_PORT3_QUEUE1_EG_LIMIT_CTRL2   0xDC

Definition at line 247 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8895_PORT3_QUEUE2_EG_LIMIT_CTRL3   0xDD

Definition at line 248 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8895_PORT3_QUEUE3_EG_LIMIT_CTRL4   0xDE

Definition at line 249 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_RATE_LIMIT_CTRL

#define KSZ8895_PORT3_RATE_LIMIT_CTRL   0xD6

Definition at line 241 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_STAT0

#define KSZ8895_PORT3_STAT0   0x39

Definition at line 128 of file ksz8895_driver.h.

◆ KSZ8895_PORT3_STAT1

#define KSZ8895_PORT3_STAT1   0x3E

Definition at line 133 of file ksz8895_driver.h.

◆ KSZ8895_PORT4

#define KSZ8895_PORT4   4

Definition at line 41 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL0

#define KSZ8895_PORT4_CTRL0   0x40

Definition at line 135 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL1

#define KSZ8895_PORT4_CTRL1   0x41

Definition at line 136 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL10

#define KSZ8895_PORT4_CTRL10   0xE2

Definition at line 253 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL11

#define KSZ8895_PORT4_CTRL11   0xE3

Definition at line 254 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL12

#define KSZ8895_PORT4_CTRL12   0xE4

Definition at line 255 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL13

#define KSZ8895_PORT4_CTRL13   0xE5

Definition at line 256 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL2

#define KSZ8895_PORT4_CTRL2   0x42

Definition at line 137 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL3

#define KSZ8895_PORT4_CTRL3   0x43

Definition at line 138 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL4

#define KSZ8895_PORT4_CTRL4   0x44

Definition at line 139 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL5

#define KSZ8895_PORT4_CTRL5   0x4C

Definition at line 143 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL6

#define KSZ8895_PORT4_CTRL6   0x4D

Definition at line 144 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL7_STAT2

#define KSZ8895_PORT4_CTRL7_STAT2   0x4F

Definition at line 146 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL8

#define KSZ8895_PORT4_CTRL8   0xE0

Definition at line 251 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_CTRL9

#define KSZ8895_PORT4_CTRL9   0xE1

Definition at line 252 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_LINKMD

#define KSZ8895_PORT4_LINKMD   0x4B

Definition at line 142 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_MASK

#define KSZ8895_PORT4_MASK   0x08

Definition at line 49 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_PRIO0_IG_LIMIT_CTRL1

#define KSZ8895_PORT4_PRIO0_IG_LIMIT_CTRL1   0xE7

Definition at line 258 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_PRIO1_IG_LIMIT_CTRL2

#define KSZ8895_PORT4_PRIO1_IG_LIMIT_CTRL2   0xE8

Definition at line 259 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_PRIO2_IG_LIMIT_CTRL3

#define KSZ8895_PORT4_PRIO2_IG_LIMIT_CTRL3   0xE9

Definition at line 260 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_PRIO3_IG_LIMIT_CTRL4

#define KSZ8895_PORT4_PRIO3_IG_LIMIT_CTRL4   0xEA

Definition at line 261 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_PSCS

#define KSZ8895_PORT4_PSCS   0x4A

Definition at line 141 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8895_PORT4_QUEUE0_EG_LIMIT_CTRL1   0xEB

Definition at line 262 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8895_PORT4_QUEUE1_EG_LIMIT_CTRL2   0xEC

Definition at line 263 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8895_PORT4_QUEUE2_EG_LIMIT_CTRL3   0xED

Definition at line 264 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8895_PORT4_QUEUE3_EG_LIMIT_CTRL4   0xEE

Definition at line 265 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_RATE_LIMIT_CTRL

#define KSZ8895_PORT4_RATE_LIMIT_CTRL   0xE6

Definition at line 257 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_STAT0

#define KSZ8895_PORT4_STAT0   0x49

Definition at line 140 of file ksz8895_driver.h.

◆ KSZ8895_PORT4_STAT1

#define KSZ8895_PORT4_STAT1   0x4E

Definition at line 145 of file ksz8895_driver.h.

◆ KSZ8895_PORT5

#define KSZ8895_PORT5   5

Definition at line 42 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL0

#define KSZ8895_PORT5_CTRL0   0x50

Definition at line 147 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL1

#define KSZ8895_PORT5_CTRL1   0x51

Definition at line 148 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL10

#define KSZ8895_PORT5_CTRL10   0xF2

Definition at line 269 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL11

#define KSZ8895_PORT5_CTRL11   0xF3

Definition at line 270 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL12

#define KSZ8895_PORT5_CTRL12   0xF4

Definition at line 271 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL13

#define KSZ8895_PORT5_CTRL13   0xF5

Definition at line 272 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL2

#define KSZ8895_PORT5_CTRL2   0x52

Definition at line 149 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL3

#define KSZ8895_PORT5_CTRL3   0x53

Definition at line 150 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL4

#define KSZ8895_PORT5_CTRL4   0x54

Definition at line 151 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL5

#define KSZ8895_PORT5_CTRL5   0x5C

Definition at line 156 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL6

#define KSZ8895_PORT5_CTRL6   0x5D

Definition at line 157 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL7_STAT2

#define KSZ8895_PORT5_CTRL7_STAT2   0x5F

Definition at line 159 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL8

#define KSZ8895_PORT5_CTRL8   0xF0

Definition at line 267 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_CTRL9

#define KSZ8895_PORT5_CTRL9   0xF1

Definition at line 268 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_LINKMD

#define KSZ8895_PORT5_LINKMD   0x5B

Definition at line 155 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_MASK

#define KSZ8895_PORT5_MASK   0x10

Definition at line 50 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_PRIO0_IG_LIMIT_CTRL1

#define KSZ8895_PORT5_PRIO0_IG_LIMIT_CTRL1   0xF7

Definition at line 274 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_PRIO1_IG_LIMIT_CTRL2

#define KSZ8895_PORT5_PRIO1_IG_LIMIT_CTRL2   0xF8

Definition at line 275 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_PRIO2_IG_LIMIT_CTRL3

#define KSZ8895_PORT5_PRIO2_IG_LIMIT_CTRL3   0xF9

Definition at line 276 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_PRIO3_IG_LIMIT_CTRL4

#define KSZ8895_PORT5_PRIO3_IG_LIMIT_CTRL4   0xFA

Definition at line 277 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_PSCS

#define KSZ8895_PORT5_PSCS   0x5A

Definition at line 154 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8895_PORT5_QUEUE0_EG_LIMIT_CTRL1   0xFB

Definition at line 278 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8895_PORT5_QUEUE1_EG_LIMIT_CTRL2   0xFC

Definition at line 279 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8895_PORT5_QUEUE2_EG_LIMIT_CTRL3   0xFD

Definition at line 280 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8895_PORT5_QUEUE3_EG_LIMIT_CTRL4   0xFE

Definition at line 281 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_RATE_LIMIT_CTRL

#define KSZ8895_PORT5_RATE_LIMIT_CTRL   0xF6

Definition at line 273 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_STAT0

#define KSZ8895_PORT5_STAT0   0x59

Definition at line 153 of file ksz8895_driver.h.

◆ KSZ8895_PORT5_STAT1

#define KSZ8895_PORT5_STAT1   0x5E

Definition at line 158 of file ksz8895_driver.h.

◆ KSZ8895_PORT_MASK

#define KSZ8895_PORT_MASK   0x1F

Definition at line 45 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL0

#define KSZ8895_PORTn_CTRL0 (   port)    (0x00 + ((port) * 0x10))

Definition at line 285 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL0_802_1P_PRIO_CLASS_EN

#define KSZ8895_PORTn_CTRL0_802_1P_PRIO_CLASS_EN   0x20

Definition at line 430 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL0_BCAST_STORM_PROTECT_EN

#define KSZ8895_PORTn_CTRL0_BCAST_STORM_PROTECT_EN   0x80

Definition at line 428 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL0_DIFFSERV_PRIO_CLASS_EN

#define KSZ8895_PORTn_CTRL0_DIFFSERV_PRIO_CLASS_EN   0x40

Definition at line 429 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL0_PORT_PRIO_CLASS_EN

#define KSZ8895_PORTn_CTRL0_PORT_PRIO_CLASS_EN   0x18

Definition at line 431 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL0_TAG_INSERTION

#define KSZ8895_PORTn_CTRL0_TAG_INSERTION   0x04

Definition at line 432 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL0_TAG_REMOVAL

#define KSZ8895_PORTn_CTRL0_TAG_REMOVAL   0x02

Definition at line 433 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL0_TWO_QUEUE_SPLIT_EN

#define KSZ8895_PORTn_CTRL0_TWO_QUEUE_SPLIT_EN   0x01

Definition at line 434 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL1

#define KSZ8895_PORTn_CTRL1 (   port)    (0x01 + ((port) * 0x10))

Definition at line 286 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL10

#define KSZ8895_PORTn_CTRL10 (   port)    (0xA2 + ((port) * 0x10))

Definition at line 299 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL11

#define KSZ8895_PORTn_CTRL11 (   port)    (0xA3 + ((port) * 0x10))

Definition at line 300 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL12

#define KSZ8895_PORTn_CTRL12 (   port)    (0xA4 + ((port) * 0x10))

Definition at line 301 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL13

#define KSZ8895_PORTn_CTRL13 (   port)    (0xA5 + ((port) * 0x10))

Definition at line 302 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL1_PORT_VLAN_MEMBERSHIP

#define KSZ8895_PORTn_CTRL1_PORT_VLAN_MEMBERSHIP   0x1F

Definition at line 440 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL1_RECEIVE_SNIFF

#define KSZ8895_PORTn_CTRL1_RECEIVE_SNIFF   0x40

Definition at line 438 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL1_SNIFFER_PORT

#define KSZ8895_PORTn_CTRL1_SNIFFER_PORT   0x80

Definition at line 437 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL1_TRANSMIT_SNIFF

#define KSZ8895_PORTn_CTRL1_TRANSMIT_SNIFF   0x20

Definition at line 439 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2

#define KSZ8895_PORTn_CTRL2 (   port)    (0x02 + ((port) * 0x10))

Definition at line 287 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2_BACK_PRESSURE_EN

#define KSZ8895_PORTn_CTRL2_BACK_PRESSURE_EN   0x08

Definition at line 447 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2_DISCARD_NON_PVID_PKT

#define KSZ8895_PORTn_CTRL2_DISCARD_NON_PVID_PKT   0x20

Definition at line 445 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2_FORCE_FLOW_CTRL

#define KSZ8895_PORTn_CTRL2_FORCE_FLOW_CTRL   0x10

Definition at line 446 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2_INGRESS_VLAN_FILT

#define KSZ8895_PORTn_CTRL2_INGRESS_VLAN_FILT   0x40

Definition at line 444 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2_LEARNING_DIS

#define KSZ8895_PORTn_CTRL2_LEARNING_DIS   0x01

Definition at line 450 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2_RECEIVE_EN

#define KSZ8895_PORTn_CTRL2_RECEIVE_EN   0x02

Definition at line 449 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2_TRANSMIT_EN

#define KSZ8895_PORTn_CTRL2_TRANSMIT_EN   0x04

Definition at line 448 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL2_USER_PRIO_CEILING

#define KSZ8895_PORTn_CTRL2_USER_PRIO_CEILING   0x80

Definition at line 443 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL3

#define KSZ8895_PORTn_CTRL3 (   port)    (0x03 + ((port) * 0x10))

Definition at line 288 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL3_DEFAULT_CFI

#define KSZ8895_PORTn_CTRL3_DEFAULT_CFI   0x10

Definition at line 454 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL3_DEFAULT_USER_PRIO

#define KSZ8895_PORTn_CTRL3_DEFAULT_USER_PRIO   0xE0

Definition at line 453 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL3_DEFAULT_VID_MSB

#define KSZ8895_PORTn_CTRL3_DEFAULT_VID_MSB   0x0F

Definition at line 455 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL4

#define KSZ8895_PORTn_CTRL4 (   port)    (0x04 + ((port) * 0x10))

Definition at line 289 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL4_DEFAULT_VID_LSB

#define KSZ8895_PORTn_CTRL4_DEFAULT_VID_LSB   0xFF

Definition at line 458 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL5

#define KSZ8895_PORTn_CTRL5 (   port)    (0x0C + ((port) * 0x10))

Definition at line 293 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL6

#define KSZ8895_PORTn_CTRL6 (   port)    (0x0D + ((port) * 0x10))

Definition at line 294 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2

#define KSZ8895_PORTn_CTRL7_STAT2 (   port)    (0x0F + ((port) * 0x10))

Definition at line 296 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_FORCE_LINK

#define KSZ8895_PORTn_CTRL7_STAT2_FORCE_LINK   0x08

Definition at line 498 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_OP_MODE

#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE   0x07

Definition at line 499 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_100BTX_FD

#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_100BTX_FD   0x06

Definition at line 504 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_100BTX_HD

#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_100BTX_HD   0x03

Definition at line 502 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_10BT_FD

#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_10BT_FD   0x05

Definition at line 503 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_10BT_HD

#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_10BT_HD   0x02

Definition at line 501 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_AN

#define KSZ8895_PORTn_CTRL7_STAT2_OP_MODE_AN   0x01

Definition at line 500 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_PHY_ISOLATE

#define KSZ8895_PORTn_CTRL7_STAT2_PHY_ISOLATE   0x20

Definition at line 496 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_PHY_LOOPBACK

#define KSZ8895_PORTn_CTRL7_STAT2_PHY_LOOPBACK   0x80

Definition at line 495 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL7_STAT2_SOFT_RESET

#define KSZ8895_PORTn_CTRL7_STAT2_SOFT_RESET   0x10

Definition at line 497 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL8

#define KSZ8895_PORTn_CTRL8 (   port)    (0xA0 + ((port) * 0x10))

Definition at line 297 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_CTRL9

#define KSZ8895_PORTn_CTRL9 (   port)    (0xA1 + ((port) * 0x10))

Definition at line 298 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_LINKMD

#define KSZ8895_PORTn_LINKMD (   port)    (0x0B + ((port) * 0x10))

Definition at line 292 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_LINKMD_VCT_FAULT_COUNT_LSB

#define KSZ8895_PORTn_LINKMD_VCT_FAULT_COUNT_LSB   0xFF

Definition at line 482 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PRIO0_IG_LIMIT_CTRL1

#define KSZ8895_PORTn_PRIO0_IG_LIMIT_CTRL1 (   port)    (0xA7 + ((port) * 0x10))

Definition at line 304 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PRIO1_IG_LIMIT_CTRL2

#define KSZ8895_PORTn_PRIO1_IG_LIMIT_CTRL2 (   port)    (0xA8 + ((port) * 0x10))

Definition at line 305 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PRIO2_IG_LIMIT_CTRL3

#define KSZ8895_PORTn_PRIO2_IG_LIMIT_CTRL3 (   port)    (0xA9 + ((port) * 0x10))

Definition at line 306 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PRIO3_IG_LIMIT_CTRL4

#define KSZ8895_PORTn_PRIO3_IG_LIMIT_CTRL4 (   port)    (0xAA + ((port) * 0x10))

Definition at line 307 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PSCS

#define KSZ8895_PORTn_PSCS (   port)    (0x0A + ((port) * 0x10))

Definition at line 291 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PSCS_FORCE_LNK

#define KSZ8895_PORTn_PSCS_FORCE_LNK   0x08

Definition at line 476 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PSCS_PWRSAVE

#define KSZ8895_PORTn_PSCS_PWRSAVE   0x04

Definition at line 477 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PSCS_REMOTE_LOOPBACK

#define KSZ8895_PORTn_PSCS_REMOTE_LOOPBACK   0x02

Definition at line 478 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PSCS_VCT_10M_SHORT

#define KSZ8895_PORTn_PSCS_VCT_10M_SHORT   0x80

Definition at line 473 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PSCS_VCT_EN

#define KSZ8895_PORTn_PSCS_VCT_EN   0x10

Definition at line 475 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PSCS_VCT_FAULT_COUNT_MSB

#define KSZ8895_PORTn_PSCS_VCT_FAULT_COUNT_MSB   0x01

Definition at line 479 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_PSCS_VCT_RESULT

#define KSZ8895_PORTn_PSCS_VCT_RESULT   0x60

Definition at line 474 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8895_PORTn_QUEUE0_EG_LIMIT_CTRL1 (   port)    (0xAB + ((port) * 0x10))

Definition at line 308 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8895_PORTn_QUEUE1_EG_LIMIT_CTRL2 (   port)    (0xAC + ((port) * 0x10))

Definition at line 309 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8895_PORTn_QUEUE2_EG_LIMIT_CTRL3 (   port)    (0xAD + ((port) * 0x10))

Definition at line 310 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8895_PORTn_QUEUE3_EG_LIMIT_CTRL4 (   port)    (0xAE + ((port) * 0x10))

Definition at line 311 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_RATE_LIMIT_CTRL

#define KSZ8895_PORTn_RATE_LIMIT_CTRL (   port)    (0xA6 + ((port) * 0x10))

Definition at line 303 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT0

#define KSZ8895_PORTn_STAT0 (   port)    (0x09 + ((port) * 0x10))

Definition at line 290 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT0_HP_MDIX

#define KSZ8895_PORTn_STAT0_HP_MDIX   0x80

Definition at line 465 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT0_OP_DUPLEX

#define KSZ8895_PORTn_STAT0_OP_DUPLEX   0x02

Definition at line 470 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT0_OP_SPEED

#define KSZ8895_PORTn_STAT0_OP_SPEED   0x04

Definition at line 469 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT0_POLRVS

#define KSZ8895_PORTn_STAT0_POLRVS   0x20

Definition at line 466 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT0_RX_FLOW_CTRL_EN

#define KSZ8895_PORTn_STAT0_RX_FLOW_CTRL_EN   0x08

Definition at line 468 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT0_TX_FLOW_CTRL_EN

#define KSZ8895_PORTn_STAT0_TX_FLOW_CTRL_EN   0x10

Definition at line 467 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1

#define KSZ8895_PORTn_STAT1 (   port)    (0x0E + ((port) * 0x10))

Definition at line 295 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1_AN_DONE

#define KSZ8895_PORTn_STAT1_AN_DONE   0x40

Definition at line 486 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1_LINK_GOOD

#define KSZ8895_PORTn_STAT1_LINK_GOOD   0x20

Definition at line 487 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1_LP_100BTX_FD_CAPABLE

#define KSZ8895_PORTn_STAT1_LP_100BTX_FD_CAPABLE   0x08

Definition at line 489 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1_LP_100BTX_HF_CAPABLE

#define KSZ8895_PORTn_STAT1_LP_100BTX_HF_CAPABLE   0x04

Definition at line 490 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1_LP_10BT_FD_CAPABLE

#define KSZ8895_PORTn_STAT1_LP_10BT_FD_CAPABLE   0x02

Definition at line 491 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1_LP_10BT_HD_CAPABLE

#define KSZ8895_PORTn_STAT1_LP_10BT_HD_CAPABLE   0x01

Definition at line 492 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1_LP_FLOW_CTRL_CAPABLE

#define KSZ8895_PORTn_STAT1_LP_FLOW_CTRL_CAPABLE   0x10

Definition at line 488 of file ksz8895_driver.h.

◆ KSZ8895_PORTn_STAT1_MDIX_STATUS

#define KSZ8895_PORTn_STAT1_MDIX_STATUS   0x80

Definition at line 485 of file ksz8895_driver.h.

◆ KSZ8895_RMII_MGMT_CTRL

#define KSZ8895_RMII_MGMT_CTRL   0x57

Definition at line 152 of file ksz8895_driver.h.

◆ KSZ8895_RMII_MGMT_CTRL_P5_CLK_OUT_DIS

#define KSZ8895_RMII_MGMT_CTRL_P5_CLK_OUT_DIS   0x04

Definition at line 462 of file ksz8895_driver.h.

◆ KSZ8895_RMII_MGMT_CTRL_SW5_CLK_OUT_DIS

#define KSZ8895_RMII_MGMT_CTRL_SW5_CLK_OUT_DIS   0x08

Definition at line 461 of file ksz8895_driver.h.

◆ KSZ8895_SPI_CMD_READ

#define KSZ8895_SPI_CMD_READ   0x03

Definition at line 54 of file ksz8895_driver.h.

◆ KSZ8895_SPI_CMD_WRITE

#define KSZ8895_SPI_CMD_WRITE   0x02

Definition at line 53 of file ksz8895_driver.h.

◆ KSZ8895_STATIC_MAC_TABLE_SIZE

#define KSZ8895_STATIC_MAC_TABLE_SIZE   32

Definition at line 57 of file ksz8895_driver.h.

◆ KSZ8895_TAIL_TAG_DEST_PORT1

#define KSZ8895_TAIL_TAG_DEST_PORT1   0x01

Definition at line 67 of file ksz8895_driver.h.

◆ KSZ8895_TAIL_TAG_DEST_PORT2

#define KSZ8895_TAIL_TAG_DEST_PORT2   0x02

Definition at line 66 of file ksz8895_driver.h.

◆ KSZ8895_TAIL_TAG_DEST_PORT3

#define KSZ8895_TAIL_TAG_DEST_PORT3   0x04

Definition at line 65 of file ksz8895_driver.h.

◆ KSZ8895_TAIL_TAG_DEST_PORT4

#define KSZ8895_TAIL_TAG_DEST_PORT4   0x08

Definition at line 64 of file ksz8895_driver.h.

◆ KSZ8895_TAIL_TAG_DEST_QUEUE

#define KSZ8895_TAIL_TAG_DEST_QUEUE   0x30

Definition at line 63 of file ksz8895_driver.h.

◆ KSZ8895_TAIL_TAG_NORMAL_ADDR_LOOKUP

#define KSZ8895_TAIL_TAG_NORMAL_ADDR_LOOKUP   0x80

Definition at line 61 of file ksz8895_driver.h.

◆ KSZ8895_TAIL_TAG_PORT_SEL

#define KSZ8895_TAIL_TAG_PORT_SEL   0x40

Definition at line 62 of file ksz8895_driver.h.

◆ KSZ8895_TAIL_TAG_SRC_PORT

#define KSZ8895_TAIL_TAG_SRC_PORT   0x03

Definition at line 70 of file ksz8895_driver.h.

◆ KSZ8895_TEST1

#define KSZ8895_TEST1   0xBF

Definition at line 219 of file ksz8895_driver.h.

◆ KSZ8895_TEST2

#define KSZ8895_TEST2   0xDF

Definition at line 250 of file ksz8895_driver.h.

◆ KSZ8895_TEST3

#define KSZ8895_TEST3   0xFF

Definition at line 282 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL0

#define KSZ8895_TOS_PRIO_CTRL0   0x90

Definition at line 188 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL1

#define KSZ8895_TOS_PRIO_CTRL1   0x91

Definition at line 189 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL10

#define KSZ8895_TOS_PRIO_CTRL10   0x9A

Definition at line 198 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL11

#define KSZ8895_TOS_PRIO_CTRL11   0x9B

Definition at line 199 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL12

#define KSZ8895_TOS_PRIO_CTRL12   0x9C

Definition at line 200 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL13

#define KSZ8895_TOS_PRIO_CTRL13   0x9D

Definition at line 201 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL14

#define KSZ8895_TOS_PRIO_CTRL14   0x9E

Definition at line 202 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL15

#define KSZ8895_TOS_PRIO_CTRL15   0x9F

Definition at line 203 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL2

#define KSZ8895_TOS_PRIO_CTRL2   0x92

Definition at line 190 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL3

#define KSZ8895_TOS_PRIO_CTRL3   0x93

Definition at line 191 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL4

#define KSZ8895_TOS_PRIO_CTRL4   0x94

Definition at line 192 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL5

#define KSZ8895_TOS_PRIO_CTRL5   0x95

Definition at line 193 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL6

#define KSZ8895_TOS_PRIO_CTRL6   0x96

Definition at line 194 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL7

#define KSZ8895_TOS_PRIO_CTRL7   0x97

Definition at line 195 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL8

#define KSZ8895_TOS_PRIO_CTRL8   0x98

Definition at line 196 of file ksz8895_driver.h.

◆ KSZ8895_TOS_PRIO_CTRL9

#define KSZ8895_TOS_PRIO_CTRL9   0x99

Definition at line 197 of file ksz8895_driver.h.

Function Documentation

◆ ksz8895AddStaticFdbEntry()

error_t ksz8895AddStaticFdbEntry ( NetInterface interface,
const SwitchFdbEntry entry 
)

Add a new entry to the static MAC table.

Parameters
[in]interfaceUnderlying network interface
[in]entryPointer to the forwarding database entry
Returns
Error code

Definition at line 776 of file ksz8895_driver.c.

◆ ksz8895DeleteStaticFdbEntry()

error_t ksz8895DeleteStaticFdbEntry ( NetInterface interface,
const SwitchFdbEntry entry 
)

Remove an entry from the static MAC table.

Parameters
[in]interfaceUnderlying network interface
[in]entryForwarding database entry to remove from the table
Returns
Error code

Definition at line 878 of file ksz8895_driver.c.

◆ ksz8895DisableIrq()

void ksz8895DisableIrq ( NetInterface interface)

Disable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 268 of file ksz8895_driver.c.

◆ ksz8895DumpPhyReg()

void ksz8895DumpPhyReg ( NetInterface interface,
uint8_t  port 
)

Dump PHY registers for debugging purpose.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number

Definition at line 1230 of file ksz8895_driver.c.

◆ ksz8895DumpSwitchReg()

void ksz8895DumpSwitchReg ( NetInterface interface)

Dump switch registers for debugging purpose.

Parameters
[in]interfaceUnderlying network interface

Definition at line 1365 of file ksz8895_driver.c.

◆ ksz8895EnableIrq()

void ksz8895EnableIrq ( NetInterface interface)

Enable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 258 of file ksz8895_driver.c.

◆ ksz8895EnableRsvdMcastTable()

void ksz8895EnableRsvdMcastTable ( NetInterface interface,
bool_t  enable 
)

Enable reserved multicast table.

Parameters
[in]interfaceUnderlying network interface
[in]enableEnable or disable reserved group addresses

Definition at line 734 of file ksz8895_driver.c.

◆ ksz8895EventHandler()

void ksz8895EventHandler ( NetInterface interface)

KSZ8895 event handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 278 of file ksz8895_driver.c.

◆ ksz8895FlushDynamicFdbTable()

void ksz8895FlushDynamicFdbTable ( NetInterface interface,
uint8_t  port 
)

Flush dynamic MAC table.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number

Definition at line 1133 of file ksz8895_driver.c.

◆ ksz8895FlushStaticFdbTable()

void ksz8895FlushStaticFdbTable ( NetInterface interface)

Flush static MAC table.

Parameters
[in]interfaceUnderlying network interface

Definition at line 1009 of file ksz8895_driver.c.

◆ ksz8895GetDuplexMode()

NicDuplexMode ksz8895GetDuplexMode ( NetInterface interface,
uint8_t  port 
)

Get duplex mode.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number
Returns
Duplex mode

Definition at line 563 of file ksz8895_driver.c.

◆ ksz8895GetDynamicFdbEntry()

error_t ksz8895GetDynamicFdbEntry ( NetInterface interface,
uint_t  index,
SwitchFdbEntry entry 
)

Read an entry from the dynamic MAC table.

Parameters
[in]interfaceUnderlying network interface
[in]indexZero-based index of the entry to read
[out]entryPointer to the forwarding database entry
Returns
Error code

Definition at line 1049 of file ksz8895_driver.c.

◆ ksz8895GetLinkSpeed()

uint32_t ksz8895GetLinkSpeed ( NetInterface interface,
uint8_t  port 
)

Get link speed.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number
Returns
Link speed

Definition at line 524 of file ksz8895_driver.c.

◆ ksz8895GetLinkState()

bool_t ksz8895GetLinkState ( NetInterface interface,
uint8_t  port 
)

Get link state.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number
Returns
Link state

Definition at line 492 of file ksz8895_driver.c.

◆ ksz8895GetPortState()

SwitchPortState ksz8895GetPortState ( NetInterface interface,
uint8_t  port 
)

Get port state.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number
Returns
Port state

Definition at line 659 of file ksz8895_driver.c.

◆ ksz8895GetStaticFdbEntry()

error_t ksz8895GetStaticFdbEntry ( NetInterface interface,
uint_t  index,
SwitchFdbEntry entry 
)

Read an entry from the static MAC table.

Parameters
[in]interfaceUnderlying network interface
[in]indexZero-based index of the entry to read
[out]entryPointer to the forwarding database entry
Returns
Error code

Definition at line 947 of file ksz8895_driver.c.

◆ ksz8895Init()

error_t ksz8895Init ( NetInterface interface)

KSZ8895 Ethernet switch initialization.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 90 of file ksz8895_driver.c.

◆ ksz8895ReadPhyReg()

uint16_t ksz8895ReadPhyReg ( NetInterface interface,
uint8_t  port,
uint8_t  address 
)

Read PHY register.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number
[in]addressPHY register address
Returns
Register value

Definition at line 1204 of file ksz8895_driver.c.

◆ ksz8895ReadSwitchReg()

uint8_t ksz8895ReadSwitchReg ( NetInterface interface,
uint8_t  address 
)

Read switch register.

Parameters
[in]interfaceUnderlying network interface
[in]addressSwitch register address
Returns
Register value

Definition at line 1309 of file ksz8895_driver.c.

◆ ksz8895SetAgingTime()

void ksz8895SetAgingTime ( NetInterface interface,
uint32_t  agingTime 
)

Set aging time for dynamic filtering entries.

Parameters
[in]interfaceUnderlying network interface
[in]agingTimeAging time, in seconds

Definition at line 722 of file ksz8895_driver.c.

◆ ksz8895SetPortState()

void ksz8895SetPortState ( NetInterface interface,
uint8_t  port,
SwitchPortState  state 
)

Set port state.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number
[in]statePort state
Returns
Duplex mode

Definition at line 603 of file ksz8895_driver.c.

◆ ksz8895TagFrame()

error_t ksz8895TagFrame ( NetInterface interface,
NetBuffer buffer,
size_t *  offset,
NetTxAncillary ancillary 
)

Add tail tag to Ethernet frame.

Parameters
[in]interfaceUnderlying network interface
[in]bufferMulti-part buffer containing the payload
[in,out]offsetOffset to the first payload byte
[in]ancillaryAdditional options passed to the stack along with the packet
Returns
Error code

Definition at line 394 of file ksz8895_driver.c.

◆ ksz8895Tick()

void ksz8895Tick ( NetInterface interface)

KSZ8895 timer handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 188 of file ksz8895_driver.c.

◆ ksz8895UntagFrame()

error_t ksz8895UntagFrame ( NetInterface interface,
uint8_t **  frame,
size_t *  length,
NetRxAncillary ancillary 
)

Decode tail tag from incoming Ethernet frame.

Parameters
[in]interfaceUnderlying network interface
[in,out]framePointer to the received Ethernet frame
[in,out]lengthLength of the frame, in bytes
[in,out]ancillaryAdditional options passed to the stack along with the packet
Returns
Error code

Definition at line 449 of file ksz8895_driver.c.

◆ ksz8895WritePhyReg()

void ksz8895WritePhyReg ( NetInterface interface,
uint8_t  port,
uint8_t  address,
uint16_t  data 
)

Write PHY register.

Parameters
[in]interfaceUnderlying network interface
[in]portPort number
[in]addressPHY register address
[in]dataRegister value

Definition at line 1181 of file ksz8895_driver.c.

◆ ksz8895WriteSwitchReg()

void ksz8895WriteSwitchReg ( NetInterface interface,
uint8_t  address,
uint8_t  data 
)

Write switch register.

Parameters
[in]interfaceUnderlying network interface
[in]addressSwitch register address
[in]dataRegister value

Definition at line 1254 of file ksz8895_driver.c.

Variable Documentation

◆ ksz8895SwitchDriver

const SwitchDriver ksz8895SwitchDriver

KSZ8895 Ethernet switch driver.

Definition at line 45 of file ksz8895_driver.c.