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

smsc911x.h (1670B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/***************************************************************************
      3 *
      4 * Copyright (C) 2004-2008 SMSC
      5 * Copyright (C) 2005-2008 ARM
      6 *
      7 ***************************************************************************/
      8#ifndef __LINUX_SMSC911X_H__
      9#define __LINUX_SMSC911X_H__
     10
     11#include <linux/phy.h>
     12#include <linux/if_ether.h>
     13
     14/* platform_device configuration data, should be assigned to
     15 * the platform_device's dev.platform_data */
     16struct smsc911x_platform_config {
     17	unsigned int irq_polarity;
     18	unsigned int irq_type;
     19	unsigned int flags;
     20	unsigned int shift;
     21	phy_interface_t phy_interface;
     22	unsigned char mac[ETH_ALEN];
     23};
     24
     25/* Constants for platform_device irq polarity configuration */
     26#define SMSC911X_IRQ_POLARITY_ACTIVE_LOW	0
     27#define SMSC911X_IRQ_POLARITY_ACTIVE_HIGH	1
     28
     29/* Constants for platform_device irq type configuration */
     30#define SMSC911X_IRQ_TYPE_OPEN_DRAIN		0
     31#define SMSC911X_IRQ_TYPE_PUSH_PULL		1
     32
     33/* Constants for flags */
     34#define SMSC911X_USE_16BIT 			(BIT(0))
     35#define SMSC911X_USE_32BIT 			(BIT(1))
     36#define SMSC911X_FORCE_INTERNAL_PHY		(BIT(2))
     37#define SMSC911X_FORCE_EXTERNAL_PHY 		(BIT(3))
     38#define SMSC911X_SAVE_MAC_ADDRESS		(BIT(4))
     39
     40/*
     41 * SMSC911X_SWAP_FIFO:
     42 * Enables software byte swap for fifo data. Should only be used as a
     43 * "last resort" in the case of big endian mode on boards with incorrectly
     44 * routed data bus to older devices such as LAN9118. Newer devices such as
     45 * LAN9221 can handle this in hardware, there are registers to control
     46 * this swapping but the driver doesn't currently use them.
     47 */
     48#define SMSC911X_SWAP_FIFO			(BIT(5))
     49
     50#endif /* __LINUX_SMSC911X_H__ */