/* SPDX-License-Identifier: GPL-2.0 */ /* Copyright (c) 2015 - 2022 Beijing WangXun Technology Co., Ltd. */ #ifndef _TXGBE_TYPE_H_ #define _TXGBE_TYPE_H_ /* Device IDs */ #define TXGBE_DEV_ID_SP1000 0x1001 #define TXGBE_DEV_ID_WX1820 0x2001 /* Subsystem IDs */ /* SFP */ #define TXGBE_ID_SP1000_SFP 0x0000 #define TXGBE_ID_WX1820_SFP 0x2000 #define TXGBE_ID_SFP 0x00 /* copper */ #define TXGBE_ID_SP1000_XAUI 0x1010 #define TXGBE_ID_WX1820_XAUI 0x2010 #define TXGBE_ID_XAUI 0x10 #define TXGBE_ID_SP1000_SGMII 0x1020 #define TXGBE_ID_WX1820_SGMII 0x2020 #define TXGBE_ID_SGMII 0x20 /* backplane */ #define TXGBE_ID_SP1000_KR_KX_KX4 0x1030 #define TXGBE_ID_WX1820_KR_KX_KX4 0x2030 #define TXGBE_ID_KR_KX_KX4 0x30 /* MAC Interface */ #define TXGBE_ID_SP1000_MAC_XAUI 0x1040 #define TXGBE_ID_WX1820_MAC_XAUI 0x2040 #define TXGBE_ID_MAC_XAUI 0x40 #define TXGBE_ID_SP1000_MAC_SGMII 0x1060 #define TXGBE_ID_WX1820_MAC_SGMII 0x2060 #define TXGBE_ID_MAC_SGMII 0x60 /* Combined interface*/ #define TXGBE_ID_SFI_XAUI 0x50 /* Revision ID */ #define TXGBE_SP_MPW 1 /**************** SP Registers ****************************/ /* chip control Registers */ #define TXGBE_MIS_PRB_CTL 0x10010 #define TXGBE_MIS_PRB_CTL_LAN_UP(_i) BIT(1 - (_i)) /* FMGR Registers */ #define TXGBE_SPI_ILDR_STATUS 0x10120 #define TXGBE_SPI_ILDR_STATUS_PERST BIT(0) /* PCIE_PERST is done */ #define TXGBE_SPI_ILDR_STATUS_PWRRST BIT(1) /* Power on reset is done */ #define TXGBE_SPI_ILDR_STATUS_LAN_SW_RST(_i) BIT((_i) + 9) /* lan soft reset done */ /* Sensors for PVT(Process Voltage Temperature) */ #define TXGBE_TS_CTL 0x10300 #define TXGBE_TS_CTL_EVAL_MD BIT(31) /* Part Number String Length */ #define TXGBE_PBANUM_LENGTH 32 /* Checksum and EEPROM pointers */ #define TXGBE_EEPROM_LAST_WORD 0x800 #define TXGBE_EEPROM_CHECKSUM 0x2F #define TXGBE_EEPROM_SUM 0xBABA #define TXGBE_EEPROM_VERSION_L 0x1D #define TXGBE_EEPROM_VERSION_H 0x1E #define TXGBE_ISCSI_BOOT_CONFIG 0x07 #define TXGBE_PBANUM0_PTR 0x05 #define TXGBE_PBANUM1_PTR 0x06 #define TXGBE_PBANUM_PTR_GUARD 0xFAFA struct txgbe_hw { struct wx_hw wxhw; }; #endif /* _TXGBE_TYPE_H_ */