mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not write to the free software foundation inc 59 temple place suite 330 boston ma 02111 1307 usa extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 1334 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Richard Fontana <rfontana@redhat.com> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070033.113240726@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
50 lines
1.6 KiB
C
50 lines
1.6 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/***************************************************************************
|
|
*
|
|
* Copyright (C) 2004-2008 SMSC
|
|
* Copyright (C) 2005-2008 ARM
|
|
*
|
|
***************************************************************************/
|
|
#ifndef __LINUX_SMSC911X_H__
|
|
#define __LINUX_SMSC911X_H__
|
|
|
|
#include <linux/phy.h>
|
|
#include <linux/if_ether.h>
|
|
|
|
/* platform_device configuration data, should be assigned to
|
|
* the platform_device's dev.platform_data */
|
|
struct smsc911x_platform_config {
|
|
unsigned int irq_polarity;
|
|
unsigned int irq_type;
|
|
unsigned int flags;
|
|
unsigned int shift;
|
|
phy_interface_t phy_interface;
|
|
unsigned char mac[ETH_ALEN];
|
|
};
|
|
|
|
/* Constants for platform_device irq polarity configuration */
|
|
#define SMSC911X_IRQ_POLARITY_ACTIVE_LOW 0
|
|
#define SMSC911X_IRQ_POLARITY_ACTIVE_HIGH 1
|
|
|
|
/* Constants for platform_device irq type configuration */
|
|
#define SMSC911X_IRQ_TYPE_OPEN_DRAIN 0
|
|
#define SMSC911X_IRQ_TYPE_PUSH_PULL 1
|
|
|
|
/* Constants for flags */
|
|
#define SMSC911X_USE_16BIT (BIT(0))
|
|
#define SMSC911X_USE_32BIT (BIT(1))
|
|
#define SMSC911X_FORCE_INTERNAL_PHY (BIT(2))
|
|
#define SMSC911X_FORCE_EXTERNAL_PHY (BIT(3))
|
|
#define SMSC911X_SAVE_MAC_ADDRESS (BIT(4))
|
|
|
|
/*
|
|
* SMSC911X_SWAP_FIFO:
|
|
* Enables software byte swap for fifo data. Should only be used as a
|
|
* "last resort" in the case of big endian mode on boards with incorrectly
|
|
* routed data bus to older devices such as LAN9118. Newer devices such as
|
|
* LAN9221 can handle this in hardware, there are registers to control
|
|
* this swapping but the driver doesn't currently use them.
|
|
*/
|
|
#define SMSC911X_SWAP_FIFO (BIT(5))
|
|
|
|
#endif /* __LINUX_SMSC911X_H__ */
|