blob: 943157f065bb2b1f31c5390e370afbd32b360408 [file] [log] [blame]
/*
* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef HPPE_CTRLPKT_REG_H
#define HPPE_CTRLPKT_REG_H
/**
* @defgroup
* @{
*/
/*[register] ETHERTYPE_CTRL*/
#define ETHERTYPE_CTRL
#define ETHERTYPE_CTRL_ADDRESS 0x80
#define ETHERTYPE_CTRL_NUM 4
#define ETHERTYPE_CTRL_INC 0x4
#define ETHERTYPE_CTRL_TYPE REG_TYPE_RW
#define ETHERTYPE_CTRL_DEFAULT 0x0
/*[field] ETHERTYPE_EN*/
#define ETHERTYPE_CTRL_ETHERTYPE_EN
#define ETHERTYPE_CTRL_ETHERTYPE_EN_OFFSET 0
#define ETHERTYPE_CTRL_ETHERTYPE_EN_LEN 1
#define ETHERTYPE_CTRL_ETHERTYPE_EN_DEFAULT 0x0
/*[field] ETHERTYPE*/
#define ETHERTYPE_CTRL_ETHERTYPE
#define ETHERTYPE_CTRL_ETHERTYPE_OFFSET 16
#define ETHERTYPE_CTRL_ETHERTYPE_LEN 16
#define ETHERTYPE_CTRL_ETHERTYPE_DEFAULT 0x0
struct ethertype_ctrl {
a_uint32_t ethertype_en:1;
a_uint32_t _reserved0:15;
a_uint32_t ethertype:16;
};
union ethertype_ctrl_u {
a_uint32_t val;
struct ethertype_ctrl bf;
};
/*[table] APP_CTRL*/
#define APP_CTRL
#define APP_CTRL_ADDRESS 0x1400
#define APP_CTRL_NUM 32
#define APP_CTRL_INC 0x10
#define APP_CTRL_TYPE REG_TYPE_RW
#define APP_CTRL_DEFAULT 0x0
/*[field] VALID*/
#define APP_CTRL_VALID
#define APP_CTRL_VALID_OFFSET 0
#define APP_CTRL_VALID_LEN 1
#define APP_CTRL_VALID_DEFAULT 0x0
/*[field] RFDB_INCLUDE*/
#define APP_CTRL_RFDB_INCLUDE
#define APP_CTRL_RFDB_INCLUDE_OFFSET 1
#define APP_CTRL_RFDB_INCLUDE_LEN 1
#define APP_CTRL_RFDB_INCLUDE_DEFAULT 0x0
/*[field] RFDB_INDEX_BITMAP*/
#define APP_CTRL_RFDB_INDEX_BITMAP
#define APP_CTRL_RFDB_INDEX_BITMAP_OFFSET 2
#define APP_CTRL_RFDB_INDEX_BITMAP_LEN 32
#define APP_CTRL_RFDB_INDEX_BITMAP_DEFAULT 0x0
/*[field] PROTOCOL_INCLUDE*/
#define APP_CTRL_PROTOCOL_INCLUDE
#define APP_CTRL_PROTOCOL_INCLUDE_OFFSET 34
#define APP_CTRL_PROTOCOL_INCLUDE_LEN 1
#define APP_CTRL_PROTOCOL_INCLUDE_DEFAULT 0x0
/*[field] PROTOCOL_BITMAP*/
#define APP_CTRL_PROTOCOL_BITMAP
#define APP_CTRL_PROTOCOL_BITMAP_OFFSET 35
#define APP_CTRL_PROTOCOL_BITMAP_LEN 26
#define APP_CTRL_PROTOCOL_BITMAP_DEFAULT 0x0
/*[field] ETHERTYPE_INCLUDE*/
#define APP_CTRL_ETHERTYPE_INCLUDE
#define APP_CTRL_ETHERTYPE_INCLUDE_OFFSET 61
#define APP_CTRL_ETHERTYPE_INCLUDE_LEN 1
#define APP_CTRL_ETHERTYPE_INCLUDE_DEFAULT 0x0
/*[field] ETHERTYPE_INDEX_BITMAP*/
#define APP_CTRL_ETHERTYPE_INDEX_BITMAP
#define APP_CTRL_ETHERTYPE_INDEX_BITMAP_OFFSET 62
#define APP_CTRL_ETHERTYPE_INDEX_BITMAP_LEN 4
#define APP_CTRL_ETHERTYPE_INDEX_BITMAP_DEFAULT 0x0
/*[field] PORTBITMAP_INCLUDE*/
#define APP_CTRL_PORTBITMAP_INCLUDE
#define APP_CTRL_PORTBITMAP_INCLUDE_OFFSET 66
#define APP_CTRL_PORTBITMAP_INCLUDE_LEN 1
#define APP_CTRL_PORTBITMAP_INCLUDE_DEFAULT 0x0
/*[field] PORTBITMAP*/
#define APP_CTRL_PORTBITMAP
#define APP_CTRL_PORTBITMAP_OFFSET 67
#define APP_CTRL_PORTBITMAP_LEN 8
#define APP_CTRL_PORTBITMAP_DEFAULT 0x0
/*[field] IN_VLAN_FLTR_BYP*/
#define APP_CTRL_IN_VLAN_FLTR_BYP
#define APP_CTRL_IN_VLAN_FLTR_BYP_OFFSET 75
#define APP_CTRL_IN_VLAN_FLTR_BYP_LEN 1
#define APP_CTRL_IN_VLAN_FLTR_BYP_DEFAULT 0x0
/*[field] IN_STG_BYP*/
#define APP_CTRL_IN_STG_BYP
#define APP_CTRL_IN_STG_BYP_OFFSET 76
#define APP_CTRL_IN_STG_BYP_LEN 1
#define APP_CTRL_IN_STG_BYP_DEFAULT 0x0
/*[field] L2_SEC_BYP*/
#define APP_CTRL_L2_SEC_BYP
#define APP_CTRL_L2_SEC_BYP_OFFSET 77
#define APP_CTRL_L2_SEC_BYP_LEN 1
#define APP_CTRL_L2_SEC_BYP_DEFAULT 0x0
/*[field] SG_BYP*/
#define APP_CTRL_SG_BYP
#define APP_CTRL_SG_BYP_OFFSET 78
#define APP_CTRL_SG_BYP_LEN 1
#define APP_CTRL_SG_BYP_DEFAULT 0x0
/*[field] CMD*/
#define APP_CTRL_CMD
#define APP_CTRL_CMD_OFFSET 79
#define APP_CTRL_CMD_LEN 2
#define APP_CTRL_CMD_DEFAULT 0x0
struct app_ctrl {
a_uint32_t valid:1;
a_uint32_t rfdb_include:1;
a_uint32_t rfdb_index_bitmap_0:30;
a_uint32_t rfdb_index_bitmap_1:2;
a_uint32_t protocol_include:1;
a_uint32_t protocol_bitmap:26;
a_uint32_t ethertype_include:1;
a_uint32_t ethertype_index_bitmap_0:2;
a_uint32_t ethertype_index_bitmap_1:2;
a_uint32_t portbitmap_include:1;
a_uint32_t portbitmap:8;
a_uint32_t in_vlan_fltr_byp:1;
a_uint32_t in_stg_byp:1;
a_uint32_t l2_sec_byp:1;
a_uint32_t sg_byp:1;
a_uint32_t cmd:2;
a_uint32_t _reserved0:15;
};
union app_ctrl_u {
a_uint32_t val[3];
struct app_ctrl bf;
};
#endif