Skip to content

Commit 064523f

Browse files
ffainellidavem330
authored andcommitted
net: dsa: bcm_sf2: Add VLAN registers definitions
Add the definitions for the VLAN registers that we are going to manipulate in subsequent patches. Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 7fbb1a9 commit 064523f

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

drivers/net/dsa/bcm_sf2_regs.h

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,23 @@
274274
#define CORE_ARLA_SRCH_RSLT_MACVID(x) (CORE_ARLA_SRCH_RSLT_0_MACVID + ((x) * 0x40))
275275
#define CORE_ARLA_SRCH_RSLT(x) (CORE_ARLA_SRCH_RSLT_0 + ((x) * 0x40))
276276

277+
#define CORE_ARLA_VTBL_RWCTRL 0x1600
278+
#define ARLA_VTBL_CMD_WRITE 0
279+
#define ARLA_VTBL_CMD_READ 1
280+
#define ARLA_VTBL_CMD_CLEAR 2
281+
#define ARLA_VTBL_STDN (1 << 7)
282+
283+
#define CORE_ARLA_VTBL_ADDR 0x1604
284+
#define VTBL_ADDR_INDEX_MASK 0xfff
285+
286+
#define CORE_ARLA_VTBL_ENTRY 0x160c
287+
#define FWD_MAP_MASK 0x1ff
288+
#define UNTAG_MAP_MASK 0x1ff
289+
#define UNTAG_MAP_SHIFT 9
290+
#define MSTP_INDEX_MASK 0x7
291+
#define MSTP_INDEX_SHIFT 18
292+
#define FWD_MODE (1 << 21)
293+
277294
#define CORE_MEM_PSM_VDD_CTRL 0x2380
278295
#define P_TXQ_PSM_VDD_SHIFT 2
279296
#define P_TXQ_PSM_VDD_MASK 0x3
@@ -287,6 +304,59 @@
287304
#define CORE_PORT_VLAN_CTL_PORT(x) (0xc400 + ((x) * 0x8))
288305
#define PORT_VLAN_CTRL_MASK 0x1ff
289306

307+
#define CORE_VLAN_CTRL0 0xd000
308+
#define CHANGE_1P_VID_INNER (1 << 0)
309+
#define CHANGE_1P_VID_OUTER (1 << 1)
310+
#define CHANGE_1Q_VID (1 << 3)
311+
#define VLAN_LEARN_MODE_SVL (0 << 5)
312+
#define VLAN_LEARN_MODE_IVL (3 << 5)
313+
#define VLAN_EN (1 << 7)
314+
315+
#define CORE_VLAN_CTRL1 0xd004
316+
#define EN_RSV_MCAST_FWDMAP (1 << 2)
317+
#define EN_RSV_MCAST_UNTAG (1 << 3)
318+
#define EN_IPMC_BYPASS_FWDMAP (1 << 5)
319+
#define EN_IPMC_BYPASS_UNTAG (1 << 6)
320+
321+
#define CORE_VLAN_CTRL2 0xd008
322+
#define EN_MIIM_BYPASS_V_FWDMAP (1 << 2)
323+
#define EN_GMRP_GVRP_V_FWDMAP (1 << 5)
324+
#define EN_GMRP_GVRP_UNTAG_MAP (1 << 6)
325+
326+
#define CORE_VLAN_CTRL3 0xd00c
327+
#define EN_DROP_NON1Q_MASK 0x1ff
328+
329+
#define CORE_VLAN_CTRL4 0xd014
330+
#define RESV_MCAST_FLOOD (1 << 1)
331+
#define EN_DOUBLE_TAG_MASK 0x3
332+
#define EN_DOUBLE_TAG_SHIFT 2
333+
#define EN_MGE_REV_GMRP (1 << 4)
334+
#define EN_MGE_REV_GVRP (1 << 5)
335+
#define INGR_VID_CHK_SHIFT 6
336+
#define INGR_VID_CHK_MASK 0x3
337+
#define INGR_VID_CHK_FWD (0 << INGR_VID_CHK_SHIFT)
338+
#define INGR_VID_CHK_DROP (1 << INGR_VID_CHK_SHIFT)
339+
#define INGR_VID_CHK_NO_CHK (2 << INGR_VID_CHK_SHIFT)
340+
#define INGR_VID_CHK_VID_VIOL_IMP (3 << INGR_VID_CHK_SHIFT)
341+
342+
#define CORE_VLAN_CTRL5 0xd018
343+
#define EN_CPU_RX_BYP_INNER_CRCCHCK (1 << 0)
344+
#define EN_VID_FFF_FWD (1 << 2)
345+
#define DROP_VTABLE_MISS (1 << 3)
346+
#define EGRESS_DIR_FRM_BYP_TRUNK_EN (1 << 4)
347+
#define PRESV_NON1Q (1 << 6)
348+
349+
#define CORE_VLAN_CTRL6 0xd01c
350+
#define STRICT_SFD_DETECT (1 << 0)
351+
#define DIS_ARL_BUST_LMIT (1 << 4)
352+
353+
#define CORE_DEFAULT_1Q_TAG_P(x) (0xd040 + ((x) * 8))
354+
#define CFI_SHIFT 12
355+
#define PRI_SHIFT 13
356+
#define PRI_MASK 0x7
357+
358+
#define CORE_JOIN_ALL_VLAN_EN 0xd140
359+
290360
#define CORE_EEE_EN_CTRL 0x24800
291361
#define CORE_EEE_LPI_INDICATE 0x24810
292362

0 commit comments

Comments
 (0)