ksz8864_driver.h File Reference

KSZ8864 4-port Ethernet switch driver. More...

#include "core/nic.h"

Go to the source code of this file.

Data Structures

struct  Ksz8864StaticMacEntryR
 Static MAC table entry (read operation) More...
 
struct  Ksz8864StaticMacEntryW
 Static MAC table entry (write operation) More...
 
struct  Ksz8864DynamicMacEntry
 Dynamic MAC table entry. More...
 

Macros

#define KSZ8864_PORT1   1
 
#define KSZ8864_PORT2   2
 
#define KSZ8864_PORT3   3
 
#define KSZ8864_PORT4   4
 
#define KSZ8864_PORT_MASK   0x0F
 
#define KSZ8864_PORT1_MASK   0x01
 
#define KSZ8864_PORT2_MASK   0x02
 
#define KSZ8864_PORT3_MASK   0x04
 
#define KSZ8864_PORT4_MASK   0x08
 
#define KSZ8864_SPI_CMD_WRITE   0x02
 
#define KSZ8864_SPI_CMD_READ   0x03
 
#define KSZ8864_STATIC_MAC_TABLE_SIZE   32
 
#define KSZ8864_DYNAMIC_MAC_TABLE_SIZE   1024
 
#define KSZ8864_TAIL_TAG_NORMAL_ADDR_LOOKUP   0x80
 
#define KSZ8864_TAIL_TAG_PORT_SEL   0x40
 
#define KSZ8864_TAIL_TAG_DEST_QUEUE   0x30
 
#define KSZ8864_TAIL_TAG_DEST_PORT3   0x08
 
#define KSZ8864_TAIL_TAG_DEST_PORT2   0x04
 
#define KSZ8864_TAIL_TAG_DEST_PORT1   0x02
 
#define KSZ8864_TAIL_TAG_SRC_PORT   0x03
 
#define KSZ8864_BMCR   0x00
 
#define KSZ8864_BMSR   0x01
 
#define KSZ8864_PHYID1   0x02
 
#define KSZ8864_PHYID2   0x03
 
#define KSZ8864_ANAR   0x04
 
#define KSZ8864_ANLPAR   0x05
 
#define KSZ8864_LINKMD   0x1D
 
#define KSZ8864_PHYSCS   0x1F
 
#define KSZ8864_CHIP_ID0   0x00
 
#define KSZ8864_CHIP_ID1   0x01
 
#define KSZ8864_GLOBAL_CTRL0   0x02
 
#define KSZ8864_GLOBAL_CTRL1   0x03
 
#define KSZ8864_GLOBAL_CTRL2   0x04
 
#define KSZ8864_GLOBAL_CTRL3   0x05
 
#define KSZ8864_GLOBAL_CTRL4   0x06
 
#define KSZ8864_GLOBAL_CTRL5   0x07
 
#define KSZ8864_GLOBAL_CTRL6   0x08
 
#define KSZ8864_GLOBAL_CTRL7   0x09
 
#define KSZ8864_GLOBAL_CTRL8   0x0A
 
#define KSZ8864_GLOBAL_CTRL9   0x0B
 
#define KSZ8864_GLOBAL_CTRL10   0x0C
 
#define KSZ8864_GLOBAL_CTRL11   0x0D
 
#define KSZ8864_PD_MGMT_CTRL1   0x0E
 
#define KSZ8864_PD_MGMT_CTRL2   0x0F
 
#define KSZ8864_PORT1_CTRL0   0x20
 
#define KSZ8864_PORT1_CTRL1   0x21
 
#define KSZ8864_PORT1_CTRL2   0x22
 
#define KSZ8864_PORT1_CTRL3   0x23
 
#define KSZ8864_PORT1_CTRL4   0x24
 
#define KSZ8864_PORT1_STAT0   0x29
 
#define KSZ8864_PORT1_PSCS   0x2A
 
#define KSZ8864_PORT1_LINKMD   0x2B
 
#define KSZ8864_PORT1_CTRL5   0x2C
 
#define KSZ8864_PORT1_CTRL6   0x2D
 
#define KSZ8864_PORT1_STAT1   0x2E
 
#define KSZ8864_PORT1_CTRL7_STAT2   0x2F
 
#define KSZ8864_PORT2_CTRL0   0x30
 
#define KSZ8864_PORT2_CTRL1   0x31
 
#define KSZ8864_PORT2_CTRL2   0x32
 
#define KSZ8864_PORT2_CTRL3   0x33
 
#define KSZ8864_PORT2_CTRL4   0x34
 
#define KSZ8864_PORT2_STAT0   0x39
 
#define KSZ8864_PORT2_PSCS   0x3A
 
#define KSZ8864_PORT2_LINKMD   0x3B
 
#define KSZ8864_PORT2_CTRL5   0x3C
 
#define KSZ8864_PORT2_CTRL6   0x3D
 
#define KSZ8864_PORT2_STAT1   0x3E
 
#define KSZ8864_PORT2_CTRL7_STAT2   0x3F
 
#define KSZ8864_PORT3_CTRL0   0x40
 
#define KSZ8864_PORT3_CTRL1   0x41
 
#define KSZ8864_PORT3_CTRL2   0x42
 
#define KSZ8864_PORT3_CTRL3   0x43
 
#define KSZ8864_PORT3_CTRL4   0x44
 
#define KSZ8864_PORT3_CTRL6   0x4D
 
#define KSZ8864_PORT4_CTRL0   0x50
 
#define KSZ8864_PORT4_CTRL1   0x51
 
#define KSZ8864_PORT4_CTRL2   0x52
 
#define KSZ8864_PORT4_CTRL3   0x53
 
#define KSZ8864_PORT4_CTRL4   0x54
 
#define KSZ8864_RMII_MGMT_CTRL   0x57
 
#define KSZ8864_PORT4_CTRL6   0x5D
 
#define KSZ8864_MAC_ADDR0   0x68
 
#define KSZ8864_MAC_ADDR1   0x69
 
#define KSZ8864_MAC_ADDR2   0x6A
 
#define KSZ8864_MAC_ADDR3   0x6B
 
#define KSZ8864_MAC_ADDR4   0x6C
 
#define KSZ8864_MAC_ADDR5   0x6D
 
#define KSZ8864_INDIRECT_CTRL0   0x6E
 
#define KSZ8864_INDIRECT_CTRL1   0x6F
 
#define KSZ8864_INDIRECT_DATA8   0x70
 
#define KSZ8864_INDIRECT_DATA7   0x71
 
#define KSZ8864_INDIRECT_DATA6   0x72
 
#define KSZ8864_INDIRECT_DATA5   0x73
 
#define KSZ8864_INDIRECT_DATA4   0x74
 
#define KSZ8864_INDIRECT_DATA3   0x75
 
#define KSZ8864_INDIRECT_DATA2   0x76
 
#define KSZ8864_INDIRECT_DATA1   0x77
 
#define KSZ8864_INDIRECT_DATA0   0x78
 
#define KSZ8864_INT_STAT   0x7C
 
#define KSZ8864_INT_MASK   0x7D
 
#define KSZ8864_GLOBAL_CTRL12   0x80
 
#define KSZ8864_GLOBAL_CTRL13   0x81
 
#define KSZ8864_GLOBAL_CTRL14   0x82
 
#define KSZ8864_GLOBAL_CTRL15   0x83
 
#define KSZ8864_GLOBAL_CTRL16   0x84
 
#define KSZ8864_GLOBAL_CTRL17   0x85
 
#define KSZ8864_GLOBAL_CTRL18   0x86
 
#define KSZ8864_GLOBAL_CTRL19   0x87
 
#define KSZ8864_ID   0x89
 
#define KSZ8864_TOS_PRIO_CTRL0   0x90
 
#define KSZ8864_TOS_PRIO_CTRL1   0x91
 
#define KSZ8864_TOS_PRIO_CTRL2   0x92
 
#define KSZ8864_TOS_PRIO_CTRL3   0x93
 
#define KSZ8864_TOS_PRIO_CTRL4   0x94
 
#define KSZ8864_TOS_PRIO_CTRL5   0x95
 
#define KSZ8864_TOS_PRIO_CTRL6   0x96
 
#define KSZ8864_TOS_PRIO_CTRL7   0x97
 
#define KSZ8864_TOS_PRIO_CTRL8   0x98
 
#define KSZ8864_TOS_PRIO_CTRL9   0x99
 
#define KSZ8864_TOS_PRIO_CTRL10   0x9A
 
#define KSZ8864_TOS_PRIO_CTRL11   0x9B
 
#define KSZ8864_TOS_PRIO_CTRL12   0x9C
 
#define KSZ8864_TOS_PRIO_CTRL13   0x9D
 
#define KSZ8864_TOS_PRIO_CTRL14   0x9E
 
#define KSZ8864_TOS_PRIO_CTRL15   0x9F
 
#define KSZ8864_TEST   0xBF
 
#define KSZ8864_PORT1_CTRL8   0xC0
 
#define KSZ8864_PORT1_CTRL9   0xC1
 
#define KSZ8864_PORT1_CTRL10   0xC2
 
#define KSZ8864_PORT1_CTRL11   0xC3
 
#define KSZ8864_PORT1_CTRL12   0xC4
 
#define KSZ8864_PORT1_CTRL13   0xC5
 
#define KSZ8864_PORT1_RATE_LIMIT_CTRL   0xC6
 
#define KSZ8864_PORT1_PRIO0_IG_LIMIT_CTRL1   0xC7
 
#define KSZ8864_PORT1_PRIO1_IG_LIMIT_CTRL2   0xC8
 
#define KSZ8864_PORT1_PRIO2_IG_LIMIT_CTRL3   0xC9
 
#define KSZ8864_PORT1_PRIO3_IG_LIMIT_CTRL4   0xCA
 
#define KSZ8864_PORT1_QUEUE0_EG_LIMIT_CTRL1   0xCB
 
#define KSZ8864_PORT1_QUEUE1_EG_LIMIT_CTRL2   0xCC
 
#define KSZ8864_PORT1_QUEUE2_EG_LIMIT_CTRL3   0xCD
 
#define KSZ8864_PORT1_QUEUE3_EG_LIMIT_CTRL4   0xCE
 
#define KSZ8864_TEST_PORT3_CTRL1   0xCF
 
#define KSZ8864_PORT2_CTRL8   0xD0
 
#define KSZ8864_PORT2_CTRL9   0xD1
 
#define KSZ8864_PORT2_CTRL10   0xD2
 
#define KSZ8864_PORT2_CTRL11   0xD3
 
#define KSZ8864_PORT2_CTRL12   0xD4
 
#define KSZ8864_PORT2_CTRL13   0xD5
 
#define KSZ8864_PORT2_RATE_LIMIT_CTRL   0xD6
 
#define KSZ8864_PORT2_PRIO0_IG_LIMIT_CTRL1   0xD7
 
#define KSZ8864_PORT2_PRIO1_IG_LIMIT_CTRL2   0xD8
 
#define KSZ8864_PORT2_PRIO2_IG_LIMIT_CTRL3   0xD9
 
#define KSZ8864_PORT2_PRIO3_IG_LIMIT_CTRL4   0xDA
 
#define KSZ8864_PORT2_QUEUE0_EG_LIMIT_CTRL1   0xDB
 
#define KSZ8864_PORT2_QUEUE1_EG_LIMIT_CTRL2   0xDC
 
#define KSZ8864_PORT2_QUEUE2_EG_LIMIT_CTRL3   0xDD
 
#define KSZ8864_PORT2_QUEUE3_EG_LIMIT_CTRL4   0xDE
 
#define KSZ8864_TEST_PORT3_CTRL2   0xDF
 
#define KSZ8864_PORT3_CTRL8   0xE0
 
#define KSZ8864_PORT3_CTRL9   0xE1
 
#define KSZ8864_PORT3_CTRL10   0xE2
 
#define KSZ8864_PORT3_CTRL11   0xE3
 
#define KSZ8864_PORT3_CTRL12   0xE4
 
#define KSZ8864_PORT3_CTRL13   0xE5
 
#define KSZ8864_PORT3_RATE_LIMIT_CTRL   0xE6
 
#define KSZ8864_PORT3_PRIO0_IG_LIMIT_CTRL1   0xE7
 
#define KSZ8864_PORT3_PRIO1_IG_LIMIT_CTRL2   0xE8
 
#define KSZ8864_PORT3_PRIO2_IG_LIMIT_CTRL3   0xE9
 
#define KSZ8864_PORT3_PRIO3_IG_LIMIT_CTRL4   0xEA
 
#define KSZ8864_PORT3_QUEUE0_EG_LIMIT_CTRL1   0xEB
 
#define KSZ8864_PORT3_QUEUE1_EG_LIMIT_CTRL2   0xEC
 
#define KSZ8864_PORT3_QUEUE2_EG_LIMIT_CTRL3   0xED
 
#define KSZ8864_PORT3_QUEUE3_EG_LIMIT_CTRL4   0xEE
 
#define KSZ8864_TEST3   0xEF
 
#define KSZ8864_PORT4_CTRL8   0xF0
 
#define KSZ8864_PORT4_CTRL9   0xF1
 
#define KSZ8864_PORT4_CTRL10   0xF2
 
#define KSZ8864_PORT4_CTRL11   0xF3
 
#define KSZ8864_PORT4_CTRL12   0xF4
 
#define KSZ8864_PORT4_CTRL13   0xF5
 
#define KSZ8864_PORT4_RATE_LIMIT_CTRL   0xF6
 
#define KSZ8864_PORT4_PRIO0_IG_LIMIT_CTRL1   0xF7
 
#define KSZ8864_PORT4_PRIO1_IG_LIMIT_CTRL2   0xF8
 
#define KSZ8864_PORT4_PRIO2_IG_LIMIT_CTRL3   0xF9
 
#define KSZ8864_PORT4_PRIO3_IG_LIMIT_CTRL4   0xFA
 
#define KSZ8864_PORT4_QUEUE0_EG_LIMIT_CTRL1   0xFB
 
#define KSZ8864_PORT4_QUEUE1_EG_LIMIT_CTRL2   0xFC
 
#define KSZ8864_PORT4_QUEUE2_EG_LIMIT_CTRL3   0xFD
 
#define KSZ8864_PORT4_QUEUE3_EG_LIMIT_CTRL4   0xFE
 
#define KSZ8864_TEST4   0xFF
 
#define KSZ8864_PORTn_CTRL0(port)   (0x10 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL1(port)   (0x11 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL2(port)   (0x12 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL3(port)   (0x13 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL4(port)   (0x14 + ((port) * 0x10))
 
#define KSZ8864_PORTn_STAT0(port)   (0x19 + ((port) * 0x10))
 
#define KSZ8864_PORTn_PSCS(port)   (0x1A + ((port) * 0x10))
 
#define KSZ8864_PORTn_LINKMD(port)   (0x1B + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL5(port)   (0x1C + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL6(port)   (0x1D + ((port) * 0x10))
 
#define KSZ8864_PORTn_STAT1(port)   (0x1E + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL7_STAT2(port)   (0x1F + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL8(port)   (0xB0 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL9(port)   (0xB1 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL10(port)   (0xB2 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL11(port)   (0xB3 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL12(port)   (0xB4 + ((port) * 0x10))
 
#define KSZ8864_PORTn_CTRL13(port)   (0xB5 + ((port) * 0x10))
 
#define KSZ8864_PORTn_RATE_LIMIT_CTRL(port)   (0xB6 + ((port) * 0x10))
 
#define KSZ8864_PORTn_PRIO0_IG_LIMIT_CTRL1(port)   (0xB7 + ((port) * 0x10))
 
#define KSZ8864_PORTn_PRIO1_IG_LIMIT_CTRL2(port)   (0xB8 + ((port) * 0x10))
 
#define KSZ8864_PORTn_PRIO2_IG_LIMIT_CTRL3(port)   (0xB9 + ((port) * 0x10))
 
#define KSZ8864_PORTn_PRIO3_IG_LIMIT_CTRL4(port)   (0xBA + ((port) * 0x10))
 
#define KSZ8864_PORTn_QUEUE0_EG_LIMIT_CTRL1(port)   (0xBB + ((port) * 0x10))
 
#define KSZ8864_PORTn_QUEUE1_EG_LIMIT_CTRL2(port)   (0xBC + ((port) * 0x10))
 
#define KSZ8864_PORTn_QUEUE2_EG_LIMIT_CTRL3(port)   (0xBD + ((port) * 0x10))
 
#define KSZ8864_PORTn_QUEUE3_EG_LIMIT_CTRL4(port)   (0xBE + ((port) * 0x10))
 
#define KSZ8864_BMCR_RESET   0x8000
 
#define KSZ8864_BMCR_LOOPBACK   0x4000
 
#define KSZ8864_BMCR_FORCE_100   0x2000
 
#define KSZ8864_BMCR_AN_EN   0x1000
 
#define KSZ8864_BMCR_POWER_DOWN   0x0800
 
#define KSZ8864_BMCR_ISOLATE   0x0400
 
#define KSZ8864_BMCR_RESTART_AN   0x0200
 
#define KSZ8864_BMCR_FORCE_FULL_DUPLEX   0x0100
 
#define KSZ8864_BMCR_COL_TEST   0x0080
 
#define KSZ8864_BMCR_HP_MDIX   0x0020
 
#define KSZ8864_BMCR_FORCE_MDI   0x0010
 
#define KSZ8864_BMCR_AUTO_MDIX_DIS   0x0008
 
#define KSZ8864_BMCR_FAR_END_FAULT_DIS   0x0004
 
#define KSZ8864_BMCR_TRANSMIT_DIS   0x0002
 
#define KSZ8864_BMCR_LED_DIS   0x0001
 
#define KSZ8864_BMSR_100BT4   0x8000
 
#define KSZ8864_BMSR_100BTX_FD   0x4000
 
#define KSZ8864_BMSR_100BTX_HD   0x2000
 
#define KSZ8864_BMSR_10BT_FD   0x1000
 
#define KSZ8864_BMSR_10BT_HD   0x0800
 
#define KSZ8864_BMSR_PREAMBLE_SUPPR   0x0040
 
#define KSZ8864_BMSR_AN_COMPLETE   0x0020
 
#define KSZ8864_BMSR_FAR_END_FAULT   0x0010
 
#define KSZ8864_BMSR_AN_CAPABLE   0x0008
 
#define KSZ8864_BMSR_LINK_STATUS   0x0004
 
#define KSZ8864_BMSR_JABBER_TEST   0x0002
 
#define KSZ8864_BMSR_EXTENDED_CAPABLE   0x0001
 
#define KSZ8864_PHYID1_DEFAULT   0x0022
 
#define KSZ8864_PHYID2_DEFAULT   0x1450
 
#define KSZ8864_ANAR_NEXT_PAGE   0x8000
 
#define KSZ8864_ANAR_REMOTE_FAULT   0x2000
 
#define KSZ8864_ANAR_PAUSE   0x0400
 
#define KSZ8864_ANAR_100BTX_FD   0x0100
 
#define KSZ8864_ANAR_100BTX_HD   0x0080
 
#define KSZ8864_ANAR_10BT_FD   0x0040
 
#define KSZ8864_ANAR_10BT_HD   0x0020
 
#define KSZ8864_ANAR_SELECTOR   0x001F
 
#define KSZ8864_ANAR_SELECTOR_DEFAULT   0x0001
 
#define KSZ8864_ANLPAR_NEXT_PAGE   0x8000
 
#define KSZ8864_ANLPAR_LP_ACK   0x4000
 
#define KSZ8864_ANLPAR_REMOTE_FAULT   0x2000
 
#define KSZ8864_ANLPAR_PAUSE   0x0400
 
#define KSZ8864_ANLPAR_100BTX_FD   0x0100
 
#define KSZ8864_ANLPAR_100BTX_HD   0x0080
 
#define KSZ8864_ANLPAR_10BT_FD   0x0040
 
#define KSZ8864_ANLPAR_10BT_HD   0x0020
 
#define KSZ8864_LINKMD_TEST_EN   0x8000
 
#define KSZ8864_LINKMD_RESULT   0x6000
 
#define KSZ8864_LINKMD_SHORT   0x1000
 
#define KSZ8864_LINKMD_FAULT_COUNT   0x01FF
 
#define KSZ8864_PHYSCS_OP_MODE   0x0700
 
#define KSZ8864_PHYSCS_OP_MODE_AN   0x0100
 
#define KSZ8864_PHYSCS_OP_MODE_10BT_HD   0x0200
 
#define KSZ8864_PHYSCS_OP_MODE_100BTX_HD   0x0300
 
#define KSZ8864_PHYSCS_OP_MODE_10BT_FD   0x0500
 
#define KSZ8864_PHYSCS_OP_MODE_100BTX_FD   0x0600
 
#define KSZ8864_PHYSCS_OP_MODE_ISOLATE   0x0700
 
#define KSZ8864_PHYSCS_POLRVS   0x0020
 
#define KSZ8864_PHYSCS_MDIX_STATUS   0x0010
 
#define KSZ8864_PHYSCS_FORCE_LINK   0x0008
 
#define KSZ8864_PHYSCS_PWRSAVE   0x0004
 
#define KSZ8864_PHYSCS_REMOTE_LOOPBACK   0x0002
 
#define KSZ8864_CHIP_ID0_FAMILY_ID   0xFF
 
#define KSZ8864_CHIP_ID0_FAMILY_ID_DEFAULT   0x95
 
#define KSZ8864_CHIP_ID1_REVISION_ID   0x0E
 
#define KSZ8864_CHIP_ID1_START_SWITCH   0x01
 
#define KSZ8864_GLOBAL_CTRL0_NEW_BACK_OFF_EN   0x80
 
#define KSZ8864_GLOBAL_CTRL0_FLUSH_DYNAMIC_MAC_TABLE   0x20
 
#define KSZ8864_GLOBAL_CTRL0_FLUSH_STATIC_MAC_TABLE   0x10
 
#define KSZ8864_GLOBAL_CTRL0_UNH_MODE   0x02
 
#define KSZ8864_GLOBAL_CTRL0_LINK_CHANGE_AGE   0x01
 
#define KSZ8864_GLOBAL_CTRL1_PASS_ALL_FRAMES   0x80
 
#define KSZ8864_GLOBAL_CTRL1_2KB_PKT_SUPPORT   0x40
 
#define KSZ8864_GLOBAL_CTRL1_TX_FLOW_CTRL_DIS   0x20
 
#define KSZ8864_GLOBAL_CTRL1_RX_FLOW_CTRL_DIS   0x10
 
#define KSZ8864_GLOBAL_CTRL1_FRAME_LEN_CHECK_EN   0x08
 
#define KSZ8864_GLOBAL_CTRL1_AGING_EN   0x04
 
#define KSZ8864_GLOBAL_CTRL1_FAST_AGE_EN   0x02
 
#define KSZ8864_GLOBAL_CTRL1_AGGRESSIVE_BACK_OFF_EN   0x01
 
#define KSZ8864_GLOBAL_CTRL2_UNI_VLAN_MISMATCH_DISCARD   0x80
 
#define KSZ8864_GLOBAL_CTRL2_MCAST_STORM_PROTECT_DIS   0x40
 
#define KSZ8864_GLOBAL_CTRL2_BACK_PRESSURE_MODE   0x20
 
#define KSZ8864_GLOBAL_CTRL2_FLOW_CTRL_FAIR_MODE   0x10
 
#define KSZ8864_GLOBAL_CTRL2_NO_EXCESSIVE_COL_DROP   0x08
 
#define KSZ8864_GLOBAL_CTRL2_HUGE_PKT_SUPPORT   0x04
 
#define KSZ8864_GLOBAL_CTRL2_MAX_PKT_SIZE_CHECK_DIS   0x02
 
#define KSZ8864_GLOBAL_CTRL3_VLAN_EN   0x80
 
#define KSZ8864_GLOBAL_CTRL3_SW4_IGMP_SNOOP_EN   0x40
 
#define KSZ8864_GLOBAL_CTRL3_SW4_DIRECT_MODE_EN   0x20
 
#define KSZ8864_GLOBAL_CTRL3_SW4_PRE_TAG_EN   0x10
 
#define KSZ8864_GLOBAL_CTRL3_TAG_MASK_EN   0x02
 
#define KSZ8864_GLOBAL_CTRL3_SNIFF_MODE_SEL   0x01
 
#define KSZ8864_GLOBAL_CTRL4_SW4_BACK_PRESSURE_EN   0x80
 
#define KSZ8864_GLOBAL_CTRL4_SW4_HALF_DUPLEX_MODE   0x40
 
#define KSZ8864_GLOBAL_CTRL4_SW4_FLOW_CTRL_EN   0x20
 
#define KSZ8864_GLOBAL_CTRL4_SW4_SPEED   0x10
 
#define KSZ8864_GLOBAL_CTRL4_NULL_VID_REPLACEMENT   0x08
 
#define KSZ8864_GLOBAL_CTRL4_BCAST_STORM_PROTECT_RATE_MSB   0x07
 
#define KSZ8864_GLOBAL_CTRL5_BCAST_STORM_PROTECT_RATE_LSB   0xFF
 
#define KSZ8864_GLOBAL_CTRL6_FACTORY_TESTING   0xFF
 
#define KSZ8864_GLOBAL_CTRL7_FACTORY_TESTING   0xFF
 
#define KSZ8864_GLOBAL_CTRL8_FACTORY_TESTING   0xFF
 
#define KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL   0x80
 
#define KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL_RISING   0x00
 
#define KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL_FALLING   0x80
 
#define KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL   0x40
 
#define KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL_RISING   0x00
 
#define KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL_FALLING   0x40
 
#define KSZ8864_GLOBAL_CTRL9_PHY_PWR_SAVE   0x08
 
#define KSZ8864_GLOBAL_CTRL9_LED_MODE   0x02
 
#define KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL   0x01
 
#define KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL_FALLING   0x00
 
#define KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL_RISING   0x01
 
#define KSZ8864_GLOBAL_CTRL10_CLK_MODE   0x40
 
#define KSZ8864_GLOBAL_CTRL10_CPU_CLK_SEL   0x30
 
#define KSZ8864_GLOBAL_CTRL10_TAIL_TAG_EN   0x02
 
#define KSZ8864_GLOBAL_CTRL10_PASS_FLOW_CTRL_PKT   0x01
 
#define KSZ8864_GLOBAL_CTRL11_FACTORY_TESTING   0xFF
 
#define KSZ8864_PD_MGMT_CTRL1_PLL_PWR_DOWN   0x20
 
#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE   0x18
 
#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_NORMAL   0x00
 
#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_ENERGY_DETECT   0x08
 
#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_SOFT_PWR_DOWN   0x10
 
#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_PWR_SAVING   0x18
 
#define KSZ8864_PD_MGMT_CTRL2_GO_SLEEP_TIME   0xFF
 
#define KSZ8864_PORTn_CTRL0_BCAST_STORM_PROTECT_EN   0x80
 
#define KSZ8864_PORTn_CTRL0_DIFFSERV_PRIO_CLASS_EN   0x40
 
#define KSZ8864_PORTn_CTRL0_802_1P_PRIO_CLASS_EN   0x20
 
#define KSZ8864_PORTn_CTRL0_PORT_PRIO_CLASS_EN   0x18
 
#define KSZ8864_PORTn_CTRL0_TAG_INSERTION   0x04
 
#define KSZ8864_PORTn_CTRL0_TAG_REMOVAL   0x02
 
#define KSZ8864_PORTn_CTRL0_TWO_QUEUE_SPLIT_EN   0x01
 
#define KSZ8864_PORTn_CTRL1_SNIFFER_PORT   0x80
 
#define KSZ8864_PORTn_CTRL1_RECEIVE_SNIFF   0x40
 
#define KSZ8864_PORTn_CTRL1_TRANSMIT_SNIFF   0x20
 
#define KSZ8864_PORTn_CTRL1_PORT_VLAN_MEMBERSHIP   0x1F
 
#define KSZ8864_PORTn_CTRL2_USER_PRIO_CEILING   0x80
 
#define KSZ8864_PORTn_CTRL2_INGRESS_VLAN_FILT   0x40
 
#define KSZ8864_PORTn_CTRL2_DISCARD_NON_PVID_PKT   0x20
 
#define KSZ8864_PORTn_CTRL2_FORCE_FLOW_CTRL   0x10
 
#define KSZ8864_PORTn_CTRL2_BACK_PRESSURE_EN   0x08
 
#define KSZ8864_PORTn_CTRL2_TRANSMIT_EN   0x04
 
#define KSZ8864_PORTn_CTRL2_RECEIVE_EN   0x02
 
#define KSZ8864_PORTn_CTRL2_LEARNING_DIS   0x01
 
#define KSZ8864_PORTn_CTRL3_DEFAULT_USER_PRIO   0xE0
 
#define KSZ8864_PORTn_CTRL3_DEFAULT_CFI   0x10
 
#define KSZ8864_PORTn_CTRL3_DEFAULT_VID_MSB   0x0F
 
#define KSZ8864_PORTn_CTRL4_DEFAULT_VID_LSB   0xFF
 
#define KSZ8864_RMII_MGMT_CTRL_SW4_CLK_OUT_DIS   0x08
 
#define KSZ8864_RMII_MGMT_CTRL_SW3_CLK_OUT_DIS   0x04
 
#define KSZ8864_PORTn_STAT0_HP_MDIX   0x80
 
#define KSZ8864_PORTn_STAT0_POLRVS   0x20
 
#define KSZ8864_PORTn_STAT0_TX_FLOW_CTRL_EN   0x10
 
#define KSZ8864_PORTn_STAT0_RX_FLOW_CTRL_EN   0x08
 
#define KSZ8864_PORTn_STAT0_OP_SPEED   0x04
 
#define KSZ8864_PORTn_STAT0_OP_DUPLEX   0x02
 
#define KSZ8864_PORTn_PSCS_VCT_10M_SHORT   0x80
 
#define KSZ8864_PORTn_PSCS_VCT_RESULT   0x60
 
#define KSZ8864_PORTn_PSCS_VCT_EN   0x10
 
#define KSZ8864_PORTn_PSCS_FORCE_LNK   0x08
 
#define KSZ8864_PORTn_PSCS_PWRSAVE   0x04
 
#define KSZ8864_PORTn_PSCS_REMOTE_LOOPBACK   0x02
 
#define KSZ8864_PORTn_PSCS_VCT_FAULT_COUNT_MSB   0x01
 
#define KSZ8864_PORTn_LINKMD_VCT_FAULT_COUNT_LSB   0xFF
 
#define KSZ8864_PORTn_CTRL5_AN_DIS   0x80
 
#define KSZ8864_PORTn_CTRL5_FORCED_SPEED   0x40
 
#define KSZ8864_PORTn_CTRL5_FORCED_DUPLEX   0x20
 
#define KSZ8864_PORTn_CTRL5_ADV_FLOW_CTRL   0x10
 
#define KSZ8864_PORTn_CTRL5_ADV_100BT_FD   0x08
 
#define KSZ8864_PORTn_CTRL5_ADV_100BT_HD   0x04
 
#define KSZ8864_PORTn_CTRL5_ADV_10BT_FD   0x02
 
#define KSZ8864_PORTn_CTRL5_ADV_10BT_HD   0x01
 
#define KSZ8864_PORTn_CTRL6_LED_OFF   0x80
 
#define KSZ8864_PORTn_CTRL6_TX_DIS   0x40
 
#define KSZ8864_PORTn_CTRL6_RESTART_AN   0x20
 
#define KSZ8864_PORTn_CTRL6_POWER_DOWN   0x08
 
#define KSZ8864_PORTn_CTRL6_AUTO_MDIX_DIS   0x04
 
#define KSZ8864_PORTn_CTRL6_FORCED_MDI   0x02
 
#define KSZ8864_PORTn_CTRL6_MAC_LOOPBACK   0x01
 
#define KSZ8864_PORTn_STAT1_MDIX_STATUS   0x80
 
#define KSZ8864_PORTn_STAT1_AN_DONE   0x40
 
#define KSZ8864_PORTn_STAT1_LINK_GOOD   0x20
 
#define KSZ8864_PORTn_STAT1_LP_FLOW_CTRL_CAPABLE   0x10
 
#define KSZ8864_PORTn_STAT1_LP_100BTX_FD_CAPABLE   0x08
 
#define KSZ8864_PORTn_STAT1_LP_100BTX_HF_CAPABLE   0x04
 
#define KSZ8864_PORTn_STAT1_LP_10BT_FD_CAPABLE   0x02
 
#define KSZ8864_PORTn_STAT1_LP_10BT_HD_CAPABLE   0x01
 
#define KSZ8864_PORTn_CTRL7_STAT2_PHY_LOOPBACK   0x80
 
#define KSZ8864_PORTn_CTRL7_STAT2_PHY_ISOLATE   0x20
 
#define KSZ8864_PORTn_CTRL7_STAT2_SOFT_RESET   0x10
 
#define KSZ8864_PORTn_CTRL7_STAT2_FORCE_LINK   0x08
 
#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE   0x07
 
#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_AN   0x01
 
#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_10BT_HD   0x02
 
#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_100BTX_HD   0x03
 
#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_10BT_FD   0x05
 
#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_100BTX_FD   0x06
 
#define KSZ8864_INDIRECT_CTRL0_WRITE   0x00
 
#define KSZ8864_INDIRECT_CTRL0_READ   0x10
 
#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL   0x0C
 
#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL_STATIC_MAC   0x00
 
#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL_VLAN   0x04
 
#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL_DYNAMIC_MAC   0x08
 
#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL_MIB_COUNTER   0x0C
 
#define KSZ8864_INDIRECT_CTRL0_ADDR_H   0x03
 
#define KSZ8864_INDIRECT_CTRL1_ADDR_L   0xFF
 
#define KSZ8864_INT_STAT_PORT2   0x04
 
#define KSZ8864_INT_STAT_PORT1   0x02
 
#define KSZ8864_INT_MASK_PORT2   0x04
 
#define KSZ8864_INT_MASK_PORT1   0x02
 
#define KSZ8864_GLOBAL_CTRL12_TAG3   0xC0
 
#define KSZ8864_GLOBAL_CTRL12_TAG2   0x30
 
#define KSZ8864_GLOBAL_CTRL12_TAG1   0x0C
 
#define KSZ8864_GLOBAL_CTRL12_TAG0   0x03
 
#define KSZ8864_GLOBAL_CTRL13_TAG7   0xC0
 
#define KSZ8864_GLOBAL_CTRL13_TAG6   0x30
 
#define KSZ8864_GLOBAL_CTRL13_TAG5   0x0C
 
#define KSZ8864_GLOBAL_CTRL13_TAG4   0x03
 
#define KSZ8864_GLOBAL_CTRL14_PRI_2Q   0xC0
 
#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD   0x20
 
#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP   0x1F
 
#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_FILT   0x00
 
#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT1   0x02
 
#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT2   0x04
 
#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT3   0x08
 
#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT4   0x10
 
#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_ALL   0x1E
 
#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH   0xC0
 
#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_4MA   0x00
 
#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_8MA   0x40
 
#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_10MA   0x80
 
#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_14MA   0xC0
 
#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD   0x20
 
#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP   0x1F
 
#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_FILT   0x00
 
#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT1   0x02
 
#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT2   0x04
 
#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT3   0x08
 
#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT4   0x10
 
#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_ALL   0x1E
 
#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD   0x20
 
#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP   0x1F
 
#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_FILT   0x00
 
#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT1   0x02
 
#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT2   0x04
 
#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT3   0x08
 
#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT4   0x10
 
#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_ALL   0x1E
 
#define KSZ8864_GLOBAL_CTRL18_SELF_ADDR_FILTER_EN   0x40
 
#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD   0x20
 
#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP   0x1F
 
#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_FILT   0x00
 
#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT1   0x02
 
#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT2   0x04
 
#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT3   0x08
 
#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT4   0x10
 
#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_ALL   0x1E
 
#define KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD   0x30
 
#define KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_16MS   0x00
 
#define KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_64MS   0x10
 
#define KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_256MS   0x20
 
#define KSZ8864_GLOBAL_CTRL19_QUEUE_BASED_EG_RATE_LIMITE_EN   0x08
 
#define KSZ8864_GLOBAL_CTRL19_INSERT_SRC_PORT_PVID_TAG_EN   0x04
 
#define KSZ8864_ID_REVISION_ID   0xF0
 
#define KSZ8864_ID_REVISION_ID_CNX_REV_A2   0x40
 
#define KSZ8864_ID_REVISION_ID_RMNUB_REV_B2   0x40
 
#define KSZ8864_ID_REVISION_ID_CNX_REV_A3   0x50
 
#define KSZ8864_ID_REVISION_ID_CNX_REV_A4   0x60
 
#define KSZ8864_PORTn_CTRL9_FOUR_QUEUE_SPLIT_EN   0x02
 
#define KSZ8864_PORTn_CTRL9_DROPPING_TAG_EN   0x01
 
#define KSZ8864_PORTn_CTRL10_PORT_TX_QUEUE3_RATIO_EN   0x80
 
#define KSZ8864_PORTn_CTRL10_PORT_TX_QUEUE3_RATIO   0x7F
 
#define KSZ8864_PORTn_CTRL11_PORT_TX_QUEUE2_RATIO_EN   0x80
 
#define KSZ8864_PORTn_CTRL11_PORT_TX_QUEUE2_RATIO   0x7F
 
#define KSZ8864_PORTn_CTRL12_PORT_TX_QUEUE1_RATIO_EN   0x80
 
#define KSZ8864_PORTn_CTRL12_PORT_TX_QUEUE1_RATIO   0x7F
 
#define KSZ8864_PORTn_CTRL13_PORT_TX_QUEUE0_RATIO_EN   0x80
 
#define KSZ8864_PORTn_CTRL13_PORT_TX_QUEUE0_RATIO   0x7F
 
#define KSZ8864_PORTn_RATE_LIMIT_CTRL_LIMIT_EN   0x10
 
#define KSZ8864_PORTn_RATE_LIMIT_CTRL_LIMIT_MODE   0x0C
 
#define KSZ8864_PORTn_RATE_LIMIT_CTRL_COUNT_IFG   0x02
 
#define KSZ8864_PORTn_RATE_LIMIT_CTRL_COUNT_PRE   0x01
 
#define KSZ8864_TEST_PORT3_CTRL1_SW3_HALF_DUPLEX_MODE   0x80
 
#define KSZ8864_TEST_PORT3_CTRL1_SW3_FLOW_CONTROL_EN   0x40
 
#define KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED   0x20
 
#define KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED_100   0x00
 
#define KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED_10   0x20
 
#define KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE   0x40
 
#define KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE_PHY   0x00
 
#define KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE_MAC   0x40
 
#define KSZ8864_TEST4_SW4_RMII_INV_SMTXC   0x40
 
#define KSZ8864_TEST4_SW4_RMII_INV_SMRXC   0x10
 

Functions

error_t ksz8864Init (NetInterface *interface)
 KSZ8864 Ethernet switch initialization. More...
 
void ksz8864InitHook (NetInterface *interface)
 KSZ8864 custom configuration. More...
 
void ksz8864Tick (NetInterface *interface)
 KSZ8864 timer handler. More...
 
void ksz8864EnableIrq (NetInterface *interface)
 Enable interrupts. More...
 
void ksz8864DisableIrq (NetInterface *interface)
 Disable interrupts. More...
 
void ksz8864EventHandler (NetInterface *interface)
 KSZ8864 event handler. More...
 
error_t ksz8864TagFrame (NetInterface *interface, NetBuffer *buffer, size_t *offset, NetTxAncillary *ancillary)
 Add tail tag to Ethernet frame. More...
 
error_t ksz8864UntagFrame (NetInterface *interface, uint8_t **frame, size_t *length, NetRxAncillary *ancillary)
 Decode tail tag from incoming Ethernet frame. More...
 
bool_t ksz8864GetLinkState (NetInterface *interface, uint8_t port)
 Get link state. More...
 
uint32_t ksz8864GetLinkSpeed (NetInterface *interface, uint8_t port)
 Get link speed. More...
 
NicDuplexMode ksz8864GetDuplexMode (NetInterface *interface, uint8_t port)
 Get duplex mode. More...
 
void ksz8864SetPortState (NetInterface *interface, uint8_t port, SwitchPortState state)
 Set port state. More...
 
SwitchPortState ksz8864GetPortState (NetInterface *interface, uint8_t port)
 Get port state. More...
 
void ksz8864SetAgingTime (NetInterface *interface, uint32_t agingTime)
 Set aging time for dynamic filtering entries. More...
 
void ksz8864EnableIgmpSnooping (NetInterface *interface, bool_t enable)
 Enable IGMP snooping. More...
 
void ksz8864EnableMldSnooping (NetInterface *interface, bool_t enable)
 Enable MLD snooping. More...
 
void ksz8864EnableRsvdMcastTable (NetInterface *interface, bool_t enable)
 Enable reserved multicast table. More...
 
error_t ksz8864AddStaticFdbEntry (NetInterface *interface, const SwitchFdbEntry *entry)
 Add a new entry to the static MAC table. More...
 
error_t ksz8864DeleteStaticFdbEntry (NetInterface *interface, const SwitchFdbEntry *entry)
 Remove an entry from the static MAC table. More...
 
error_t ksz8864GetStaticFdbEntry (NetInterface *interface, uint_t index, SwitchFdbEntry *entry)
 Read an entry from the static MAC table. More...
 
void ksz8864FlushStaticFdbTable (NetInterface *interface)
 Flush static MAC table. More...
 
error_t ksz8864GetDynamicFdbEntry (NetInterface *interface, uint_t index, SwitchFdbEntry *entry)
 Read an entry from the dynamic MAC table. More...
 
void ksz8864FlushDynamicFdbTable (NetInterface *interface, uint8_t port)
 Flush dynamic MAC table. More...
 
void ksz8864SetUnknownMcastFwdPorts (NetInterface *interface, bool_t enable, uint32_t forwardPorts)
 Set forward ports for unknown multicast packets. More...
 
void ksz8864WritePhyReg (NetInterface *interface, uint8_t port, uint8_t address, uint16_t data)
 Write PHY register. More...
 
uint16_t ksz8864ReadPhyReg (NetInterface *interface, uint8_t port, uint8_t address)
 Read PHY register. More...
 
void ksz8864DumpPhyReg (NetInterface *interface, uint8_t port)
 Dump PHY registers for debugging purpose. More...
 
void ksz8864WriteSwitchReg (NetInterface *interface, uint8_t address, uint8_t data)
 Write switch register. More...
 
uint8_t ksz8864ReadSwitchReg (NetInterface *interface, uint8_t address)
 Read switch register. More...
 
void ksz8864DumpSwitchReg (NetInterface *interface)
 Dump switch registers for debugging purpose. More...
 

Variables

const SwitchDriver ksz8864SwitchDriver
 KSZ8864 Ethernet switch driver. More...
 

Detailed Description

KSZ8864 4-port Ethernet switch driver.

License

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

Copyright (C) 2010-2024 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
2.4.4

Definition in file ksz8864_driver.h.

Macro Definition Documentation

◆ KSZ8864_ANAR

#define KSZ8864_ANAR   0x04

Definition at line 74 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_100BTX_FD

#define KSZ8864_ANAR_100BTX_FD   0x0100

Definition at line 313 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_100BTX_HD

#define KSZ8864_ANAR_100BTX_HD   0x0080

Definition at line 314 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_10BT_FD

#define KSZ8864_ANAR_10BT_FD   0x0040

Definition at line 315 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_10BT_HD

#define KSZ8864_ANAR_10BT_HD   0x0020

Definition at line 316 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_NEXT_PAGE

#define KSZ8864_ANAR_NEXT_PAGE   0x8000

Definition at line 310 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_PAUSE

#define KSZ8864_ANAR_PAUSE   0x0400

Definition at line 312 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_REMOTE_FAULT

#define KSZ8864_ANAR_REMOTE_FAULT   0x2000

Definition at line 311 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_SELECTOR

#define KSZ8864_ANAR_SELECTOR   0x001F

Definition at line 317 of file ksz8864_driver.h.

◆ KSZ8864_ANAR_SELECTOR_DEFAULT

#define KSZ8864_ANAR_SELECTOR_DEFAULT   0x0001

Definition at line 318 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR

#define KSZ8864_ANLPAR   0x05

Definition at line 75 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR_100BTX_FD

#define KSZ8864_ANLPAR_100BTX_FD   0x0100

Definition at line 325 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR_100BTX_HD

#define KSZ8864_ANLPAR_100BTX_HD   0x0080

Definition at line 326 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR_10BT_FD

#define KSZ8864_ANLPAR_10BT_FD   0x0040

Definition at line 327 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR_10BT_HD

#define KSZ8864_ANLPAR_10BT_HD   0x0020

Definition at line 328 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR_LP_ACK

#define KSZ8864_ANLPAR_LP_ACK   0x4000

Definition at line 322 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR_NEXT_PAGE

#define KSZ8864_ANLPAR_NEXT_PAGE   0x8000

Definition at line 321 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR_PAUSE

#define KSZ8864_ANLPAR_PAUSE   0x0400

Definition at line 324 of file ksz8864_driver.h.

◆ KSZ8864_ANLPAR_REMOTE_FAULT

#define KSZ8864_ANLPAR_REMOTE_FAULT   0x2000

Definition at line 323 of file ksz8864_driver.h.

◆ KSZ8864_BMCR

#define KSZ8864_BMCR   0x00

Definition at line 70 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_AN_EN

#define KSZ8864_BMCR_AN_EN   0x1000

Definition at line 276 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_AUTO_MDIX_DIS

#define KSZ8864_BMCR_AUTO_MDIX_DIS   0x0008

Definition at line 284 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_COL_TEST

#define KSZ8864_BMCR_COL_TEST   0x0080

Definition at line 281 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_FAR_END_FAULT_DIS

#define KSZ8864_BMCR_FAR_END_FAULT_DIS   0x0004

Definition at line 285 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_FORCE_100

#define KSZ8864_BMCR_FORCE_100   0x2000

Definition at line 275 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_FORCE_FULL_DUPLEX

#define KSZ8864_BMCR_FORCE_FULL_DUPLEX   0x0100

Definition at line 280 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_FORCE_MDI

#define KSZ8864_BMCR_FORCE_MDI   0x0010

Definition at line 283 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_HP_MDIX

#define KSZ8864_BMCR_HP_MDIX   0x0020

Definition at line 282 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_ISOLATE

#define KSZ8864_BMCR_ISOLATE   0x0400

Definition at line 278 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_LED_DIS

#define KSZ8864_BMCR_LED_DIS   0x0001

Definition at line 287 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_LOOPBACK

#define KSZ8864_BMCR_LOOPBACK   0x4000

Definition at line 274 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_POWER_DOWN

#define KSZ8864_BMCR_POWER_DOWN   0x0800

Definition at line 277 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_RESET

#define KSZ8864_BMCR_RESET   0x8000

Definition at line 273 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_RESTART_AN

#define KSZ8864_BMCR_RESTART_AN   0x0200

Definition at line 279 of file ksz8864_driver.h.

◆ KSZ8864_BMCR_TRANSMIT_DIS

#define KSZ8864_BMCR_TRANSMIT_DIS   0x0002

Definition at line 286 of file ksz8864_driver.h.

◆ KSZ8864_BMSR

#define KSZ8864_BMSR   0x01

Definition at line 71 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_100BT4

#define KSZ8864_BMSR_100BT4   0x8000

Definition at line 290 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_100BTX_FD

#define KSZ8864_BMSR_100BTX_FD   0x4000

Definition at line 291 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_100BTX_HD

#define KSZ8864_BMSR_100BTX_HD   0x2000

Definition at line 292 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_10BT_FD

#define KSZ8864_BMSR_10BT_FD   0x1000

Definition at line 293 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_10BT_HD

#define KSZ8864_BMSR_10BT_HD   0x0800

Definition at line 294 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_AN_CAPABLE

#define KSZ8864_BMSR_AN_CAPABLE   0x0008

Definition at line 298 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_AN_COMPLETE

#define KSZ8864_BMSR_AN_COMPLETE   0x0020

Definition at line 296 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_EXTENDED_CAPABLE

#define KSZ8864_BMSR_EXTENDED_CAPABLE   0x0001

Definition at line 301 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_FAR_END_FAULT

#define KSZ8864_BMSR_FAR_END_FAULT   0x0010

Definition at line 297 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_JABBER_TEST

#define KSZ8864_BMSR_JABBER_TEST   0x0002

Definition at line 300 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_LINK_STATUS

#define KSZ8864_BMSR_LINK_STATUS   0x0004

Definition at line 299 of file ksz8864_driver.h.

◆ KSZ8864_BMSR_PREAMBLE_SUPPR

#define KSZ8864_BMSR_PREAMBLE_SUPPR   0x0040

Definition at line 295 of file ksz8864_driver.h.

◆ KSZ8864_CHIP_ID0

#define KSZ8864_CHIP_ID0   0x00

Definition at line 80 of file ksz8864_driver.h.

◆ KSZ8864_CHIP_ID0_FAMILY_ID

#define KSZ8864_CHIP_ID0_FAMILY_ID   0xFF

Definition at line 351 of file ksz8864_driver.h.

◆ KSZ8864_CHIP_ID0_FAMILY_ID_DEFAULT

#define KSZ8864_CHIP_ID0_FAMILY_ID_DEFAULT   0x95

Definition at line 352 of file ksz8864_driver.h.

◆ KSZ8864_CHIP_ID1

#define KSZ8864_CHIP_ID1   0x01

Definition at line 81 of file ksz8864_driver.h.

◆ KSZ8864_CHIP_ID1_REVISION_ID

#define KSZ8864_CHIP_ID1_REVISION_ID   0x0E

Definition at line 355 of file ksz8864_driver.h.

◆ KSZ8864_CHIP_ID1_START_SWITCH

#define KSZ8864_CHIP_ID1_START_SWITCH   0x01

Definition at line 356 of file ksz8864_driver.h.

◆ KSZ8864_DYNAMIC_MAC_TABLE_SIZE

#define KSZ8864_DYNAMIC_MAC_TABLE_SIZE   1024

Definition at line 56 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL0

#define KSZ8864_GLOBAL_CTRL0   0x02

Definition at line 82 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL0_FLUSH_DYNAMIC_MAC_TABLE

#define KSZ8864_GLOBAL_CTRL0_FLUSH_DYNAMIC_MAC_TABLE   0x20

Definition at line 360 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL0_FLUSH_STATIC_MAC_TABLE

#define KSZ8864_GLOBAL_CTRL0_FLUSH_STATIC_MAC_TABLE   0x10

Definition at line 361 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL0_LINK_CHANGE_AGE

#define KSZ8864_GLOBAL_CTRL0_LINK_CHANGE_AGE   0x01

Definition at line 363 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL0_NEW_BACK_OFF_EN

#define KSZ8864_GLOBAL_CTRL0_NEW_BACK_OFF_EN   0x80

Definition at line 359 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL0_UNH_MODE

#define KSZ8864_GLOBAL_CTRL0_UNH_MODE   0x02

Definition at line 362 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1

#define KSZ8864_GLOBAL_CTRL1   0x03

Definition at line 83 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL10

#define KSZ8864_GLOBAL_CTRL10   0x0C

Definition at line 92 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL10_CLK_MODE

#define KSZ8864_GLOBAL_CTRL10_CLK_MODE   0x40

Definition at line 426 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL10_CPU_CLK_SEL

#define KSZ8864_GLOBAL_CTRL10_CPU_CLK_SEL   0x30

Definition at line 427 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL10_PASS_FLOW_CTRL_PKT

#define KSZ8864_GLOBAL_CTRL10_PASS_FLOW_CTRL_PKT   0x01

Definition at line 429 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL10_TAIL_TAG_EN

#define KSZ8864_GLOBAL_CTRL10_TAIL_TAG_EN   0x02

Definition at line 428 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL11

#define KSZ8864_GLOBAL_CTRL11   0x0D

Definition at line 93 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL11_FACTORY_TESTING

#define KSZ8864_GLOBAL_CTRL11_FACTORY_TESTING   0xFF

Definition at line 432 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL12

#define KSZ8864_GLOBAL_CTRL12   0x80

Definition at line 152 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL12_TAG0

#define KSZ8864_GLOBAL_CTRL12_TAG0   0x03

Definition at line 568 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL12_TAG1

#define KSZ8864_GLOBAL_CTRL12_TAG1   0x0C

Definition at line 567 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL12_TAG2

#define KSZ8864_GLOBAL_CTRL12_TAG2   0x30

Definition at line 566 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL12_TAG3

#define KSZ8864_GLOBAL_CTRL12_TAG3   0xC0

Definition at line 565 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL13

#define KSZ8864_GLOBAL_CTRL13   0x81

Definition at line 153 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL13_TAG4

#define KSZ8864_GLOBAL_CTRL13_TAG4   0x03

Definition at line 574 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL13_TAG5

#define KSZ8864_GLOBAL_CTRL13_TAG5   0x0C

Definition at line 573 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL13_TAG6

#define KSZ8864_GLOBAL_CTRL13_TAG6   0x30

Definition at line 572 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL13_TAG7

#define KSZ8864_GLOBAL_CTRL13_TAG7   0xC0

Definition at line 571 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL14

#define KSZ8864_GLOBAL_CTRL14   0x82

Definition at line 154 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL14_PRI_2Q

#define KSZ8864_GLOBAL_CTRL14_PRI_2Q   0xC0

Definition at line 577 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15

#define KSZ8864_GLOBAL_CTRL15   0x83

Definition at line 155 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD

#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD   0x20

Definition at line 580 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP

#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP   0x1F

Definition at line 581 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_ALL

#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_ALL   0x1E

Definition at line 587 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_FILT

#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_FILT   0x00

Definition at line 582 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT1

#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT1   0x02

Definition at line 583 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT2

#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT2   0x04

Definition at line 584 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT3

#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT3   0x08

Definition at line 585 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT4

#define KSZ8864_GLOBAL_CTRL15_UNKNOWN_UNICAST_FWD_MAP_PORT4   0x10

Definition at line 586 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16

#define KSZ8864_GLOBAL_CTRL16   0x84

Definition at line 156 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH

#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH   0xC0

Definition at line 590 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_10MA

#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_10MA   0x80

Definition at line 593 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_14MA

#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_14MA   0xC0

Definition at line 594 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_4MA

#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_4MA   0x00

Definition at line 591 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_8MA

#define KSZ8864_GLOBAL_CTRL16_CHIP_OUT_DRIVE_STRENGTH_8MA   0x40

Definition at line 592 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD

#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD   0x20

Definition at line 595 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP

#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP   0x1F

Definition at line 596 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_ALL

#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_ALL   0x1E

Definition at line 602 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_FILT

#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_FILT   0x00

Definition at line 597 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT1

#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT1   0x02

Definition at line 598 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT2

#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT2   0x04

Definition at line 599 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT3

#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT3   0x08

Definition at line 600 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT4

#define KSZ8864_GLOBAL_CTRL16_UNKNOWN_MCAST_FWD_MAP_PORT4   0x10

Definition at line 601 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17

#define KSZ8864_GLOBAL_CTRL17   0x85

Definition at line 157 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD

#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD   0x20

Definition at line 605 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP

#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP   0x1F

Definition at line 606 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_ALL

#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_ALL   0x1E

Definition at line 612 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_FILT

#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_FILT   0x00

Definition at line 607 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT1

#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT1   0x02

Definition at line 608 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT2

#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT2   0x04

Definition at line 609 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT3

#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT3   0x08

Definition at line 610 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT4

#define KSZ8864_GLOBAL_CTRL17_UNKNOWN_VID_FWD_MAP_PORT4   0x10

Definition at line 611 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18

#define KSZ8864_GLOBAL_CTRL18   0x86

Definition at line 158 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_SELF_ADDR_FILTER_EN

#define KSZ8864_GLOBAL_CTRL18_SELF_ADDR_FILTER_EN   0x40

Definition at line 615 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD

#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD   0x20

Definition at line 616 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP

#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP   0x1F

Definition at line 617 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_ALL

#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_ALL   0x1E

Definition at line 623 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_FILT

#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_FILT   0x00

Definition at line 618 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT1

#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT1   0x02

Definition at line 619 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT2

#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT2   0x04

Definition at line 620 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT3

#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT3   0x08

Definition at line 621 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT4

#define KSZ8864_GLOBAL_CTRL18_UNKNOWN_IP_MCAST_FWD_MAP_PORT4   0x10

Definition at line 622 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL19

#define KSZ8864_GLOBAL_CTRL19   0x87

Definition at line 159 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD

#define KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD   0x30

Definition at line 626 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_16MS

#define KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_16MS   0x00

Definition at line 627 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_256MS

#define KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_256MS   0x20

Definition at line 629 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_64MS

#define KSZ8864_GLOBAL_CTRL19_IG_RATE_LIMIT_PERIOD_64MS   0x10

Definition at line 628 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL19_INSERT_SRC_PORT_PVID_TAG_EN

#define KSZ8864_GLOBAL_CTRL19_INSERT_SRC_PORT_PVID_TAG_EN   0x04

Definition at line 631 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL19_QUEUE_BASED_EG_RATE_LIMITE_EN

#define KSZ8864_GLOBAL_CTRL19_QUEUE_BASED_EG_RATE_LIMITE_EN   0x08

Definition at line 630 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1_2KB_PKT_SUPPORT

#define KSZ8864_GLOBAL_CTRL1_2KB_PKT_SUPPORT   0x40

Definition at line 367 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1_AGGRESSIVE_BACK_OFF_EN

#define KSZ8864_GLOBAL_CTRL1_AGGRESSIVE_BACK_OFF_EN   0x01

Definition at line 373 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1_AGING_EN

#define KSZ8864_GLOBAL_CTRL1_AGING_EN   0x04

Definition at line 371 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1_FAST_AGE_EN

#define KSZ8864_GLOBAL_CTRL1_FAST_AGE_EN   0x02

Definition at line 372 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1_FRAME_LEN_CHECK_EN

#define KSZ8864_GLOBAL_CTRL1_FRAME_LEN_CHECK_EN   0x08

Definition at line 370 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1_PASS_ALL_FRAMES

#define KSZ8864_GLOBAL_CTRL1_PASS_ALL_FRAMES   0x80

Definition at line 366 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1_RX_FLOW_CTRL_DIS

#define KSZ8864_GLOBAL_CTRL1_RX_FLOW_CTRL_DIS   0x10

Definition at line 369 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL1_TX_FLOW_CTRL_DIS

#define KSZ8864_GLOBAL_CTRL1_TX_FLOW_CTRL_DIS   0x20

Definition at line 368 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL2

#define KSZ8864_GLOBAL_CTRL2   0x04

Definition at line 84 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL2_BACK_PRESSURE_MODE

#define KSZ8864_GLOBAL_CTRL2_BACK_PRESSURE_MODE   0x20

Definition at line 378 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL2_FLOW_CTRL_FAIR_MODE

#define KSZ8864_GLOBAL_CTRL2_FLOW_CTRL_FAIR_MODE   0x10

Definition at line 379 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL2_HUGE_PKT_SUPPORT

#define KSZ8864_GLOBAL_CTRL2_HUGE_PKT_SUPPORT   0x04

Definition at line 381 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL2_MAX_PKT_SIZE_CHECK_DIS

#define KSZ8864_GLOBAL_CTRL2_MAX_PKT_SIZE_CHECK_DIS   0x02

Definition at line 382 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL2_MCAST_STORM_PROTECT_DIS

#define KSZ8864_GLOBAL_CTRL2_MCAST_STORM_PROTECT_DIS   0x40

Definition at line 377 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL2_NO_EXCESSIVE_COL_DROP

#define KSZ8864_GLOBAL_CTRL2_NO_EXCESSIVE_COL_DROP   0x08

Definition at line 380 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL2_UNI_VLAN_MISMATCH_DISCARD

#define KSZ8864_GLOBAL_CTRL2_UNI_VLAN_MISMATCH_DISCARD   0x80

Definition at line 376 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL3

#define KSZ8864_GLOBAL_CTRL3   0x05

Definition at line 85 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL3_SNIFF_MODE_SEL

#define KSZ8864_GLOBAL_CTRL3_SNIFF_MODE_SEL   0x01

Definition at line 390 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL3_SW4_DIRECT_MODE_EN

#define KSZ8864_GLOBAL_CTRL3_SW4_DIRECT_MODE_EN   0x20

Definition at line 387 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL3_SW4_IGMP_SNOOP_EN

#define KSZ8864_GLOBAL_CTRL3_SW4_IGMP_SNOOP_EN   0x40

Definition at line 386 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL3_SW4_PRE_TAG_EN

#define KSZ8864_GLOBAL_CTRL3_SW4_PRE_TAG_EN   0x10

Definition at line 388 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL3_TAG_MASK_EN

#define KSZ8864_GLOBAL_CTRL3_TAG_MASK_EN   0x02

Definition at line 389 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL3_VLAN_EN

#define KSZ8864_GLOBAL_CTRL3_VLAN_EN   0x80

Definition at line 385 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL4

#define KSZ8864_GLOBAL_CTRL4   0x06

Definition at line 86 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL4_BCAST_STORM_PROTECT_RATE_MSB

#define KSZ8864_GLOBAL_CTRL4_BCAST_STORM_PROTECT_RATE_MSB   0x07

Definition at line 398 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL4_NULL_VID_REPLACEMENT

#define KSZ8864_GLOBAL_CTRL4_NULL_VID_REPLACEMENT   0x08

Definition at line 397 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL4_SW4_BACK_PRESSURE_EN

#define KSZ8864_GLOBAL_CTRL4_SW4_BACK_PRESSURE_EN   0x80

Definition at line 393 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL4_SW4_FLOW_CTRL_EN

#define KSZ8864_GLOBAL_CTRL4_SW4_FLOW_CTRL_EN   0x20

Definition at line 395 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL4_SW4_HALF_DUPLEX_MODE

#define KSZ8864_GLOBAL_CTRL4_SW4_HALF_DUPLEX_MODE   0x40

Definition at line 394 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL4_SW4_SPEED

#define KSZ8864_GLOBAL_CTRL4_SW4_SPEED   0x10

Definition at line 396 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL5

#define KSZ8864_GLOBAL_CTRL5   0x07

Definition at line 87 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL5_BCAST_STORM_PROTECT_RATE_LSB

#define KSZ8864_GLOBAL_CTRL5_BCAST_STORM_PROTECT_RATE_LSB   0xFF

Definition at line 401 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL6

#define KSZ8864_GLOBAL_CTRL6   0x08

Definition at line 88 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL6_FACTORY_TESTING

#define KSZ8864_GLOBAL_CTRL6_FACTORY_TESTING   0xFF

Definition at line 404 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL7

#define KSZ8864_GLOBAL_CTRL7   0x09

Definition at line 89 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL7_FACTORY_TESTING

#define KSZ8864_GLOBAL_CTRL7_FACTORY_TESTING   0xFF

Definition at line 407 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL8

#define KSZ8864_GLOBAL_CTRL8   0x0A

Definition at line 90 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL8_FACTORY_TESTING

#define KSZ8864_GLOBAL_CTRL8_FACTORY_TESTING   0xFF

Definition at line 410 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9

#define KSZ8864_GLOBAL_CTRL9   0x0B

Definition at line 91 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_LED_MODE

#define KSZ8864_GLOBAL_CTRL9_LED_MODE   0x02

Definition at line 420 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_PHY_PWR_SAVE

#define KSZ8864_GLOBAL_CTRL9_PHY_PWR_SAVE   0x08

Definition at line 419 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL

#define KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL   0x01

Definition at line 421 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL_FALLING

#define KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL_FALLING   0x00

Definition at line 422 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL_RISING

#define KSZ8864_GLOBAL_CTRL9_SPI_READ_CLK_EDGE_SEL_RISING   0x01

Definition at line 423 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL

#define KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL   0x80

Definition at line 413 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL_FALLING

#define KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL_FALLING   0x80

Definition at line 415 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL_RISING

#define KSZ8864_GLOBAL_CTRL9_SW3_REFCLK_EDGE_SEL_RISING   0x00

Definition at line 414 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL

#define KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL   0x40

Definition at line 416 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL_FALLING

#define KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL_FALLING   0x40

Definition at line 418 of file ksz8864_driver.h.

◆ KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL_RISING

#define KSZ8864_GLOBAL_CTRL9_SW4_REFCLK_EDGE_SEL_RISING   0x00

Definition at line 417 of file ksz8864_driver.h.

◆ KSZ8864_ID

#define KSZ8864_ID   0x89

Definition at line 160 of file ksz8864_driver.h.

◆ KSZ8864_ID_REVISION_ID

#define KSZ8864_ID_REVISION_ID   0xF0

Definition at line 634 of file ksz8864_driver.h.

◆ KSZ8864_ID_REVISION_ID_CNX_REV_A2

#define KSZ8864_ID_REVISION_ID_CNX_REV_A2   0x40

Definition at line 635 of file ksz8864_driver.h.

◆ KSZ8864_ID_REVISION_ID_CNX_REV_A3

#define KSZ8864_ID_REVISION_ID_CNX_REV_A3   0x50

Definition at line 637 of file ksz8864_driver.h.

◆ KSZ8864_ID_REVISION_ID_CNX_REV_A4

#define KSZ8864_ID_REVISION_ID_CNX_REV_A4   0x60

Definition at line 638 of file ksz8864_driver.h.

◆ KSZ8864_ID_REVISION_ID_RMNUB_REV_B2

#define KSZ8864_ID_REVISION_ID_RMNUB_REV_B2   0x40

Definition at line 636 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0

#define KSZ8864_INDIRECT_CTRL0   0x6E

Definition at line 139 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0_ADDR_H

#define KSZ8864_INDIRECT_CTRL0_ADDR_H   0x03

Definition at line 551 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0_READ

#define KSZ8864_INDIRECT_CTRL0_READ   0x10

Definition at line 545 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0_TABLE_SEL

#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL   0x0C

Definition at line 546 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0_TABLE_SEL_DYNAMIC_MAC

#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL_DYNAMIC_MAC   0x08

Definition at line 549 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0_TABLE_SEL_MIB_COUNTER

#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL_MIB_COUNTER   0x0C

Definition at line 550 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0_TABLE_SEL_STATIC_MAC

#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL_STATIC_MAC   0x00

Definition at line 547 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0_TABLE_SEL_VLAN

#define KSZ8864_INDIRECT_CTRL0_TABLE_SEL_VLAN   0x04

Definition at line 548 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL0_WRITE

#define KSZ8864_INDIRECT_CTRL0_WRITE   0x00

Definition at line 544 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL1

#define KSZ8864_INDIRECT_CTRL1   0x6F

Definition at line 140 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_CTRL1_ADDR_L

#define KSZ8864_INDIRECT_CTRL1_ADDR_L   0xFF

Definition at line 554 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA0

#define KSZ8864_INDIRECT_DATA0   0x78

Definition at line 149 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA1

#define KSZ8864_INDIRECT_DATA1   0x77

Definition at line 148 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA2

#define KSZ8864_INDIRECT_DATA2   0x76

Definition at line 147 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA3

#define KSZ8864_INDIRECT_DATA3   0x75

Definition at line 146 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA4

#define KSZ8864_INDIRECT_DATA4   0x74

Definition at line 145 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA5

#define KSZ8864_INDIRECT_DATA5   0x73

Definition at line 144 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA6

#define KSZ8864_INDIRECT_DATA6   0x72

Definition at line 143 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA7

#define KSZ8864_INDIRECT_DATA7   0x71

Definition at line 142 of file ksz8864_driver.h.

◆ KSZ8864_INDIRECT_DATA8

#define KSZ8864_INDIRECT_DATA8   0x70

Definition at line 141 of file ksz8864_driver.h.

◆ KSZ8864_INT_MASK

#define KSZ8864_INT_MASK   0x7D

Definition at line 151 of file ksz8864_driver.h.

◆ KSZ8864_INT_MASK_PORT1

#define KSZ8864_INT_MASK_PORT1   0x02

Definition at line 562 of file ksz8864_driver.h.

◆ KSZ8864_INT_MASK_PORT2

#define KSZ8864_INT_MASK_PORT2   0x04

Definition at line 561 of file ksz8864_driver.h.

◆ KSZ8864_INT_STAT

#define KSZ8864_INT_STAT   0x7C

Definition at line 150 of file ksz8864_driver.h.

◆ KSZ8864_INT_STAT_PORT1

#define KSZ8864_INT_STAT_PORT1   0x02

Definition at line 558 of file ksz8864_driver.h.

◆ KSZ8864_INT_STAT_PORT2

#define KSZ8864_INT_STAT_PORT2   0x04

Definition at line 557 of file ksz8864_driver.h.

◆ KSZ8864_LINKMD

#define KSZ8864_LINKMD   0x1D

Definition at line 76 of file ksz8864_driver.h.

◆ KSZ8864_LINKMD_FAULT_COUNT

#define KSZ8864_LINKMD_FAULT_COUNT   0x01FF

Definition at line 334 of file ksz8864_driver.h.

◆ KSZ8864_LINKMD_RESULT

#define KSZ8864_LINKMD_RESULT   0x6000

Definition at line 332 of file ksz8864_driver.h.

◆ KSZ8864_LINKMD_SHORT

#define KSZ8864_LINKMD_SHORT   0x1000

Definition at line 333 of file ksz8864_driver.h.

◆ KSZ8864_LINKMD_TEST_EN

#define KSZ8864_LINKMD_TEST_EN   0x8000

Definition at line 331 of file ksz8864_driver.h.

◆ KSZ8864_MAC_ADDR0

#define KSZ8864_MAC_ADDR0   0x68

Definition at line 133 of file ksz8864_driver.h.

◆ KSZ8864_MAC_ADDR1

#define KSZ8864_MAC_ADDR1   0x69

Definition at line 134 of file ksz8864_driver.h.

◆ KSZ8864_MAC_ADDR2

#define KSZ8864_MAC_ADDR2   0x6A

Definition at line 135 of file ksz8864_driver.h.

◆ KSZ8864_MAC_ADDR3

#define KSZ8864_MAC_ADDR3   0x6B

Definition at line 136 of file ksz8864_driver.h.

◆ KSZ8864_MAC_ADDR4

#define KSZ8864_MAC_ADDR4   0x6C

Definition at line 137 of file ksz8864_driver.h.

◆ KSZ8864_MAC_ADDR5

#define KSZ8864_MAC_ADDR5   0x6D

Definition at line 138 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL1

#define KSZ8864_PD_MGMT_CTRL1   0x0E

Definition at line 94 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL1_PLL_PWR_DOWN

#define KSZ8864_PD_MGMT_CTRL1_PLL_PWR_DOWN   0x20

Definition at line 435 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE

#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE   0x18

Definition at line 436 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_ENERGY_DETECT

#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_ENERGY_DETECT   0x08

Definition at line 438 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_NORMAL

#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_NORMAL   0x00

Definition at line 437 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_PWR_SAVING

#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_PWR_SAVING   0x18

Definition at line 440 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_SOFT_PWR_DOWN

#define KSZ8864_PD_MGMT_CTRL1_PWR_MGMT_MODE_SOFT_PWR_DOWN   0x10

Definition at line 439 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL2

#define KSZ8864_PD_MGMT_CTRL2   0x0F

Definition at line 95 of file ksz8864_driver.h.

◆ KSZ8864_PD_MGMT_CTRL2_GO_SLEEP_TIME

#define KSZ8864_PD_MGMT_CTRL2_GO_SLEEP_TIME   0xFF

Definition at line 443 of file ksz8864_driver.h.

◆ KSZ8864_PHYID1

#define KSZ8864_PHYID1   0x02

Definition at line 72 of file ksz8864_driver.h.

◆ KSZ8864_PHYID1_DEFAULT

#define KSZ8864_PHYID1_DEFAULT   0x0022

Definition at line 304 of file ksz8864_driver.h.

◆ KSZ8864_PHYID2

#define KSZ8864_PHYID2   0x03

Definition at line 73 of file ksz8864_driver.h.

◆ KSZ8864_PHYID2_DEFAULT

#define KSZ8864_PHYID2_DEFAULT   0x1450

Definition at line 307 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS

#define KSZ8864_PHYSCS   0x1F

Definition at line 77 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_FORCE_LINK

#define KSZ8864_PHYSCS_FORCE_LINK   0x0008

Definition at line 346 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_MDIX_STATUS

#define KSZ8864_PHYSCS_MDIX_STATUS   0x0010

Definition at line 345 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_OP_MODE

#define KSZ8864_PHYSCS_OP_MODE   0x0700

Definition at line 337 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_OP_MODE_100BTX_FD

#define KSZ8864_PHYSCS_OP_MODE_100BTX_FD   0x0600

Definition at line 342 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_OP_MODE_100BTX_HD

#define KSZ8864_PHYSCS_OP_MODE_100BTX_HD   0x0300

Definition at line 340 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_OP_MODE_10BT_FD

#define KSZ8864_PHYSCS_OP_MODE_10BT_FD   0x0500

Definition at line 341 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_OP_MODE_10BT_HD

#define KSZ8864_PHYSCS_OP_MODE_10BT_HD   0x0200

Definition at line 339 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_OP_MODE_AN

#define KSZ8864_PHYSCS_OP_MODE_AN   0x0100

Definition at line 338 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_OP_MODE_ISOLATE

#define KSZ8864_PHYSCS_OP_MODE_ISOLATE   0x0700

Definition at line 343 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_POLRVS

#define KSZ8864_PHYSCS_POLRVS   0x0020

Definition at line 344 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_PWRSAVE

#define KSZ8864_PHYSCS_PWRSAVE   0x0004

Definition at line 347 of file ksz8864_driver.h.

◆ KSZ8864_PHYSCS_REMOTE_LOOPBACK

#define KSZ8864_PHYSCS_REMOTE_LOOPBACK   0x0002

Definition at line 348 of file ksz8864_driver.h.

◆ KSZ8864_PORT1

#define KSZ8864_PORT1   1

Definition at line 38 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL0

#define KSZ8864_PORT1_CTRL0   0x20

Definition at line 96 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL1

#define KSZ8864_PORT1_CTRL1   0x21

Definition at line 97 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL10

#define KSZ8864_PORT1_CTRL10   0xC2

Definition at line 180 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL11

#define KSZ8864_PORT1_CTRL11   0xC3

Definition at line 181 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL12

#define KSZ8864_PORT1_CTRL12   0xC4

Definition at line 182 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL13

#define KSZ8864_PORT1_CTRL13   0xC5

Definition at line 183 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL2

#define KSZ8864_PORT1_CTRL2   0x22

Definition at line 98 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL3

#define KSZ8864_PORT1_CTRL3   0x23

Definition at line 99 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL4

#define KSZ8864_PORT1_CTRL4   0x24

Definition at line 100 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL5

#define KSZ8864_PORT1_CTRL5   0x2C

Definition at line 104 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL6

#define KSZ8864_PORT1_CTRL6   0x2D

Definition at line 105 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL7_STAT2

#define KSZ8864_PORT1_CTRL7_STAT2   0x2F

Definition at line 107 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL8

#define KSZ8864_PORT1_CTRL8   0xC0

Definition at line 178 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_CTRL9

#define KSZ8864_PORT1_CTRL9   0xC1

Definition at line 179 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_LINKMD

#define KSZ8864_PORT1_LINKMD   0x2B

Definition at line 103 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_MASK

#define KSZ8864_PORT1_MASK   0x01

Definition at line 45 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_PRIO0_IG_LIMIT_CTRL1

#define KSZ8864_PORT1_PRIO0_IG_LIMIT_CTRL1   0xC7

Definition at line 185 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_PRIO1_IG_LIMIT_CTRL2

#define KSZ8864_PORT1_PRIO1_IG_LIMIT_CTRL2   0xC8

Definition at line 186 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_PRIO2_IG_LIMIT_CTRL3

#define KSZ8864_PORT1_PRIO2_IG_LIMIT_CTRL3   0xC9

Definition at line 187 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_PRIO3_IG_LIMIT_CTRL4

#define KSZ8864_PORT1_PRIO3_IG_LIMIT_CTRL4   0xCA

Definition at line 188 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_PSCS

#define KSZ8864_PORT1_PSCS   0x2A

Definition at line 102 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8864_PORT1_QUEUE0_EG_LIMIT_CTRL1   0xCB

Definition at line 189 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8864_PORT1_QUEUE1_EG_LIMIT_CTRL2   0xCC

Definition at line 190 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8864_PORT1_QUEUE2_EG_LIMIT_CTRL3   0xCD

Definition at line 191 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8864_PORT1_QUEUE3_EG_LIMIT_CTRL4   0xCE

Definition at line 192 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_RATE_LIMIT_CTRL

#define KSZ8864_PORT1_RATE_LIMIT_CTRL   0xC6

Definition at line 184 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_STAT0

#define KSZ8864_PORT1_STAT0   0x29

Definition at line 101 of file ksz8864_driver.h.

◆ KSZ8864_PORT1_STAT1

#define KSZ8864_PORT1_STAT1   0x2E

Definition at line 106 of file ksz8864_driver.h.

◆ KSZ8864_PORT2

#define KSZ8864_PORT2   2

Definition at line 39 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL0

#define KSZ8864_PORT2_CTRL0   0x30

Definition at line 108 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL1

#define KSZ8864_PORT2_CTRL1   0x31

Definition at line 109 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL10

#define KSZ8864_PORT2_CTRL10   0xD2

Definition at line 196 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL11

#define KSZ8864_PORT2_CTRL11   0xD3

Definition at line 197 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL12

#define KSZ8864_PORT2_CTRL12   0xD4

Definition at line 198 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL13

#define KSZ8864_PORT2_CTRL13   0xD5

Definition at line 199 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL2

#define KSZ8864_PORT2_CTRL2   0x32

Definition at line 110 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL3

#define KSZ8864_PORT2_CTRL3   0x33

Definition at line 111 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL4

#define KSZ8864_PORT2_CTRL4   0x34

Definition at line 112 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL5

#define KSZ8864_PORT2_CTRL5   0x3C

Definition at line 116 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL6

#define KSZ8864_PORT2_CTRL6   0x3D

Definition at line 117 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL7_STAT2

#define KSZ8864_PORT2_CTRL7_STAT2   0x3F

Definition at line 119 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL8

#define KSZ8864_PORT2_CTRL8   0xD0

Definition at line 194 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_CTRL9

#define KSZ8864_PORT2_CTRL9   0xD1

Definition at line 195 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_LINKMD

#define KSZ8864_PORT2_LINKMD   0x3B

Definition at line 115 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_MASK

#define KSZ8864_PORT2_MASK   0x02

Definition at line 46 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_PRIO0_IG_LIMIT_CTRL1

#define KSZ8864_PORT2_PRIO0_IG_LIMIT_CTRL1   0xD7

Definition at line 201 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_PRIO1_IG_LIMIT_CTRL2

#define KSZ8864_PORT2_PRIO1_IG_LIMIT_CTRL2   0xD8

Definition at line 202 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_PRIO2_IG_LIMIT_CTRL3

#define KSZ8864_PORT2_PRIO2_IG_LIMIT_CTRL3   0xD9

Definition at line 203 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_PRIO3_IG_LIMIT_CTRL4

#define KSZ8864_PORT2_PRIO3_IG_LIMIT_CTRL4   0xDA

Definition at line 204 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_PSCS

#define KSZ8864_PORT2_PSCS   0x3A

Definition at line 114 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8864_PORT2_QUEUE0_EG_LIMIT_CTRL1   0xDB

Definition at line 205 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8864_PORT2_QUEUE1_EG_LIMIT_CTRL2   0xDC

Definition at line 206 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8864_PORT2_QUEUE2_EG_LIMIT_CTRL3   0xDD

Definition at line 207 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8864_PORT2_QUEUE3_EG_LIMIT_CTRL4   0xDE

Definition at line 208 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_RATE_LIMIT_CTRL

#define KSZ8864_PORT2_RATE_LIMIT_CTRL   0xD6

Definition at line 200 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_STAT0

#define KSZ8864_PORT2_STAT0   0x39

Definition at line 113 of file ksz8864_driver.h.

◆ KSZ8864_PORT2_STAT1

#define KSZ8864_PORT2_STAT1   0x3E

Definition at line 118 of file ksz8864_driver.h.

◆ KSZ8864_PORT3

#define KSZ8864_PORT3   3

Definition at line 40 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL0

#define KSZ8864_PORT3_CTRL0   0x40

Definition at line 120 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL1

#define KSZ8864_PORT3_CTRL1   0x41

Definition at line 121 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL10

#define KSZ8864_PORT3_CTRL10   0xE2

Definition at line 212 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL11

#define KSZ8864_PORT3_CTRL11   0xE3

Definition at line 213 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL12

#define KSZ8864_PORT3_CTRL12   0xE4

Definition at line 214 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL13

#define KSZ8864_PORT3_CTRL13   0xE5

Definition at line 215 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL2

#define KSZ8864_PORT3_CTRL2   0x42

Definition at line 122 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL3

#define KSZ8864_PORT3_CTRL3   0x43

Definition at line 123 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL4

#define KSZ8864_PORT3_CTRL4   0x44

Definition at line 124 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL6

#define KSZ8864_PORT3_CTRL6   0x4D

Definition at line 125 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL8

#define KSZ8864_PORT3_CTRL8   0xE0

Definition at line 210 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_CTRL9

#define KSZ8864_PORT3_CTRL9   0xE1

Definition at line 211 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_MASK

#define KSZ8864_PORT3_MASK   0x04

Definition at line 47 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_PRIO0_IG_LIMIT_CTRL1

#define KSZ8864_PORT3_PRIO0_IG_LIMIT_CTRL1   0xE7

Definition at line 217 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_PRIO1_IG_LIMIT_CTRL2

#define KSZ8864_PORT3_PRIO1_IG_LIMIT_CTRL2   0xE8

Definition at line 218 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_PRIO2_IG_LIMIT_CTRL3

#define KSZ8864_PORT3_PRIO2_IG_LIMIT_CTRL3   0xE9

Definition at line 219 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_PRIO3_IG_LIMIT_CTRL4

#define KSZ8864_PORT3_PRIO3_IG_LIMIT_CTRL4   0xEA

Definition at line 220 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8864_PORT3_QUEUE0_EG_LIMIT_CTRL1   0xEB

Definition at line 221 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8864_PORT3_QUEUE1_EG_LIMIT_CTRL2   0xEC

Definition at line 222 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8864_PORT3_QUEUE2_EG_LIMIT_CTRL3   0xED

Definition at line 223 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8864_PORT3_QUEUE3_EG_LIMIT_CTRL4   0xEE

Definition at line 224 of file ksz8864_driver.h.

◆ KSZ8864_PORT3_RATE_LIMIT_CTRL

#define KSZ8864_PORT3_RATE_LIMIT_CTRL   0xE6

Definition at line 216 of file ksz8864_driver.h.

◆ KSZ8864_PORT4

#define KSZ8864_PORT4   4

Definition at line 41 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL0

#define KSZ8864_PORT4_CTRL0   0x50

Definition at line 126 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL1

#define KSZ8864_PORT4_CTRL1   0x51

Definition at line 127 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL10

#define KSZ8864_PORT4_CTRL10   0xF2

Definition at line 228 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL11

#define KSZ8864_PORT4_CTRL11   0xF3

Definition at line 229 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL12

#define KSZ8864_PORT4_CTRL12   0xF4

Definition at line 230 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL13

#define KSZ8864_PORT4_CTRL13   0xF5

Definition at line 231 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL2

#define KSZ8864_PORT4_CTRL2   0x52

Definition at line 128 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL3

#define KSZ8864_PORT4_CTRL3   0x53

Definition at line 129 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL4

#define KSZ8864_PORT4_CTRL4   0x54

Definition at line 130 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL6

#define KSZ8864_PORT4_CTRL6   0x5D

Definition at line 132 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL8

#define KSZ8864_PORT4_CTRL8   0xF0

Definition at line 226 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_CTRL9

#define KSZ8864_PORT4_CTRL9   0xF1

Definition at line 227 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_MASK

#define KSZ8864_PORT4_MASK   0x08

Definition at line 48 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_PRIO0_IG_LIMIT_CTRL1

#define KSZ8864_PORT4_PRIO0_IG_LIMIT_CTRL1   0xF7

Definition at line 233 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_PRIO1_IG_LIMIT_CTRL2

#define KSZ8864_PORT4_PRIO1_IG_LIMIT_CTRL2   0xF8

Definition at line 234 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_PRIO2_IG_LIMIT_CTRL3

#define KSZ8864_PORT4_PRIO2_IG_LIMIT_CTRL3   0xF9

Definition at line 235 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_PRIO3_IG_LIMIT_CTRL4

#define KSZ8864_PORT4_PRIO3_IG_LIMIT_CTRL4   0xFA

Definition at line 236 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8864_PORT4_QUEUE0_EG_LIMIT_CTRL1   0xFB

Definition at line 237 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8864_PORT4_QUEUE1_EG_LIMIT_CTRL2   0xFC

Definition at line 238 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8864_PORT4_QUEUE2_EG_LIMIT_CTRL3   0xFD

Definition at line 239 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8864_PORT4_QUEUE3_EG_LIMIT_CTRL4   0xFE

Definition at line 240 of file ksz8864_driver.h.

◆ KSZ8864_PORT4_RATE_LIMIT_CTRL

#define KSZ8864_PORT4_RATE_LIMIT_CTRL   0xF6

Definition at line 232 of file ksz8864_driver.h.

◆ KSZ8864_PORT_MASK

#define KSZ8864_PORT_MASK   0x0F

Definition at line 44 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL0

#define KSZ8864_PORTn_CTRL0 (   port)    (0x10 + ((port) * 0x10))

Definition at line 244 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL0_802_1P_PRIO_CLASS_EN

#define KSZ8864_PORTn_CTRL0_802_1P_PRIO_CLASS_EN   0x20

Definition at line 448 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL0_BCAST_STORM_PROTECT_EN

#define KSZ8864_PORTn_CTRL0_BCAST_STORM_PROTECT_EN   0x80

Definition at line 446 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL0_DIFFSERV_PRIO_CLASS_EN

#define KSZ8864_PORTn_CTRL0_DIFFSERV_PRIO_CLASS_EN   0x40

Definition at line 447 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL0_PORT_PRIO_CLASS_EN

#define KSZ8864_PORTn_CTRL0_PORT_PRIO_CLASS_EN   0x18

Definition at line 449 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL0_TAG_INSERTION

#define KSZ8864_PORTn_CTRL0_TAG_INSERTION   0x04

Definition at line 450 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL0_TAG_REMOVAL

#define KSZ8864_PORTn_CTRL0_TAG_REMOVAL   0x02

Definition at line 451 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL0_TWO_QUEUE_SPLIT_EN

#define KSZ8864_PORTn_CTRL0_TWO_QUEUE_SPLIT_EN   0x01

Definition at line 452 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL1

#define KSZ8864_PORTn_CTRL1 (   port)    (0x11 + ((port) * 0x10))

Definition at line 245 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL10

#define KSZ8864_PORTn_CTRL10 (   port)    (0xB2 + ((port) * 0x10))

Definition at line 258 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL10_PORT_TX_QUEUE3_RATIO

#define KSZ8864_PORTn_CTRL10_PORT_TX_QUEUE3_RATIO   0x7F

Definition at line 646 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL10_PORT_TX_QUEUE3_RATIO_EN

#define KSZ8864_PORTn_CTRL10_PORT_TX_QUEUE3_RATIO_EN   0x80

Definition at line 645 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL11

#define KSZ8864_PORTn_CTRL11 (   port)    (0xB3 + ((port) * 0x10))

Definition at line 259 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL11_PORT_TX_QUEUE2_RATIO

#define KSZ8864_PORTn_CTRL11_PORT_TX_QUEUE2_RATIO   0x7F

Definition at line 650 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL11_PORT_TX_QUEUE2_RATIO_EN

#define KSZ8864_PORTn_CTRL11_PORT_TX_QUEUE2_RATIO_EN   0x80

Definition at line 649 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL12

#define KSZ8864_PORTn_CTRL12 (   port)    (0xB4 + ((port) * 0x10))

Definition at line 260 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL12_PORT_TX_QUEUE1_RATIO

#define KSZ8864_PORTn_CTRL12_PORT_TX_QUEUE1_RATIO   0x7F

Definition at line 654 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL12_PORT_TX_QUEUE1_RATIO_EN

#define KSZ8864_PORTn_CTRL12_PORT_TX_QUEUE1_RATIO_EN   0x80

Definition at line 653 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL13

#define KSZ8864_PORTn_CTRL13 (   port)    (0xB5 + ((port) * 0x10))

Definition at line 261 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL13_PORT_TX_QUEUE0_RATIO

#define KSZ8864_PORTn_CTRL13_PORT_TX_QUEUE0_RATIO   0x7F

Definition at line 658 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL13_PORT_TX_QUEUE0_RATIO_EN

#define KSZ8864_PORTn_CTRL13_PORT_TX_QUEUE0_RATIO_EN   0x80

Definition at line 657 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL1_PORT_VLAN_MEMBERSHIP

#define KSZ8864_PORTn_CTRL1_PORT_VLAN_MEMBERSHIP   0x1F

Definition at line 458 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL1_RECEIVE_SNIFF

#define KSZ8864_PORTn_CTRL1_RECEIVE_SNIFF   0x40

Definition at line 456 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL1_SNIFFER_PORT

#define KSZ8864_PORTn_CTRL1_SNIFFER_PORT   0x80

Definition at line 455 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL1_TRANSMIT_SNIFF

#define KSZ8864_PORTn_CTRL1_TRANSMIT_SNIFF   0x20

Definition at line 457 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2

#define KSZ8864_PORTn_CTRL2 (   port)    (0x12 + ((port) * 0x10))

Definition at line 246 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2_BACK_PRESSURE_EN

#define KSZ8864_PORTn_CTRL2_BACK_PRESSURE_EN   0x08

Definition at line 465 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2_DISCARD_NON_PVID_PKT

#define KSZ8864_PORTn_CTRL2_DISCARD_NON_PVID_PKT   0x20

Definition at line 463 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2_FORCE_FLOW_CTRL

#define KSZ8864_PORTn_CTRL2_FORCE_FLOW_CTRL   0x10

Definition at line 464 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2_INGRESS_VLAN_FILT

#define KSZ8864_PORTn_CTRL2_INGRESS_VLAN_FILT   0x40

Definition at line 462 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2_LEARNING_DIS

#define KSZ8864_PORTn_CTRL2_LEARNING_DIS   0x01

Definition at line 468 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2_RECEIVE_EN

#define KSZ8864_PORTn_CTRL2_RECEIVE_EN   0x02

Definition at line 467 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2_TRANSMIT_EN

#define KSZ8864_PORTn_CTRL2_TRANSMIT_EN   0x04

Definition at line 466 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL2_USER_PRIO_CEILING

#define KSZ8864_PORTn_CTRL2_USER_PRIO_CEILING   0x80

Definition at line 461 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL3

#define KSZ8864_PORTn_CTRL3 (   port)    (0x13 + ((port) * 0x10))

Definition at line 247 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL3_DEFAULT_CFI

#define KSZ8864_PORTn_CTRL3_DEFAULT_CFI   0x10

Definition at line 472 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL3_DEFAULT_USER_PRIO

#define KSZ8864_PORTn_CTRL3_DEFAULT_USER_PRIO   0xE0

Definition at line 471 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL3_DEFAULT_VID_MSB

#define KSZ8864_PORTn_CTRL3_DEFAULT_VID_MSB   0x0F

Definition at line 473 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL4

#define KSZ8864_PORTn_CTRL4 (   port)    (0x14 + ((port) * 0x10))

Definition at line 248 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL4_DEFAULT_VID_LSB

#define KSZ8864_PORTn_CTRL4_DEFAULT_VID_LSB   0xFF

Definition at line 476 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5

#define KSZ8864_PORTn_CTRL5 (   port)    (0x1C + ((port) * 0x10))

Definition at line 252 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5_ADV_100BT_FD

#define KSZ8864_PORTn_CTRL5_ADV_100BT_FD   0x08

Definition at line 507 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5_ADV_100BT_HD

#define KSZ8864_PORTn_CTRL5_ADV_100BT_HD   0x04

Definition at line 508 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5_ADV_10BT_FD

#define KSZ8864_PORTn_CTRL5_ADV_10BT_FD   0x02

Definition at line 509 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5_ADV_10BT_HD

#define KSZ8864_PORTn_CTRL5_ADV_10BT_HD   0x01

Definition at line 510 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5_ADV_FLOW_CTRL

#define KSZ8864_PORTn_CTRL5_ADV_FLOW_CTRL   0x10

Definition at line 506 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5_AN_DIS

#define KSZ8864_PORTn_CTRL5_AN_DIS   0x80

Definition at line 503 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5_FORCED_DUPLEX

#define KSZ8864_PORTn_CTRL5_FORCED_DUPLEX   0x20

Definition at line 505 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL5_FORCED_SPEED

#define KSZ8864_PORTn_CTRL5_FORCED_SPEED   0x40

Definition at line 504 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL6

#define KSZ8864_PORTn_CTRL6 (   port)    (0x1D + ((port) * 0x10))

Definition at line 253 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL6_AUTO_MDIX_DIS

#define KSZ8864_PORTn_CTRL6_AUTO_MDIX_DIS   0x04

Definition at line 517 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL6_FORCED_MDI

#define KSZ8864_PORTn_CTRL6_FORCED_MDI   0x02

Definition at line 518 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL6_LED_OFF

#define KSZ8864_PORTn_CTRL6_LED_OFF   0x80

Definition at line 513 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL6_MAC_LOOPBACK

#define KSZ8864_PORTn_CTRL6_MAC_LOOPBACK   0x01

Definition at line 519 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL6_POWER_DOWN

#define KSZ8864_PORTn_CTRL6_POWER_DOWN   0x08

Definition at line 516 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL6_RESTART_AN

#define KSZ8864_PORTn_CTRL6_RESTART_AN   0x20

Definition at line 515 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL6_TX_DIS

#define KSZ8864_PORTn_CTRL6_TX_DIS   0x40

Definition at line 514 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2

#define KSZ8864_PORTn_CTRL7_STAT2 (   port)    (0x1F + ((port) * 0x10))

Definition at line 255 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_FORCE_LINK

#define KSZ8864_PORTn_CTRL7_STAT2_FORCE_LINK   0x08

Definition at line 535 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_OP_MODE

#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE   0x07

Definition at line 536 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_100BTX_FD

#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_100BTX_FD   0x06

Definition at line 541 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_100BTX_HD

#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_100BTX_HD   0x03

Definition at line 539 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_10BT_FD

#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_10BT_FD   0x05

Definition at line 540 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_10BT_HD

#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_10BT_HD   0x02

Definition at line 538 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_AN

#define KSZ8864_PORTn_CTRL7_STAT2_OP_MODE_AN   0x01

Definition at line 537 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_PHY_ISOLATE

#define KSZ8864_PORTn_CTRL7_STAT2_PHY_ISOLATE   0x20

Definition at line 533 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_PHY_LOOPBACK

#define KSZ8864_PORTn_CTRL7_STAT2_PHY_LOOPBACK   0x80

Definition at line 532 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL7_STAT2_SOFT_RESET

#define KSZ8864_PORTn_CTRL7_STAT2_SOFT_RESET   0x10

Definition at line 534 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL8

#define KSZ8864_PORTn_CTRL8 (   port)    (0xB0 + ((port) * 0x10))

Definition at line 256 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL9

#define KSZ8864_PORTn_CTRL9 (   port)    (0xB1 + ((port) * 0x10))

Definition at line 257 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL9_DROPPING_TAG_EN

#define KSZ8864_PORTn_CTRL9_DROPPING_TAG_EN   0x01

Definition at line 642 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_CTRL9_FOUR_QUEUE_SPLIT_EN

#define KSZ8864_PORTn_CTRL9_FOUR_QUEUE_SPLIT_EN   0x02

Definition at line 641 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_LINKMD

#define KSZ8864_PORTn_LINKMD (   port)    (0x1B + ((port) * 0x10))

Definition at line 251 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_LINKMD_VCT_FAULT_COUNT_LSB

#define KSZ8864_PORTn_LINKMD_VCT_FAULT_COUNT_LSB   0xFF

Definition at line 500 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PRIO0_IG_LIMIT_CTRL1

#define KSZ8864_PORTn_PRIO0_IG_LIMIT_CTRL1 (   port)    (0xB7 + ((port) * 0x10))

Definition at line 263 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PRIO1_IG_LIMIT_CTRL2

#define KSZ8864_PORTn_PRIO1_IG_LIMIT_CTRL2 (   port)    (0xB8 + ((port) * 0x10))

Definition at line 264 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PRIO2_IG_LIMIT_CTRL3

#define KSZ8864_PORTn_PRIO2_IG_LIMIT_CTRL3 (   port)    (0xB9 + ((port) * 0x10))

Definition at line 265 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PRIO3_IG_LIMIT_CTRL4

#define KSZ8864_PORTn_PRIO3_IG_LIMIT_CTRL4 (   port)    (0xBA + ((port) * 0x10))

Definition at line 266 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PSCS

#define KSZ8864_PORTn_PSCS (   port)    (0x1A + ((port) * 0x10))

Definition at line 250 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PSCS_FORCE_LNK

#define KSZ8864_PORTn_PSCS_FORCE_LNK   0x08

Definition at line 494 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PSCS_PWRSAVE

#define KSZ8864_PORTn_PSCS_PWRSAVE   0x04

Definition at line 495 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PSCS_REMOTE_LOOPBACK

#define KSZ8864_PORTn_PSCS_REMOTE_LOOPBACK   0x02

Definition at line 496 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PSCS_VCT_10M_SHORT

#define KSZ8864_PORTn_PSCS_VCT_10M_SHORT   0x80

Definition at line 491 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PSCS_VCT_EN

#define KSZ8864_PORTn_PSCS_VCT_EN   0x10

Definition at line 493 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PSCS_VCT_FAULT_COUNT_MSB

#define KSZ8864_PORTn_PSCS_VCT_FAULT_COUNT_MSB   0x01

Definition at line 497 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_PSCS_VCT_RESULT

#define KSZ8864_PORTn_PSCS_VCT_RESULT   0x60

Definition at line 492 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_QUEUE0_EG_LIMIT_CTRL1

#define KSZ8864_PORTn_QUEUE0_EG_LIMIT_CTRL1 (   port)    (0xBB + ((port) * 0x10))

Definition at line 267 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_QUEUE1_EG_LIMIT_CTRL2

#define KSZ8864_PORTn_QUEUE1_EG_LIMIT_CTRL2 (   port)    (0xBC + ((port) * 0x10))

Definition at line 268 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_QUEUE2_EG_LIMIT_CTRL3

#define KSZ8864_PORTn_QUEUE2_EG_LIMIT_CTRL3 (   port)    (0xBD + ((port) * 0x10))

Definition at line 269 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_QUEUE3_EG_LIMIT_CTRL4

#define KSZ8864_PORTn_QUEUE3_EG_LIMIT_CTRL4 (   port)    (0xBE + ((port) * 0x10))

Definition at line 270 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_RATE_LIMIT_CTRL

#define KSZ8864_PORTn_RATE_LIMIT_CTRL (   port)    (0xB6 + ((port) * 0x10))

Definition at line 262 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_RATE_LIMIT_CTRL_COUNT_IFG

#define KSZ8864_PORTn_RATE_LIMIT_CTRL_COUNT_IFG   0x02

Definition at line 663 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_RATE_LIMIT_CTRL_COUNT_PRE

#define KSZ8864_PORTn_RATE_LIMIT_CTRL_COUNT_PRE   0x01

Definition at line 664 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_RATE_LIMIT_CTRL_LIMIT_EN

#define KSZ8864_PORTn_RATE_LIMIT_CTRL_LIMIT_EN   0x10

Definition at line 661 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_RATE_LIMIT_CTRL_LIMIT_MODE

#define KSZ8864_PORTn_RATE_LIMIT_CTRL_LIMIT_MODE   0x0C

Definition at line 662 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT0

#define KSZ8864_PORTn_STAT0 (   port)    (0x19 + ((port) * 0x10))

Definition at line 249 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT0_HP_MDIX

#define KSZ8864_PORTn_STAT0_HP_MDIX   0x80

Definition at line 483 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT0_OP_DUPLEX

#define KSZ8864_PORTn_STAT0_OP_DUPLEX   0x02

Definition at line 488 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT0_OP_SPEED

#define KSZ8864_PORTn_STAT0_OP_SPEED   0x04

Definition at line 487 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT0_POLRVS

#define KSZ8864_PORTn_STAT0_POLRVS   0x20

Definition at line 484 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT0_RX_FLOW_CTRL_EN

#define KSZ8864_PORTn_STAT0_RX_FLOW_CTRL_EN   0x08

Definition at line 486 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT0_TX_FLOW_CTRL_EN

#define KSZ8864_PORTn_STAT0_TX_FLOW_CTRL_EN   0x10

Definition at line 485 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1

#define KSZ8864_PORTn_STAT1 (   port)    (0x1E + ((port) * 0x10))

Definition at line 254 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1_AN_DONE

#define KSZ8864_PORTn_STAT1_AN_DONE   0x40

Definition at line 523 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1_LINK_GOOD

#define KSZ8864_PORTn_STAT1_LINK_GOOD   0x20

Definition at line 524 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1_LP_100BTX_FD_CAPABLE

#define KSZ8864_PORTn_STAT1_LP_100BTX_FD_CAPABLE   0x08

Definition at line 526 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1_LP_100BTX_HF_CAPABLE

#define KSZ8864_PORTn_STAT1_LP_100BTX_HF_CAPABLE   0x04

Definition at line 527 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1_LP_10BT_FD_CAPABLE

#define KSZ8864_PORTn_STAT1_LP_10BT_FD_CAPABLE   0x02

Definition at line 528 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1_LP_10BT_HD_CAPABLE

#define KSZ8864_PORTn_STAT1_LP_10BT_HD_CAPABLE   0x01

Definition at line 529 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1_LP_FLOW_CTRL_CAPABLE

#define KSZ8864_PORTn_STAT1_LP_FLOW_CTRL_CAPABLE   0x10

Definition at line 525 of file ksz8864_driver.h.

◆ KSZ8864_PORTn_STAT1_MDIX_STATUS

#define KSZ8864_PORTn_STAT1_MDIX_STATUS   0x80

Definition at line 522 of file ksz8864_driver.h.

◆ KSZ8864_RMII_MGMT_CTRL

#define KSZ8864_RMII_MGMT_CTRL   0x57

Definition at line 131 of file ksz8864_driver.h.

◆ KSZ8864_RMII_MGMT_CTRL_SW3_CLK_OUT_DIS

#define KSZ8864_RMII_MGMT_CTRL_SW3_CLK_OUT_DIS   0x04

Definition at line 480 of file ksz8864_driver.h.

◆ KSZ8864_RMII_MGMT_CTRL_SW4_CLK_OUT_DIS

#define KSZ8864_RMII_MGMT_CTRL_SW4_CLK_OUT_DIS   0x08

Definition at line 479 of file ksz8864_driver.h.

◆ KSZ8864_SPI_CMD_READ

#define KSZ8864_SPI_CMD_READ   0x03

Definition at line 52 of file ksz8864_driver.h.

◆ KSZ8864_SPI_CMD_WRITE

#define KSZ8864_SPI_CMD_WRITE   0x02

Definition at line 51 of file ksz8864_driver.h.

◆ KSZ8864_STATIC_MAC_TABLE_SIZE

#define KSZ8864_STATIC_MAC_TABLE_SIZE   32

Definition at line 55 of file ksz8864_driver.h.

◆ KSZ8864_TAIL_TAG_DEST_PORT1

#define KSZ8864_TAIL_TAG_DEST_PORT1   0x02

Definition at line 64 of file ksz8864_driver.h.

◆ KSZ8864_TAIL_TAG_DEST_PORT2

#define KSZ8864_TAIL_TAG_DEST_PORT2   0x04

Definition at line 63 of file ksz8864_driver.h.

◆ KSZ8864_TAIL_TAG_DEST_PORT3

#define KSZ8864_TAIL_TAG_DEST_PORT3   0x08

Definition at line 62 of file ksz8864_driver.h.

◆ KSZ8864_TAIL_TAG_DEST_QUEUE

#define KSZ8864_TAIL_TAG_DEST_QUEUE   0x30

Definition at line 61 of file ksz8864_driver.h.

◆ KSZ8864_TAIL_TAG_NORMAL_ADDR_LOOKUP

#define KSZ8864_TAIL_TAG_NORMAL_ADDR_LOOKUP   0x80

Definition at line 59 of file ksz8864_driver.h.

◆ KSZ8864_TAIL_TAG_PORT_SEL

#define KSZ8864_TAIL_TAG_PORT_SEL   0x40

Definition at line 60 of file ksz8864_driver.h.

◆ KSZ8864_TAIL_TAG_SRC_PORT

#define KSZ8864_TAIL_TAG_SRC_PORT   0x03

Definition at line 67 of file ksz8864_driver.h.

◆ KSZ8864_TEST

#define KSZ8864_TEST   0xBF

Definition at line 177 of file ksz8864_driver.h.

◆ KSZ8864_TEST3

#define KSZ8864_TEST3   0xEF

Definition at line 225 of file ksz8864_driver.h.

◆ KSZ8864_TEST4

#define KSZ8864_TEST4   0xFF

Definition at line 241 of file ksz8864_driver.h.

◆ KSZ8864_TEST4_SW4_RMII_INV_SMRXC

#define KSZ8864_TEST4_SW4_RMII_INV_SMRXC   0x10

Definition at line 680 of file ksz8864_driver.h.

◆ KSZ8864_TEST4_SW4_RMII_INV_SMTXC

#define KSZ8864_TEST4_SW4_RMII_INV_SMTXC   0x40

Definition at line 679 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL1

#define KSZ8864_TEST_PORT3_CTRL1   0xCF

Definition at line 193 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL1_SW3_FLOW_CONTROL_EN

#define KSZ8864_TEST_PORT3_CTRL1_SW3_FLOW_CONTROL_EN   0x40

Definition at line 668 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL1_SW3_HALF_DUPLEX_MODE

#define KSZ8864_TEST_PORT3_CTRL1_SW3_HALF_DUPLEX_MODE   0x80

Definition at line 667 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED

#define KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED   0x20

Definition at line 669 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED_10

#define KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED_10   0x20

Definition at line 671 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED_100

#define KSZ8864_TEST_PORT3_CTRL1_SW3_SPEED_100   0x00

Definition at line 670 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL2

#define KSZ8864_TEST_PORT3_CTRL2   0xDF

Definition at line 209 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE

#define KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE   0x40

Definition at line 674 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE_MAC

#define KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE_MAC   0x40

Definition at line 676 of file ksz8864_driver.h.

◆ KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE_PHY

#define KSZ8864_TEST_PORT3_CTRL2_SW3_MII_IF_MODE_PHY   0x00

Definition at line 675 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL0

#define KSZ8864_TOS_PRIO_CTRL0   0x90

Definition at line 161 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL1

#define KSZ8864_TOS_PRIO_CTRL1   0x91

Definition at line 162 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL10

#define KSZ8864_TOS_PRIO_CTRL10   0x9A

Definition at line 171 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL11

#define KSZ8864_TOS_PRIO_CTRL11   0x9B

Definition at line 172 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL12

#define KSZ8864_TOS_PRIO_CTRL12   0x9C

Definition at line 173 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL13

#define KSZ8864_TOS_PRIO_CTRL13   0x9D

Definition at line 174 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL14

#define KSZ8864_TOS_PRIO_CTRL14   0x9E

Definition at line 175 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL15

#define KSZ8864_TOS_PRIO_CTRL15   0x9F

Definition at line 176 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL2

#define KSZ8864_TOS_PRIO_CTRL2   0x92

Definition at line 163 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL3

#define KSZ8864_TOS_PRIO_CTRL3   0x93

Definition at line 164 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL4

#define KSZ8864_TOS_PRIO_CTRL4   0x94

Definition at line 165 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL5

#define KSZ8864_TOS_PRIO_CTRL5   0x95

Definition at line 166 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL6

#define KSZ8864_TOS_PRIO_CTRL6   0x96

Definition at line 167 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL7

#define KSZ8864_TOS_PRIO_CTRL7   0x97

Definition at line 168 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL8

#define KSZ8864_TOS_PRIO_CTRL8   0x98

Definition at line 169 of file ksz8864_driver.h.

◆ KSZ8864_TOS_PRIO_CTRL9

#define KSZ8864_TOS_PRIO_CTRL9   0x99

Definition at line 170 of file ksz8864_driver.h.

Function Documentation

◆ ksz8864AddStaticFdbEntry()

error_t ksz8864AddStaticFdbEntry ( 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 888 of file ksz8864_driver.c.

◆ ksz8864DeleteStaticFdbEntry()

error_t ksz8864DeleteStaticFdbEntry ( 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 991 of file ksz8864_driver.c.

◆ ksz8864DisableIrq()

void ksz8864DisableIrq ( NetInterface interface)

Disable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 283 of file ksz8864_driver.c.

◆ ksz8864DumpPhyReg()

void ksz8864DumpPhyReg ( NetInterface interface,
uint8_t  port 
)

Dump PHY registers for debugging purpose.

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

Definition at line 1387 of file ksz8864_driver.c.

◆ ksz8864DumpSwitchReg()

void ksz8864DumpSwitchReg ( NetInterface interface)

Dump switch registers for debugging purpose.

Parameters
[in]interfaceUnderlying network interface

Definition at line 1522 of file ksz8864_driver.c.

◆ ksz8864EnableIgmpSnooping()

void ksz8864EnableIgmpSnooping ( NetInterface interface,
bool_t  enable 
)

Enable IGMP snooping.

Parameters
[in]interfaceUnderlying network interface
[in]enableEnable or disable IGMP snooping

Definition at line 806 of file ksz8864_driver.c.

◆ ksz8864EnableIrq()

void ksz8864EnableIrq ( NetInterface interface)

Enable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 273 of file ksz8864_driver.c.

◆ ksz8864EnableMldSnooping()

void ksz8864EnableMldSnooping ( NetInterface interface,
bool_t  enable 
)

Enable MLD snooping.

Parameters
[in]interfaceUnderlying network interface
[in]enableEnable or disable MLD snooping

Definition at line 834 of file ksz8864_driver.c.

◆ ksz8864EnableRsvdMcastTable()

void ksz8864EnableRsvdMcastTable ( NetInterface interface,
bool_t  enable 
)

Enable reserved multicast table.

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

Definition at line 846 of file ksz8864_driver.c.

◆ ksz8864EventHandler()

void ksz8864EventHandler ( NetInterface interface)

KSZ8864 event handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 293 of file ksz8864_driver.c.

◆ ksz8864FlushDynamicFdbTable()

void ksz8864FlushDynamicFdbTable ( NetInterface interface,
uint8_t  port 
)

Flush dynamic MAC table.

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

Definition at line 1246 of file ksz8864_driver.c.

◆ ksz8864FlushStaticFdbTable()

void ksz8864FlushStaticFdbTable ( NetInterface interface)

Flush static MAC table.

Parameters
[in]interfaceUnderlying network interface

Definition at line 1122 of file ksz8864_driver.c.

◆ ksz8864GetDuplexMode()

NicDuplexMode ksz8864GetDuplexMode ( NetInterface interface,
uint8_t  port 
)

Get duplex mode.

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

Definition at line 616 of file ksz8864_driver.c.

◆ ksz8864GetDynamicFdbEntry()

error_t ksz8864GetDynamicFdbEntry ( 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 1162 of file ksz8864_driver.c.

◆ ksz8864GetLinkSpeed()

uint32_t ksz8864GetLinkSpeed ( NetInterface interface,
uint8_t  port 
)

Get link speed.

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

Definition at line 557 of file ksz8864_driver.c.

◆ ksz8864GetLinkState()

bool_t ksz8864GetLinkState ( NetInterface interface,
uint8_t  port 
)

Get link state.

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

Definition at line 520 of file ksz8864_driver.c.

◆ ksz8864GetPortState()

SwitchPortState ksz8864GetPortState ( NetInterface interface,
uint8_t  port 
)

Get port state.

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

Definition at line 731 of file ksz8864_driver.c.

◆ ksz8864GetStaticFdbEntry()

error_t ksz8864GetStaticFdbEntry ( 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 1060 of file ksz8864_driver.c.

◆ ksz8864Init()

error_t ksz8864Init ( NetInterface interface)

KSZ8864 Ethernet switch initialization.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 92 of file ksz8864_driver.c.

◆ ksz8864InitHook()

void ksz8864InitHook ( NetInterface interface)

KSZ8864 custom configuration.

Parameters
[in]interfaceUnderlying network interface

Definition at line 193 of file ksz8864_driver.c.

◆ ksz8864ReadPhyReg()

uint16_t ksz8864ReadPhyReg ( 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 1361 of file ksz8864_driver.c.

◆ ksz8864ReadSwitchReg()

uint8_t ksz8864ReadSwitchReg ( NetInterface interface,
uint8_t  address 
)

Read switch register.

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

Definition at line 1466 of file ksz8864_driver.c.

◆ ksz8864SetAgingTime()

void ksz8864SetAgingTime ( 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 794 of file ksz8864_driver.c.

◆ ksz8864SetPortState()

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

Set port state.

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

Definition at line 675 of file ksz8864_driver.c.

◆ ksz8864SetUnknownMcastFwdPorts()

void ksz8864SetUnknownMcastFwdPorts ( NetInterface interface,
bool_t  enable,
uint32_t  forwardPorts 
)

Set forward ports for unknown multicast packets.

Parameters
[in]interfaceUnderlying network interface
[in]enableEnable or disable forwarding of unknown multicast packets
[in]forwardPortsPort map

Definition at line 1293 of file ksz8864_driver.c.

◆ ksz8864TagFrame()

error_t ksz8864TagFrame ( 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 422 of file ksz8864_driver.c.

◆ ksz8864Tick()

void ksz8864Tick ( NetInterface interface)

KSZ8864 timer handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 203 of file ksz8864_driver.c.

◆ ksz8864UntagFrame()

error_t ksz8864UntagFrame ( 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 477 of file ksz8864_driver.c.

◆ ksz8864WritePhyReg()

void ksz8864WritePhyReg ( 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 1338 of file ksz8864_driver.c.

◆ ksz8864WriteSwitchReg()

void ksz8864WriteSwitchReg ( 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 1411 of file ksz8864_driver.c.

Variable Documentation

◆ ksz8864SwitchDriver

const SwitchDriver ksz8864SwitchDriver
extern

KSZ8864 Ethernet switch driver.

Definition at line 45 of file ksz8864_driver.c.