linux/drivers/net/ethernet/renesas/sh_eth.h

/* SPDX-License-Identifier: GPL-2.0 */
/*  SuperH Ethernet device driver
 *
 *  Copyright (C) 2006-2012 Nobuhiro Iwamatsu
 *  Copyright (C) 2008-2012 Renesas Solutions Corp.
 */

#ifndef __SH_ETH_H__
#define __SH_ETH_H__

#define CARDNAME
#define TX_TIMEOUT
#define TX_RING_SIZE
#define RX_RING_SIZE
#define TX_RING_MIN
#define RX_RING_MIN
#define TX_RING_MAX
#define RX_RING_MAX
#define PKT_BUF_SZ
#define SH_ETH_TSU_TIMEOUT_MS
#define SH_ETH_TSU_CAM_ENTRIES

enum {};

enum {};

/* Driver's parameters */
#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_RENESAS)
#define SH_ETH_RX_ALIGN
#else
#define SH_ETH_RX_ALIGN
#endif

/* Register's bits
 */
/* EDSR : sh7734, sh7757, sh7763, r8a7740, and r7s72100 only */
enum EDSR_BIT {};
#define EDSR_ENALL

/* GECMR : sh7734, sh7763 and r8a7740 only */
enum GECMR_BIT {};

/* EDMR */
enum EDMR_BIT {};

/* EDTRR */
enum EDTRR_BIT {};

/* EDRRR */
enum EDRRR_BIT {};

/* TPAUSER */
enum TPAUSER_BIT {};

/* BCFR */
enum BCFR_BIT {};

/* PIR */
enum PIR_BIT {};

/* PSR */
enum PSR_BIT {};

/* EESR */
enum EESR_BIT {};

#define EESR_RX_CHECK

#define DEFAULT_TX_CHECK
#define DEFAULT_EESR_ERR_CHECK

/* EESIPR */
enum EESIPR_BIT {};

/* FCFTR */
enum FCFTR_BIT {};
#define DEFAULT_FIFO_F_D_RFF
#define DEFAULT_FIFO_F_D_RFD

/* RMCR */
enum RMCR_BIT {};

/* ECMR */
enum ECMR_BIT {};

/* ECSR */
enum ECSR_BIT {};

#define DEFAULT_ECSR_INIT

/* ECSIPR */
enum ECSIPR_BIT {};

#define DEFAULT_ECSIPR_INIT

/* APR */
enum APR_BIT {};

/* MPR */
enum MPR_BIT {};

/* TRSCER */
enum TRSCER_BIT {};

#define DEFAULT_TRSCER_ERR_MASK

/* RPADIR */
enum RPADIR_BIT {};

/* FDR */
#define DEFAULT_FDR_INIT

/* ARSTR */
enum ARSTR_BIT {};

/* TSU_FWEN0 */
enum TSU_FWEN0_BIT {};

/* TSU_ADSBSY */
enum TSU_ADSBSY_BIT {};

/* TSU_TEN */
enum TSU_TEN_BIT {};

/* TSU_FWSL0 */
enum TSU_FWSL0_BIT {};

/* TSU_FWSLC */
enum TSU_FWSLC_BIT {};

/* TSU_VTAGn */
#define TSU_VTAG_ENABLE
#define TSU_VTAG_VID_MASK

/* The sh ether Tx buffer descriptors.
 * This structure should be 20 bytes.
 */
struct sh_eth_txdesc {} __aligned() __packed;

/* Transmit descriptor 0 bits */
enum TD_STS_BIT {};
#define TDF1ST
#define TDFEND
#define TD_TFP

/* Transmit descriptor 1 bits */
enum TD_LEN_BIT {};

/* The sh ether Rx buffer descriptors.
 * This structure should be 20 bytes.
 */
struct sh_eth_rxdesc {} __aligned() __packed;

/* Receive descriptor 0 bits */
enum RD_STS_BIT {};
#define RDF1ST
#define RDFEND
#define RD_RFP

/* Receive descriptor 1 bits */
enum RD_LEN_BIT {};

/* This structure is used by each CPU dependency handling. */
struct sh_eth_cpu_data {};

struct sh_eth_private {};

#endif	/* #ifndef __SH_ETH_H__ */