cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ksz8.h (1311B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Microchip KSZ8XXX series register access
      4 *
      5 * Copyright (C) 2020 Pengutronix, Michael Grzeschik <kernel@pengutronix.de>
      6 */
      7
      8#ifndef __KSZ8XXX_H
      9#define __KSZ8XXX_H
     10#include <linux/kernel.h>
     11
     12enum ksz_regs {
     13	REG_IND_CTRL_0,
     14	REG_IND_DATA_8,
     15	REG_IND_DATA_CHECK,
     16	REG_IND_DATA_HI,
     17	REG_IND_DATA_LO,
     18	REG_IND_MIB_CHECK,
     19	REG_IND_BYTE,
     20	P_FORCE_CTRL,
     21	P_LINK_STATUS,
     22	P_LOCAL_CTRL,
     23	P_NEG_RESTART_CTRL,
     24	P_REMOTE_STATUS,
     25	P_SPEED_STATUS,
     26	S_TAIL_TAG_CTRL,
     27};
     28
     29enum ksz_masks {
     30	PORT_802_1P_REMAPPING,
     31	SW_TAIL_TAG_ENABLE,
     32	MIB_COUNTER_OVERFLOW,
     33	MIB_COUNTER_VALID,
     34	VLAN_TABLE_FID,
     35	VLAN_TABLE_MEMBERSHIP,
     36	VLAN_TABLE_VALID,
     37	STATIC_MAC_TABLE_VALID,
     38	STATIC_MAC_TABLE_USE_FID,
     39	STATIC_MAC_TABLE_FID,
     40	STATIC_MAC_TABLE_OVERRIDE,
     41	STATIC_MAC_TABLE_FWD_PORTS,
     42	DYNAMIC_MAC_TABLE_ENTRIES_H,
     43	DYNAMIC_MAC_TABLE_MAC_EMPTY,
     44	DYNAMIC_MAC_TABLE_NOT_READY,
     45	DYNAMIC_MAC_TABLE_ENTRIES,
     46	DYNAMIC_MAC_TABLE_FID,
     47	DYNAMIC_MAC_TABLE_SRC_PORT,
     48	DYNAMIC_MAC_TABLE_TIMESTAMP,
     49};
     50
     51enum ksz_shifts {
     52	VLAN_TABLE_MEMBERSHIP_S,
     53	VLAN_TABLE,
     54	STATIC_MAC_FWD_PORTS,
     55	STATIC_MAC_FID,
     56	DYNAMIC_MAC_ENTRIES_H,
     57	DYNAMIC_MAC_ENTRIES,
     58	DYNAMIC_MAC_FID,
     59	DYNAMIC_MAC_TIMESTAMP,
     60	DYNAMIC_MAC_SRC_PORT,
     61};
     62
     63struct ksz8 {
     64	const u8 *regs;
     65	const u32 *masks;
     66	const u8 *shifts;
     67	void *priv;
     68};
     69
     70#endif