xref: /linux/drivers/net/dsa/mxl862xx/mxl862xx-cmd.h (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #ifndef __MXL862XX_CMD_H
4 #define __MXL862XX_CMD_H
5 
6 #define MXL862XX_MMD_DEV		30
7 #define MXL862XX_MMD_REG_CTRL		0
8 #define MXL862XX_MMD_REG_LEN_RET	1
9 #define MXL862XX_MMD_REG_DATA_FIRST	2
10 #define MXL862XX_MMD_REG_DATA_LAST	95
11 #define MXL862XX_MMD_REG_DATA_MAX_SIZE \
12 	(MXL862XX_MMD_REG_DATA_LAST - MXL862XX_MMD_REG_DATA_FIRST + 1)
13 
14 #define MXL862XX_COMMON_MAGIC		0x100
15 #define MXL862XX_BRDG_MAGIC		0x300
16 #define MXL862XX_BRDGPORT_MAGIC		0x400
17 #define MXL862XX_CTP_MAGIC		0x500
18 #define MXL862XX_SWMAC_MAGIC		0xa00
19 #define MXL862XX_SS_MAGIC		0x1600
20 #define GPY_GPY2XX_MAGIC		0x1800
21 #define SYS_MISC_MAGIC			0x1900
22 
23 #define MXL862XX_COMMON_CFGGET		(MXL862XX_COMMON_MAGIC + 0x9)
24 #define MXL862XX_COMMON_REGISTERMOD	(MXL862XX_COMMON_MAGIC + 0x11)
25 
26 #define MXL862XX_BRIDGE_ALLOC		(MXL862XX_BRDG_MAGIC + 0x1)
27 #define MXL862XX_BRIDGE_CONFIGSET	(MXL862XX_BRDG_MAGIC + 0x2)
28 #define MXL862XX_BRIDGE_CONFIGGET	(MXL862XX_BRDG_MAGIC + 0x3)
29 #define MXL862XX_BRIDGE_FREE		(MXL862XX_BRDG_MAGIC + 0x4)
30 
31 #define MXL862XX_BRIDGEPORT_ALLOC	(MXL862XX_BRDGPORT_MAGIC + 0x1)
32 #define MXL862XX_BRIDGEPORT_CONFIGSET	(MXL862XX_BRDGPORT_MAGIC + 0x2)
33 #define MXL862XX_BRIDGEPORT_CONFIGGET	(MXL862XX_BRDGPORT_MAGIC + 0x3)
34 #define MXL862XX_BRIDGEPORT_FREE	(MXL862XX_BRDGPORT_MAGIC + 0x4)
35 
36 #define MXL862XX_CTP_PORTASSIGNMENTSET	(MXL862XX_CTP_MAGIC + 0x3)
37 
38 #define MXL862XX_MAC_TABLECLEARCOND	(MXL862XX_SWMAC_MAGIC + 0x8)
39 
40 #define MXL862XX_SS_SPTAG_SET		(MXL862XX_SS_MAGIC + 0x02)
41 
42 #define INT_GPHY_READ			(GPY_GPY2XX_MAGIC + 0x01)
43 #define INT_GPHY_WRITE			(GPY_GPY2XX_MAGIC + 0x02)
44 
45 #define SYS_MISC_FW_VERSION		(SYS_MISC_MAGIC + 0x02)
46 
47 #define MMD_API_MAXIMUM_ID		0x7fff
48 
49 #endif /* __MXL862XX_CMD_H */
50