linux/drivers/net/phy/mscc/mscc_macsec.h

/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
/*
 * Driver for Microsemi VSC85xx PHYs
 *
 * Copyright (c) 2020 Microsemi Corporation
 */

#ifndef _MSCC_PHY_MACSEC_H_
#define _MSCC_PHY_MACSEC_H_

#include <net/macsec.h>

#define MSCC_MS_MAX_FLOWS

#define CONTROL_TYPE_EGRESS
#define CONTROL_TYPE_INGRESS
#define CONTROL_IV0
#define CONTROL_IV1
#define CONTROL_IV2
#define CONTROL_UPDATE_SEQ
#define CONTROL_IV_IN_SEQ
#define CONTROL_ENCRYPT_AUTH
#define CONTROL_KEY_IN_CTX
#define CONTROL_CRYPTO_ALG(x)
#define CTRYPTO_ALG_AES_CTR_128
#define CTRYPTO_ALG_AES_CTR_192
#define CTRYPTO_ALG_AES_CTR_256
#define CONTROL_DIGEST_TYPE(x)
#define CONTROL_AUTH_ALG(x)
#define AUTH_ALG_AES_GHAS
#define CONTROL_AN(x)
#define CONTROL_SEQ_TYPE(x)
#define CONTROL_SEQ_MASK
#define CONTROL_CONTEXT_ID

enum mscc_macsec_destination_ports {};

enum mscc_macsec_drop_actions {};

enum mscc_macsec_flow_types {};

enum mscc_macsec_validate_levels {};

enum macsec_bank {};

struct macsec_flow {};

#define MSCC_EXT_PAGE_MACSEC_17
#define MSCC_EXT_PAGE_MACSEC_18

#define MSCC_EXT_PAGE_MACSEC_19
#define MSCC_PHY_MACSEC_19_REG_ADDR(x)
#define MSCC_PHY_MACSEC_19_TARGET(x)
#define MSCC_PHY_MACSEC_19_READ
#define MSCC_PHY_MACSEC_19_CMD

#define MSCC_EXT_PAGE_MACSEC_20
#define MSCC_PHY_MACSEC_20_TARGET(x)

#define MSCC_MS_XFORM_REC(x, y)
#define MSCC_MS_ENA_CFG
#define MSCC_MS_FC_CFG
#define MSCC_MS_SAM_MAC_SA_MATCH_LO(x)
#define MSCC_MS_SAM_MAC_SA_MATCH_HI(x)
#define MSCC_MS_SAM_MISC_MATCH(x)
#define MSCC_MS_SAM_MATCH_SCI_LO(x)
#define MSCC_MS_SAM_MATCH_SCI_HI(x)
#define MSCC_MS_SAM_MASK(x)
#define MSCC_MS_SAM_ENTRY_SET1
#define MSCC_MS_SAM_ENTRY_CLEAR1
#define MSCC_MS_SAM_FLOW_CTRL(x)
#define MSCC_MS_SAM_CP_TAG
#define MSCC_MS_SAM_NM_FLOW_NCP
#define MSCC_MS_SAM_NM_FLOW_CP
#define MSCC_MS_MISC_CONTROL
#define MSCC_MS_COUNT_CONTROL
#define MSCC_MS_PARAMS2_IG_CC_CONTROL
#define MSCC_MS_PARAMS2_IG_CP_TAG
#define MSCC_MS_VLAN_MTU_CHECK(x)
#define MSCC_MS_NON_VLAN_MTU_CHECK
#define MSCC_MS_PP_CTRL
#define MSCC_MS_STATUS_CONTEXT_CTRL
#define MSCC_MS_INTR_CTRL_STATUS
#define MSCC_MS_BLOCK_CTX_UPDATE
#define MSCC_MS_AIC_CTRL

/* MACSEC_ENA_CFG */
#define MSCC_MS_ENA_CFG_CLK_ENA
#define MSCC_MS_ENA_CFG_SW_RST
#define MSCC_MS_ENA_CFG_MACSEC_BYPASS_ENA
#define MSCC_MS_ENA_CFG_MACSEC_ENA
#define MSCC_MS_ENA_CFG_MACSEC_SPEED_MODE(x)
#define MSCC_MS_ENA_CFG_MACSEC_SPEED_MODE_M

/* MACSEC_FC_CFG */
#define MSCC_MS_FC_CFG_FCBUF_ENA
#define MSCC_MS_FC_CFG_USE_PKT_EXPANSION_INDICATION
#define MSCC_MS_FC_CFG_LOW_THRESH(x)
#define MSCC_MS_FC_CFG_LOW_THRESH_M
#define MSCC_MS_FC_CFG_HIGH_THRESH(x)
#define MSCC_MS_FC_CFG_HIGH_THRESH_M
#define MSCC_MS_FC_CFG_LOW_BYTES_VAL(x)
#define MSCC_MS_FC_CFG_LOW_BYTES_VAL_M
#define MSCC_MS_FC_CFG_HIGH_BYTES_VAL(x)
#define MSCC_MS_FC_CFG_HIGH_BYTES_VAL_M

/* MSCC_MS_SAM_MAC_SA_MATCH_HI */
#define MSCC_MS_SAM_MAC_SA_MATCH_HI_ETYPE(x)
#define MSCC_MS_SAM_MAC_SA_MATCH_HI_ETYPE_M

/* MACSEC_SAM_MISC_MATCH */
#define MSCC_MS_SAM_MISC_MATCH_VLAN_VALID
#define MSCC_MS_SAM_MISC_MATCH_QINQ_FOUND
#define MSCC_MS_SAM_MISC_MATCH_STAG_VALID
#define MSCC_MS_SAM_MISC_MATCH_QTAG_VALID
#define MSCC_MS_SAM_MISC_MATCH_VLAN_UP(x)
#define MSCC_MS_SAM_MISC_MATCH_VLAN_UP_M
#define MSCC_MS_SAM_MISC_MATCH_CONTROL_PACKET
#define MSCC_MS_SAM_MISC_MATCH_UNTAGGED
#define MSCC_MS_SAM_MISC_MATCH_TAGGED
#define MSCC_MS_SAM_MISC_MATCH_BAD_TAG
#define MSCC_MS_SAM_MISC_MATCH_KAY_TAG
#define MSCC_MS_SAM_MISC_MATCH_SOURCE_PORT(x)
#define MSCC_MS_SAM_MISC_MATCH_SOURCE_PORT_M
#define MSCC_MS_SAM_MISC_MATCH_PRIORITY(x)
#define MSCC_MS_SAM_MISC_MATCH_PRIORITY_M
#define MSCC_MS_SAM_MISC_MATCH_AN(x)
#define MSCC_MS_SAM_MISC_MATCH_TCI(x)

/* MACSEC_SAM_MASK */
#define MSCC_MS_SAM_MASK_MAC_SA_MASK(x)
#define MSCC_MS_SAM_MASK_MAC_SA_MASK_M
#define MSCC_MS_SAM_MASK_MAC_DA_MASK(x)
#define MSCC_MS_SAM_MASK_MAC_DA_MASK_M
#define MSCC_MS_SAM_MASK_MAC_ETYPE_MASK
#define MSCC_MS_SAM_MASK_VLAN_VLD_MASK
#define MSCC_MS_SAM_MASK_QINQ_FOUND_MASK
#define MSCC_MS_SAM_MASK_STAG_VLD_MASK
#define MSCC_MS_SAM_MASK_QTAG_VLD_MASK
#define MSCC_MS_SAM_MASK_VLAN_UP_MASK
#define MSCC_MS_SAM_MASK_VLAN_ID_MASK
#define MSCC_MS_SAM_MASK_SOURCE_PORT_MASK
#define MSCC_MS_SAM_MASK_CTL_PACKET_MASK
#define MSCC_MS_SAM_MASK_VLAN_UP_INNER_MASK
#define MSCC_MS_SAM_MASK_VLAN_ID_INNER_MASK
#define MSCC_MS_SAM_MASK_SCI_MASK
#define MSCC_MS_SAM_MASK_AN_MASK(x)
#define MSCC_MS_SAM_MASK_TCI_MASK(x)

/* MACSEC_SAM_FLOW_CTRL_EGR */
#define MSCC_MS_SAM_FLOW_CTRL_FLOW_TYPE(x)
#define MSCC_MS_SAM_FLOW_CTRL_FLOW_TYPE_M
#define MSCC_MS_SAM_FLOW_CTRL_DEST_PORT(x)
#define MSCC_MS_SAM_FLOW_CTRL_DEST_PORT_M
#define MSCC_MS_SAM_FLOW_CTRL_RESV_4
#define MSCC_MS_SAM_FLOW_CTRL_FLOW_CRYPT_AUTH
#define MSCC_MS_SAM_FLOW_CTRL_DROP_ACTION(x)
#define MSCC_MS_SAM_FLOW_CTRL_DROP_ACTION_M
#define MSCC_MS_SAM_FLOW_CTRL_RESV_15_TO_8(x)
#define MSCC_MS_SAM_FLOW_CTRL_RESV_15_TO_8_M
#define MSCC_MS_SAM_FLOW_CTRL_PROTECT_FRAME
#define MSCC_MS_SAM_FLOW_CTRL_REPLAY_PROTECT
#define MSCC_MS_SAM_FLOW_CTRL_SA_IN_USE
#define MSCC_MS_SAM_FLOW_CTRL_INCLUDE_SCI
#define MSCC_MS_SAM_FLOW_CTRL_USE_ES
#define MSCC_MS_SAM_FLOW_CTRL_USE_SCB
#define MSCC_MS_SAM_FLOW_CTRL_VALIDATE_FRAMES(x)
#define MSCC_MS_SAM_FLOW_CTRL_TAG_BYPASS_SIZE(x)
#define MSCC_MS_SAM_FLOW_CTRL_TAG_BYPASS_SIZE_M
#define MSCC_MS_SAM_FLOW_CTRL_RESV_23
#define MSCC_MS_SAM_FLOW_CTRL_CONFIDENTIALITY_OFFSET(x)
#define MSCC_MS_SAM_FLOW_CTRL_CONFIDENTIALITY_OFFSET_M
#define MSCC_MS_SAM_FLOW_CTRL_CONF_PROTECT

/* MACSEC_SAM_CP_TAG */
#define MSCC_MS_SAM_CP_TAG_MAP_TBL(x)
#define MSCC_MS_SAM_CP_TAG_MAP_TBL_M
#define MSCC_MS_SAM_CP_TAG_DEF_UP(x)
#define MSCC_MS_SAM_CP_TAG_DEF_UP_M
#define MSCC_MS_SAM_CP_TAG_STAG_UP_EN
#define MSCC_MS_SAM_CP_TAG_QTAG_UP_EN
#define MSCC_MS_SAM_CP_TAG_PARSE_QINQ
#define MSCC_MS_SAM_CP_TAG_PARSE_STAG
#define MSCC_MS_SAM_CP_TAG_PARSE_QTAG

/* MACSEC_SAM_NM_FLOW_NCP */
#define MSCC_MS_SAM_NM_FLOW_NCP_UNTAGGED_FLOW_TYPE(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_UNTAGGED_DEST_PORT(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_UNTAGGED_DROP_ACTION(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_TAGGED_FLOW_TYPE(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_TAGGED_DEST_PORT(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_TAGGED_DROP_ACTION(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_BADTAG_FLOW_TYPE(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_BADTAG_DEST_PORT(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_BADTAG_DROP_ACTION(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_KAY_FLOW_TYPE(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_KAY_DEST_PORT(x)
#define MSCC_MS_SAM_NM_FLOW_NCP_KAY_DROP_ACTION(x)

/* MACSEC_SAM_NM_FLOW_CP */
#define MSCC_MS_SAM_NM_FLOW_CP_UNTAGGED_FLOW_TYPE(x)
#define MSCC_MS_SAM_NM_FLOW_CP_UNTAGGED_DEST_PORT(x)
#define MSCC_MS_SAM_NM_FLOW_CP_UNTAGGED_DROP_ACTION(x)
#define MSCC_MS_SAM_NM_FLOW_CP_TAGGED_FLOW_TYPE(x)
#define MSCC_MS_SAM_NM_FLOW_CP_TAGGED_DEST_PORT(x)
#define MSCC_MS_SAM_NM_FLOW_CP_TAGGED_DROP_ACTION(x)
#define MSCC_MS_SAM_NM_FLOW_CP_BADTAG_FLOW_TYPE(x)
#define MSCC_MS_SAM_NM_FLOW_CP_BADTAG_DEST_PORT(x)
#define MSCC_MS_SAM_NM_FLOW_CP_BADTAG_DROP_ACTION(x)
#define MSCC_MS_SAM_NM_FLOW_CP_KAY_FLOW_TYPE(x)
#define MSCC_MS_SAM_NM_FLOW_CP_KAY_DEST_PORT(x)
#define MSCC_MS_SAM_NM_FLOW_CP_KAY_DROP_ACTION(x)

/* MACSEC_MISC_CONTROL */
#define MSCC_MS_MISC_CONTROL_MC_LATENCY_FIX(x)
#define MSCC_MS_MISC_CONTROL_MC_LATENCY_FIX_M
#define MSCC_MS_MISC_CONTROL_STATIC_BYPASS
#define MSCC_MS_MISC_CONTROL_NM_MACSEC_EN
#define MSCC_MS_MISC_CONTROL_VALIDATE_FRAMES(x)
#define MSCC_MS_MISC_CONTROL_VALIDATE_FRAMES_M
#define MSCC_MS_MISC_CONTROL_XFORM_REC_SIZE(x)
#define MSCC_MS_MISC_CONTROL_XFORM_REC_SIZE_M

/* MACSEC_COUNT_CONTROL */
#define MSCC_MS_COUNT_CONTROL_RESET_ALL
#define MSCC_MS_COUNT_CONTROL_DEBUG_ACCESS
#define MSCC_MS_COUNT_CONTROL_SATURATE_CNTRS
#define MSCC_MS_COUNT_CONTROL_AUTO_CNTR_RESET

/* MACSEC_PARAMS2_IG_CC_CONTROL */
#define MSCC_MS_PARAMS2_IG_CC_CONTROL_NON_MATCH_CTRL_ACT
#define MSCC_MS_PARAMS2_IG_CC_CONTROL_NON_MATCH_ACT

/* MACSEC_PARAMS2_IG_CP_TAG */
#define MSCC_MS_PARAMS2_IG_CP_TAG_MAP_TBL(x)
#define MSCC_MS_PARAMS2_IG_CP_TAG_MAP_TBL_M
#define MSCC_MS_PARAMS2_IG_CP_TAG_DEF_UP(x)
#define MSCC_MS_PARAMS2_IG_CP_TAG_DEF_UP_M
#define MSCC_MS_PARAMS2_IG_CP_TAG_STAG_UP_EN
#define MSCC_MS_PARAMS2_IG_CP_TAG_QTAG_UP_EN
#define MSCC_MS_PARAMS2_IG_CP_TAG_PARSE_QINQ
#define MSCC_MS_PARAMS2_IG_CP_TAG_PARSE_STAG
#define MSCC_MS_PARAMS2_IG_CP_TAG_PARSE_QTAG

/* MACSEC_VLAN_MTU_CHECK */
#define MSCC_MS_VLAN_MTU_CHECK_MTU_COMPARE(x)
#define MSCC_MS_VLAN_MTU_CHECK_MTU_COMPARE_M
#define MSCC_MS_VLAN_MTU_CHECK_MTU_COMP_DROP

/* MACSEC_NON_VLAN_MTU_CHECK */
#define MSCC_MS_NON_VLAN_MTU_CHECK_NV_MTU_COMPARE(x)
#define MSCC_MS_NON_VLAN_MTU_CHECK_NV_MTU_COMPARE_M
#define MSCC_MS_NON_VLAN_MTU_CHECK_NV_MTU_COMP_DROP

/* MACSEC_PP_CTRL */
#define MSCC_MS_PP_CTRL_MACSEC_OCTET_INCR_MODE

/* MACSEC_INTR_CTRL_STATUS */
#define MSCC_MS_INTR_CTRL_STATUS_INTR_CLR_STATUS(x)
#define MSCC_MS_INTR_CTRL_STATUS_INTR_CLR_STATUS_M
#define MSCC_MS_INTR_CTRL_STATUS_INTR_ENABLE(x)
#define MSCC_MS_INTR_CTRL_STATUS_INTR_ENABLE_M
#define MACSEC_INTR_CTRL_STATUS_ROLLOVER

#endif /* _MSCC_PHY_MACSEC_H_ */