freebsd-dev/sys/mips/nlm/hal/interlaken.h
Jayachandran C. 35011d20cb xlpge : driver for XLP network accelerator
Features:
- network driver for the four 10G interfaces and two management ports
  on XLP 8xx.
- Support 4xx and 3xx variants of the processor.
- Source code and firmware building for the 16 mips32r2 micro-code engines
  in the Network Accelerator.
- Basic initialization code for Packet ordering Engine.

Submitted by:	Prabhath Raman (prabhath at netlogicmicro com)
		[refactored and fixed up for style by jchandra]
2012-03-27 14:05:12 +00:00

71 lines
3.2 KiB
C

/*-
* Copyright (c) 2003-2012 Broadcom Corporation
* All Rights Reserved
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY BROADCOM ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $FreeBSD$
*/
#ifndef __NLM_ILAKEN_H__
#define __NLM_ILAKEN_H__
/**
* @file_name interlaken.h
* @author Netlogic Microsystems
* @brief Basic definitions of XLP ILAKEN ports
*/
#define ILK_TX_CONTROL(block) NAE_REG(block, 5, 0x00)
#define ILK_TX_RATE_LIMIT(block) NAE_REG(block, 5, 0x01)
#define ILK_TX_META_CTRL(block) NAE_REG(block, 5, 0x02)
#define ILK_RX_CTRL(block) NAE_REG(block, 5, 0x03)
#define ILK_RX_STATUS1(block) NAE_REG(block, 5, 0x04)
#define ILK_RX_STATUS2(block) NAE_REG(block, 5, 0x05)
#define ILK_GENERAL_CTRL1(block) NAE_REG(block, 5, 0x06)
#define ILK_STATUS3(block) NAE_REG(block, 5, 0x07)
#define ILK_RX_FC_TMAP0(block) NAE_REG(block, 5, 0x08)
#define ILK_RX_FC_TMAP1(block) NAE_REG(block, 5, 0x09)
#define ILK_RX_FC_TMAP2(block) NAE_REG(block, 5, 0x0a)
#define ILK_RX_FC_TMAP3(block) NAE_REG(block, 5, 0x0b)
#define ILK_RX_FC_TMAP4(block) NAE_REG(block, 5, 0x0c)
#define ILK_RX_FC_TADDR(block) NAE_REG(block, 5, 0x0d)
#define ILK_GENERAL_CTRL2(block) NAE_REG(block, 5, 0x0e)
#define ILK_GENERAL_CTRL3(block) NAE_REG(block, 5, 0x0f)
#define ILK_SMALL_COUNT0(block) NAE_REG(block, 5, 0x10)
#define ILK_SMALL_COUNT1(block) NAE_REG(block, 5, 0x11)
#define ILK_SMALL_COUNT2(block) NAE_REG(block, 5, 0x12)
#define ILK_SMALL_COUNT3(block) NAE_REG(block, 5, 0x13)
#define ILK_SMALL_COUNT4(block) NAE_REG(block, 5, 0x14)
#define ILK_SMALL_COUNT5(block) NAE_REG(block, 5, 0x15)
#define ILK_SMALL_COUNT6(block) NAE_REG(block, 5, 0x16)
#define ILK_SMALL_COUNT7(block) NAE_REG(block, 5, 0x17)
#define ILK_MID_COUNT0(block) NAE_REG(block, 5, 0x18)
#define ILK_MID_COUNT1(block) NAE_REG(block, 5, 0x19)
#define ILK_LARGE_COUNT0(block) NAE_REG(block, 5, 0x1a)
#define ILK_LARGE_COUNT1(block) NAE_REG(block, 5, 0x1b)
#define ILK_LARGE_COUNT_H0(block) NAE_REG(block, 5, 0x1c)
#define ILK_LARGE_COUNT_H1(block) NAE_REG(block, 5, 0x1d)
#endif