xref: /linux/drivers/net/ethernet/microchip/sparx5/sparx5_regs.h (revision c771600c6af14749609b49565ffb4cac2959710d)
15ba3f846SDaniel Machon /* SPDX-License-Identifier: GPL-2.0+ */
25ba3f846SDaniel Machon /* Microchip Sparx5 Switch driver
35ba3f846SDaniel Machon  *
45ba3f846SDaniel Machon  * Copyright (c) 2024 Microchip Technology Inc.
55ba3f846SDaniel Machon  */
65ba3f846SDaniel Machon 
7*69b61425SDaniel Machon /* This file is autogenerated by cml-utils 2024-09-30 11:48:29 +0200.
85ba3f846SDaniel Machon  * Commit ID: 9d07b8d19363f3cd3590ddb3f7a2e2768e16524b
95ba3f846SDaniel Machon  */
105ba3f846SDaniel Machon 
115ba3f846SDaniel Machon #ifndef _SPARX5_REGS_H_
125ba3f846SDaniel Machon #define _SPARX5_REGS_H_
135ba3f846SDaniel Machon 
145ba3f846SDaniel Machon /* These enumerated values are used to index the platform specific structs
155ba3f846SDaniel Machon  * containing the addresses, counts, size and positions, of register groups,
165ba3f846SDaniel Machon  * registers and fields.
175ba3f846SDaniel Machon  */
185ba3f846SDaniel Machon 
195ba3f846SDaniel Machon enum sparx5_tsize_enum {
205ba3f846SDaniel Machon 	TC_DEV10G,
215ba3f846SDaniel Machon 	TC_DEV2G5,
225ba3f846SDaniel Machon 	TC_DEV5G,
235ba3f846SDaniel Machon 	TC_PCS10G_BR,
245ba3f846SDaniel Machon 	TC_PCS5G_BR,
255ba3f846SDaniel Machon 	TSIZE_LAST,
265ba3f846SDaniel Machon };
275ba3f846SDaniel Machon 
285ba3f846SDaniel Machon enum sparx5_raddr_enum {
295ba3f846SDaniel Machon 	RA_CPU_PROC_CTRL,
305ba3f846SDaniel Machon 	RA_GCB_SOFT_RST,
315ba3f846SDaniel Machon 	RA_GCB_HW_SGPIO_TO_SD_MAP_CFG,
325ba3f846SDaniel Machon 	RADDR_LAST,
335ba3f846SDaniel Machon };
345ba3f846SDaniel Machon 
355ba3f846SDaniel Machon enum sparx5_rcnt_enum {
365ba3f846SDaniel Machon 	RC_ANA_AC_OWN_UPSID,
375ba3f846SDaniel Machon 	RC_ANA_ACL_VCAP_S2_CFG,
385ba3f846SDaniel Machon 	RC_ANA_ACL_OWN_UPSID,
395ba3f846SDaniel Machon 	RC_ANA_CL_OWN_UPSID,
405ba3f846SDaniel Machon 	RC_ANA_L2_OWN_UPSID,
415ba3f846SDaniel Machon 	RC_ASM_PORT_CFG,
425ba3f846SDaniel Machon 	RC_DSM_BUF_CFG,
435ba3f846SDaniel Machon 	RC_DSM_DEV_TX_STOP_WM_CFG,
445ba3f846SDaniel Machon 	RC_DSM_RX_PAUSE_CFG,
455ba3f846SDaniel Machon 	RC_DSM_MAC_CFG,
465ba3f846SDaniel Machon 	RC_DSM_MAC_ADDR_BASE_HIGH_CFG,
475ba3f846SDaniel Machon 	RC_DSM_MAC_ADDR_BASE_LOW_CFG,
485ba3f846SDaniel Machon 	RC_DSM_TAXI_CAL_CFG,
495ba3f846SDaniel Machon 	RC_GCB_HW_SGPIO_TO_SD_MAP_CFG,
505ba3f846SDaniel Machon 	RC_HSCH_PORT_MODE,
515ba3f846SDaniel Machon 	RC_QFWD_SWITCH_PORT_MODE,
525ba3f846SDaniel Machon 	RC_QSYS_PAUSE_CFG,
535ba3f846SDaniel Machon 	RC_QSYS_ATOP,
545ba3f846SDaniel Machon 	RC_QSYS_FWD_PRESSURE,
555ba3f846SDaniel Machon 	RC_QSYS_CAL_AUTO,
565ba3f846SDaniel Machon 	RC_REW_OWN_UPSID,
575ba3f846SDaniel Machon 	RC_REW_RTAG_ETAG_CTRL,
585ba3f846SDaniel Machon 	RCNT_LAST,
595ba3f846SDaniel Machon };
605ba3f846SDaniel Machon 
615ba3f846SDaniel Machon enum sparx5_gaddr_enum {
625ba3f846SDaniel Machon 	GA_ANA_AC_RAM_CTRL,
635ba3f846SDaniel Machon 	GA_ANA_AC_PS_COMMON,
645ba3f846SDaniel Machon 	GA_ANA_AC_MIRROR_PROBE,
655ba3f846SDaniel Machon 	GA_ANA_AC_SRC,
665ba3f846SDaniel Machon 	GA_ANA_AC_PGID,
675ba3f846SDaniel Machon 	GA_ANA_AC_TSN_SF,
685ba3f846SDaniel Machon 	GA_ANA_AC_TSN_SF_CFG,
695ba3f846SDaniel Machon 	GA_ANA_AC_TSN_SF_STATUS,
705ba3f846SDaniel Machon 	GA_ANA_AC_SG_ACCESS,
715ba3f846SDaniel Machon 	GA_ANA_AC_SG_CONFIG,
725ba3f846SDaniel Machon 	GA_ANA_AC_SG_STATUS,
735ba3f846SDaniel Machon 	GA_ANA_AC_SG_STATUS_STICKY,
745ba3f846SDaniel Machon 	GA_ANA_AC_STAT_GLOBAL_CFG_PORT,
755ba3f846SDaniel Machon 	GA_ANA_AC_STAT_CNT_CFG_PORT,
765ba3f846SDaniel Machon 	GA_ANA_AC_STAT_GLOBAL_CFG_ACL,
775ba3f846SDaniel Machon 	GA_ANA_ACL_COMMON,
785ba3f846SDaniel Machon 	GA_ANA_ACL_KEY_SEL,
795ba3f846SDaniel Machon 	GA_ANA_ACL_CNT_B,
805ba3f846SDaniel Machon 	GA_ANA_ACL_STICKY,
815ba3f846SDaniel Machon 	GA_ANA_AC_POL_POL_ALL_CFG,
825ba3f846SDaniel Machon 	GA_ANA_AC_POL_COMMON_BDLB,
835ba3f846SDaniel Machon 	GA_ANA_AC_POL_COMMON_BUM_SLB,
845ba3f846SDaniel Machon 	GA_ANA_AC_SDLB_LBGRP_TBL,
855ba3f846SDaniel Machon 	GA_ANA_CL_PORT,
865ba3f846SDaniel Machon 	GA_ANA_CL_COMMON,
875ba3f846SDaniel Machon 	GA_ANA_L2_COMMON,
885ba3f846SDaniel Machon 	GA_ANA_L3_COMMON,
895ba3f846SDaniel Machon 	GA_ANA_L3_VLAN_ARP_L3MC_STICKY,
905ba3f846SDaniel Machon 	GA_ASM_CFG,
915ba3f846SDaniel Machon 	GA_ASM_PFC_TIMER_CFG,
925ba3f846SDaniel Machon 	GA_ASM_LBK_WM_CFG,
935ba3f846SDaniel Machon 	GA_ASM_LBK_MISC_CFG,
945ba3f846SDaniel Machon 	GA_ASM_RAM_CTRL,
955ba3f846SDaniel Machon 	GA_EACL_ES2_KEY_SELECT_PROFILE,
965ba3f846SDaniel Machon 	GA_EACL_CNT_TBL,
975ba3f846SDaniel Machon 	GA_EACL_POL_CFG,
985ba3f846SDaniel Machon 	GA_EACL_ES2_STICKY,
995ba3f846SDaniel Machon 	GA_EACL_RAM_CTRL,
1005ba3f846SDaniel Machon 	GA_GCB_SIO_CTRL,
1015ba3f846SDaniel Machon 	GA_HSCH_HSCH_DWRR,
1025ba3f846SDaniel Machon 	GA_HSCH_HSCH_MISC,
1035ba3f846SDaniel Machon 	GA_HSCH_HSCH_LEAK_LISTS,
1045ba3f846SDaniel Machon 	GA_HSCH_SYSTEM,
1055ba3f846SDaniel Machon 	GA_HSCH_MMGT,
1065ba3f846SDaniel Machon 	GA_HSCH_TAS_CONFIG,
1075ba3f846SDaniel Machon 	GA_PTP_PTP_CFG,
1085ba3f846SDaniel Machon 	GA_PTP_PTP_TOD_DOMAINS,
1095ba3f846SDaniel Machon 	GA_PTP_PHASE_DETECTOR_CTRL,
1105ba3f846SDaniel Machon 	GA_QSYS_CALCFG,
1115ba3f846SDaniel Machon 	GA_QSYS_RAM_CTRL,
1125ba3f846SDaniel Machon 	GA_REW_COMMON,
1135ba3f846SDaniel Machon 	GA_REW_PORT,
1145ba3f846SDaniel Machon 	GA_REW_VOE_PORT_LM_CNT,
1155ba3f846SDaniel Machon 	GA_REW_RAM_CTRL,
1165ba3f846SDaniel Machon 	GA_VOP_RAM_CTRL,
1175ba3f846SDaniel Machon 	GA_XQS_SYSTEM,
1185ba3f846SDaniel Machon 	GA_XQS_QLIMIT_SHR,
1195ba3f846SDaniel Machon 	GADDR_LAST,
1205ba3f846SDaniel Machon };
1215ba3f846SDaniel Machon 
1225ba3f846SDaniel Machon enum sparx5_gcnt_enum {
1235ba3f846SDaniel Machon 	GC_ANA_AC_SRC,
1245ba3f846SDaniel Machon 	GC_ANA_AC_PGID,
1255ba3f846SDaniel Machon 	GC_ANA_AC_TSN_SF_CFG,
1265ba3f846SDaniel Machon 	GC_ANA_AC_STAT_CNT_CFG_PORT,
1275ba3f846SDaniel Machon 	GC_ANA_ACL_KEY_SEL,
1285ba3f846SDaniel Machon 	GC_ANA_ACL_CNT_A,
1295ba3f846SDaniel Machon 	GC_ANA_ACL_CNT_B,
1305ba3f846SDaniel Machon 	GC_ANA_AC_SDLB_LBGRP_TBL,
1315ba3f846SDaniel Machon 	GC_ANA_AC_SDLB_LBSET_TBL,
1325ba3f846SDaniel Machon 	GC_ANA_CL_PORT,
1335ba3f846SDaniel Machon 	GC_ANA_L2_ISDX_LIMIT,
1345ba3f846SDaniel Machon 	GC_ANA_L2_ISDX,
1355ba3f846SDaniel Machon 	GC_ANA_L3_VLAN,
1365ba3f846SDaniel Machon 	GC_ASM_DEV_STATISTICS,
1375ba3f846SDaniel Machon 	GC_EACL_ES2_KEY_SELECT_PROFILE,
1385ba3f846SDaniel Machon 	GC_EACL_CNT_TBL,
1395ba3f846SDaniel Machon 	GC_GCB_SIO_CTRL,
1405ba3f846SDaniel Machon 	GC_HSCH_HSCH_CFG,
1415ba3f846SDaniel Machon 	GC_HSCH_HSCH_DWRR,
1425ba3f846SDaniel Machon 	GC_PTP_PTP_PINS,
1435ba3f846SDaniel Machon 	GC_PTP_PHASE_DETECTOR_CTRL,
1445ba3f846SDaniel Machon 	GC_REW_PORT,
1455ba3f846SDaniel Machon 	GC_REW_VOE_PORT_LM_CNT,
1465ba3f846SDaniel Machon 	GCNT_LAST,
1475ba3f846SDaniel Machon };
1485ba3f846SDaniel Machon 
1495ba3f846SDaniel Machon enum sparx5_gsize_enum {
1505ba3f846SDaniel Machon 	GW_ANA_AC_SRC,
1515ba3f846SDaniel Machon 	GW_ANA_L2_COMMON,
1525ba3f846SDaniel Machon 	GW_ASM_CFG,
1535ba3f846SDaniel Machon 	GW_CPU_CPU_REGS,
154*69b61425SDaniel Machon 	GW_DEV2G5_PHASE_DETECTOR_CTRL,
1555ba3f846SDaniel Machon 	GW_FDMA_FDMA,
1565ba3f846SDaniel Machon 	GW_GCB_CHIP_REGS,
1575ba3f846SDaniel Machon 	GW_HSCH_TAS_CONFIG,
1585ba3f846SDaniel Machon 	GW_PTP_PHASE_DETECTOR_CTRL,
1595ba3f846SDaniel Machon 	GW_QSYS_PAUSE_CFG,
1605ba3f846SDaniel Machon 	GSIZE_LAST,
1615ba3f846SDaniel Machon };
1625ba3f846SDaniel Machon 
1635ba3f846SDaniel Machon enum sparx5_fpos_enum {
1645ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_AARCH64_MODE_ENA,
1655ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_L2_RST_INVALIDATE_DIS,
1665ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_L1_RST_INVALIDATE_DIS,
1675ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_BE_EXCEP_MODE,
1685ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_VINITHI,
1695ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_CFGTE,
1705ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_CP15S_DISABLE,
1715ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_PROC_CRYPTO_DISABLE,
1725ba3f846SDaniel Machon 	FP_CPU_PROC_CTRL_L2_FLUSH_REQ,
173*69b61425SDaniel Machon 	FP_DEV2G5_PHAD_CTRL_PHAD_ENA,
174*69b61425SDaniel Machon 	FP_DEV2G5_PHAD_CTRL_PHAD_FAILED,
1755ba3f846SDaniel Machon 	FP_FDMA_CH_CFG_CH_XTR_STATUS_MODE,
1765ba3f846SDaniel Machon 	FP_FDMA_CH_CFG_CH_INTR_DB_EOF_ONLY,
1775ba3f846SDaniel Machon 	FP_FDMA_CH_CFG_CH_INJ_PORT,
1785ba3f846SDaniel Machon 	FP_PTP_PTP_PIN_CFG_PTP_PIN_ACTION,
1795ba3f846SDaniel Machon 	FP_PTP_PTP_PIN_CFG_PTP_PIN_SYNC,
1805ba3f846SDaniel Machon 	FP_PTP_PTP_PIN_CFG_PTP_PIN_INV_POL,
1815ba3f846SDaniel Machon 	FP_PTP_PHAD_CTRL_PHAD_ENA,
1825ba3f846SDaniel Machon 	FP_PTP_PHAD_CTRL_PHAD_FAILED,
1835ba3f846SDaniel Machon 	FPOS_LAST,
1845ba3f846SDaniel Machon };
1855ba3f846SDaniel Machon 
1865ba3f846SDaniel Machon enum sparx5_fsize_enum {
1875ba3f846SDaniel Machon 	FW_ANA_AC_PROBE_PORT_CFG_PROBE_PORT_MASK,
1885ba3f846SDaniel Machon 	FW_ANA_AC_SRC_CFG_PORT_MASK,
1895ba3f846SDaniel Machon 	FW_ANA_AC_PGID_CFG_PORT_MASK,
1905ba3f846SDaniel Machon 	FW_ANA_AC_TSN_SF_PORT_NUM,
1915ba3f846SDaniel Machon 	FW_ANA_AC_TSN_SF_CFG_TSN_SGID,
1925ba3f846SDaniel Machon 	FW_ANA_AC_TSN_SF_STATUS_TSN_SFID,
1935ba3f846SDaniel Machon 	FW_ANA_AC_SG_ACCESS_CTRL_SGID,
1945ba3f846SDaniel Machon 	FW_ANA_AC_PORT_SGE_CFG_MASK,
1955ba3f846SDaniel Machon 	FW_ANA_AC_SDLB_XLB_START_LBSET_START,
1965ba3f846SDaniel Machon 	FW_ANA_AC_SDLB_LBGRP_MISC_THRES_SHIFT,
1975ba3f846SDaniel Machon 	FW_ANA_AC_SDLB_LBGRP_STATE_TBL_PUP_LBSET_NEXT,
1985ba3f846SDaniel Machon 	FW_ANA_AC_SDLB_XLB_NEXT_LBSET_NEXT,
1995ba3f846SDaniel Machon 	FW_ANA_AC_SDLB_XLB_NEXT_LBGRP,
2005ba3f846SDaniel Machon 	FW_ANA_AC_SDLB_INH_LBSET_ADDR_INH_LBSET_ADDR,
2015ba3f846SDaniel Machon 	FW_ANA_L2_AUTO_LRN_CFG_AUTO_LRN_ENA,
2025ba3f846SDaniel Machon 	FW_ANA_L2_DLB_CFG_DLB_IDX,
2035ba3f846SDaniel Machon 	FW_ANA_L2_TSN_CFG_TSN_SFID,
2045ba3f846SDaniel Machon 	FW_ANA_L3_VLAN_MASK_CFG_VLAN_PORT_MASK,
2055ba3f846SDaniel Machon 	FW_FDMA_CH_CFG_CH_DCB_DB_CNT,
2065ba3f846SDaniel Machon 	FW_GCB_HW_SGPIO_TO_SD_MAP_CFG_SGPIO_TO_SD_SEL,
2075ba3f846SDaniel Machon 	FW_HSCH_SE_CFG_SE_DWRR_CNT,
2085ba3f846SDaniel Machon 	FW_HSCH_SE_CONNECT_SE_LEAK_LINK,
2095ba3f846SDaniel Machon 	FW_HSCH_SE_DLB_SENSE_SE_DLB_DPORT,
2105ba3f846SDaniel Machon 	FW_HSCH_HSCH_CFG_CFG_CFG_SE_IDX,
2115ba3f846SDaniel Machon 	FW_HSCH_HSCH_LEAK_CFG_LEAK_FIRST,
2125ba3f846SDaniel Machon 	FW_HSCH_FLUSH_CTRL_FLUSH_PORT,
2135ba3f846SDaniel Machon 	FW_HSCH_FLUSH_CTRL_FLUSH_HIER,
2145ba3f846SDaniel Machon 	FW_LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_DIRECT_ROW,
2155ba3f846SDaniel Machon 	FW_LRN_MAC_ACCESS_CFG_3_MAC_ENTRY_ISDX_LIMIT_IDX,
2165ba3f846SDaniel Machon 	FW_LRN_AUTOAGE_CFG_2_NEXT_ROW,
2175ba3f846SDaniel Machon 	FW_PTP_PTP_PIN_INTR_INTR_PTP,
2185ba3f846SDaniel Machon 	FW_PTP_PTP_PIN_INTR_ENA_INTR_PTP_ENA,
2195ba3f846SDaniel Machon 	FW_PTP_PTP_INTR_IDENT_INTR_PTP_IDENT,
2205ba3f846SDaniel Machon 	FW_PTP_PTP_PIN_CFG_PTP_PIN_SELECT,
2215ba3f846SDaniel Machon 	FW_QFWD_FRAME_COPY_CFG_FRMC_PORT_VAL,
2225ba3f846SDaniel Machon 	FW_QRES_RES_CFG_WM_HIGH,
2235ba3f846SDaniel Machon 	FW_QRES_RES_STAT_MAXUSE,
2245ba3f846SDaniel Machon 	FW_QRES_RES_STAT_CUR_INUSE,
2255ba3f846SDaniel Machon 	FW_QSYS_PAUSE_CFG_PAUSE_START,
2265ba3f846SDaniel Machon 	FW_QSYS_PAUSE_CFG_PAUSE_STOP,
2275ba3f846SDaniel Machon 	FW_QSYS_ATOP_ATOP,
2285ba3f846SDaniel Machon 	FW_QSYS_ATOP_TOT_CFG_ATOP_TOT,
2295ba3f846SDaniel Machon 	FW_REW_RTAG_ETAG_CTRL_IPE_TBL,
2305ba3f846SDaniel Machon 	FW_XQS_STAT_CFG_STAT_VIEW,
2315ba3f846SDaniel Machon 	FW_XQS_QLIMIT_SHR_TOP_CFG_QLIMIT_SHR_TOP,
2325ba3f846SDaniel Machon 	FW_XQS_QLIMIT_SHR_ATOP_CFG_QLIMIT_SHR_ATOP,
2335ba3f846SDaniel Machon 	FW_XQS_QLIMIT_SHR_CTOP_CFG_QLIMIT_SHR_CTOP,
2345ba3f846SDaniel Machon 	FW_XQS_QLIMIT_SHR_QLIM_CFG_QLIMIT_SHR_QLIM,
2355ba3f846SDaniel Machon 	FSIZE_LAST,
2365ba3f846SDaniel Machon };
2375ba3f846SDaniel Machon 
2385ba3f846SDaniel Machon extern const unsigned int sparx5_tsize[TSIZE_LAST];
2395ba3f846SDaniel Machon extern const unsigned int sparx5_raddr[RADDR_LAST];
2405ba3f846SDaniel Machon extern const unsigned int sparx5_rcnt[RCNT_LAST];
2415ba3f846SDaniel Machon extern const unsigned int sparx5_gaddr[GADDR_LAST];
2425ba3f846SDaniel Machon extern const unsigned int sparx5_gcnt[GCNT_LAST];
2435ba3f846SDaniel Machon extern const unsigned int sparx5_gsize[GSIZE_LAST];
2445ba3f846SDaniel Machon extern const unsigned int sparx5_fpos[FPOS_LAST];
2455ba3f846SDaniel Machon extern const unsigned int sparx5_fsize[FSIZE_LAST];
2465ba3f846SDaniel Machon 
2475ba3f846SDaniel Machon #endif /* _SPARX5_REGS_H_ */
248