bgmac.h (c13aca79ff3c4af5fd31a5b2743a90eba6e36a26) bgmac.h (8c7da63978f1672eb4037bbca6e7eac73f908f03)
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _BGMAC_H
3#define _BGMAC_H
4
5#include <linux/netdevice.h>
6
7#define BGMAC_DEV_CTL 0x000
8#define BGMAC_DC_TSM 0x00000002

--- 337 unchanged lines hidden (view full) ---

346#define BGMAC_DMA_RX_ERR_TRANSFER 0x30000000
347#define BGMAC_DMA_RX_ERR_DESCREAD 0x40000000
348#define BGMAC_DMA_RX_ERR_CORE 0x50000000
349
350#define BGMAC_DESC_CTL0_EOT 0x10000000 /* End of ring */
351#define BGMAC_DESC_CTL0_IOC 0x20000000 /* IRQ on complete */
352#define BGMAC_DESC_CTL0_EOF 0x40000000 /* End of frame */
353#define BGMAC_DESC_CTL0_SOF 0x80000000 /* Start of frame */
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _BGMAC_H
3#define _BGMAC_H
4
5#include <linux/netdevice.h>
6
7#define BGMAC_DEV_CTL 0x000
8#define BGMAC_DC_TSM 0x00000002

--- 337 unchanged lines hidden (view full) ---

346#define BGMAC_DMA_RX_ERR_TRANSFER 0x30000000
347#define BGMAC_DMA_RX_ERR_DESCREAD 0x40000000
348#define BGMAC_DMA_RX_ERR_CORE 0x50000000
349
350#define BGMAC_DESC_CTL0_EOT 0x10000000 /* End of ring */
351#define BGMAC_DESC_CTL0_IOC 0x20000000 /* IRQ on complete */
352#define BGMAC_DESC_CTL0_EOF 0x40000000 /* End of frame */
353#define BGMAC_DESC_CTL0_SOF 0x80000000 /* Start of frame */
354#define BGMAC_DESC_CTL1_LEN 0x00001FFF
354#define BGMAC_DESC_CTL1_LEN 0x00003FFF
355
356#define BGMAC_PHY_NOREGS BRCM_PSEUDO_PHY_ADDR
357#define BGMAC_PHY_MASK 0x1F
358
359#define BGMAC_MAX_TX_RINGS 4
360#define BGMAC_MAX_RX_RINGS 1
361
362#define BGMAC_TX_RING_SLOTS 128
363#define BGMAC_RX_RING_SLOTS 512
364
365#define BGMAC_RX_HEADER_LEN 28 /* Last 24 bytes are unused. Well... */
366#define BGMAC_RX_FRAME_OFFSET 30 /* There are 2 unused bytes between header and real data */
367#define BGMAC_RX_BUF_OFFSET (NET_SKB_PAD + NET_IP_ALIGN - \
368 BGMAC_RX_FRAME_OFFSET)
355
356#define BGMAC_PHY_NOREGS BRCM_PSEUDO_PHY_ADDR
357#define BGMAC_PHY_MASK 0x1F
358
359#define BGMAC_MAX_TX_RINGS 4
360#define BGMAC_MAX_RX_RINGS 1
361
362#define BGMAC_TX_RING_SLOTS 128
363#define BGMAC_RX_RING_SLOTS 512
364
365#define BGMAC_RX_HEADER_LEN 28 /* Last 24 bytes are unused. Well... */
366#define BGMAC_RX_FRAME_OFFSET 30 /* There are 2 unused bytes between header and real data */
367#define BGMAC_RX_BUF_OFFSET (NET_SKB_PAD + NET_IP_ALIGN - \
368 BGMAC_RX_FRAME_OFFSET)
369#define BGMAC_RX_MAX_FRAME_SIZE 1536 /* Copied from b44/tg3 */
369/* Jumbo frame size with FCS */
370#define BGMAC_RX_MAX_FRAME_SIZE 9724
370#define BGMAC_RX_BUF_SIZE (BGMAC_RX_FRAME_OFFSET + BGMAC_RX_MAX_FRAME_SIZE)
371#define BGMAC_RX_ALLOC_SIZE (SKB_DATA_ALIGN(BGMAC_RX_BUF_SIZE + BGMAC_RX_BUF_OFFSET) + \
372 SKB_DATA_ALIGN(sizeof(struct skb_shared_info)))
373
374#define BGMAC_BFL_ENETROBO 0x0010 /* has ephy roboswitch spi */
375#define BGMAC_BFL_ENETADM 0x0080 /* has ADMtek switch */
376#define BGMAC_BFL_ENETVLAN 0x0100 /* can do vlan */
377

--- 238 unchanged lines hidden ---
371#define BGMAC_RX_BUF_SIZE (BGMAC_RX_FRAME_OFFSET + BGMAC_RX_MAX_FRAME_SIZE)
372#define BGMAC_RX_ALLOC_SIZE (SKB_DATA_ALIGN(BGMAC_RX_BUF_SIZE + BGMAC_RX_BUF_OFFSET) + \
373 SKB_DATA_ALIGN(sizeof(struct skb_shared_info)))
374
375#define BGMAC_BFL_ENETROBO 0x0010 /* has ephy roboswitch spi */
376#define BGMAC_BFL_ENETADM 0x0080 /* has ADMtek switch */
377#define BGMAC_BFL_ENETVLAN 0x0100 /* can do vlan */
378

--- 238 unchanged lines hidden ---