FILE
stmmac_vlan.h
File preview with syntax highlighting.
linux-6.19.14/drivers/net/ethernet/stmicro/stmmac/stmmac_vlan.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2025, Altera Corporation 4 * stmmac VLAN(802.1Q) handling 5 */ 6 7#ifndef __STMMAC_VLAN_H__ 8#define __STMMAC_VLAN_H__ 9 10#include <linux/bitfield.h> 11#include "dwxgmac2.h" 12 13#define VLAN_TAG 0x00000050 14#define VLAN_TAG_DATA 0x00000054 15#define VLAN_HASH_TABLE 0x00000058 16#define VLAN_INCL 0x00000060 17 18/* MAC VLAN */ 19#define VLAN_EDVLP BIT(26) 20#define VLAN_VTHM BIT(25) 21#define VLAN_DOVLTC BIT(20) 22#define VLAN_ESVL BIT(18) 23#define VLAN_ETV BIT(16) 24#define VLAN_VID GENMASK(15, 0) 25#define VLAN_VLTI BIT(20) 26#define VLAN_CSVL BIT(19) 27#define VLAN_VLC GENMASK(17, 16) 28#define VLAN_VLC_SHIFT 16 29#define VLAN_VLHT GENMASK(15, 0) 30 31/* MAC VLAN Tag */ 32#define VLAN_TAG_VID GENMASK(15, 0) 33#define VLAN_TAG_ETV BIT(16) 34 35/* MAC VLAN Tag Control */ 36#define VLAN_TAG_CTRL_OB BIT(0) 37#define VLAN_TAG_CTRL_CT BIT(1) 38#define VLAN_TAG_CTRL_OFS_MASK GENMASK(6, 2) 39#define VLAN_TAG_CTRL_OFS_SHIFT 2 40#define VLAN_TAG_CTRL_EVLS_MASK GENMASK(22, 21) 41#define VLAN_TAG_CTRL_EVLS_SHIFT 21 42#define VLAN_TAG_CTRL_EVLRXS BIT(24) 43 44#define VLAN_TAG_STRIP_NONE FIELD_PREP(VLAN_TAG_CTRL_EVLS_MASK, 0x0) 45#define VLAN_TAG_STRIP_PASS FIELD_PREP(VLAN_TAG_CTRL_EVLS_MASK, 0x1) 46#define VLAN_TAG_STRIP_FAIL FIELD_PREP(VLAN_TAG_CTRL_EVLS_MASK, 0x2) 47#define VLAN_TAG_STRIP_ALL FIELD_PREP(VLAN_TAG_CTRL_EVLS_MASK, 0x3) 48 49/* MAC VLAN Tag Data/Filter */ 50#define VLAN_TAG_DATA_VID GENMASK(15, 0) 51#define VLAN_TAG_DATA_VEN BIT(16) 52#define VLAN_TAG_DATA_ETV BIT(17) 53 54/* MAC VLAN HW FEAT */ 55#define HW_FEATURE3 0x00000128 56#define VLAN_HW_FEAT_NRVF GENMASK(2, 0) 57 58extern const struct stmmac_vlan_ops dwmac_vlan_ops; 59extern const struct stmmac_vlan_ops dwxgmac210_vlan_ops; 60extern const struct stmmac_vlan_ops dwxlgmac2_vlan_ops; 61 62u32 stmmac_get_num_vlan(void __iomem *ioaddr); 63 64#endif /* __STMMAC_VLAN_H__ */
~/
Read-only file preview.