| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Copyright (C) 2020 Marvell International Ltd. |
| * |
| * Definitions for enumerations used with Octeon CSRs. |
| */ |
| |
| #ifndef __CVMX_CSR_ENUMS_H__ |
| #define __CVMX_CSR_ENUMS_H__ |
| |
| typedef enum { |
| CVMX_IPD_OPC_MODE_STT = 0LL, |
| CVMX_IPD_OPC_MODE_STF = 1LL, |
| CVMX_IPD_OPC_MODE_STF1_STT = 2LL, |
| CVMX_IPD_OPC_MODE_STF2_STT = 3LL |
| } cvmx_ipd_mode_t; |
| |
| /** |
| * Enumeration representing the amount of packet processing |
| * and validation performed by the input hardware. |
| */ |
| typedef enum { |
| CVMX_PIP_PORT_CFG_MODE_NONE = 0ull, |
| CVMX_PIP_PORT_CFG_MODE_SKIPL2 = 1ull, |
| CVMX_PIP_PORT_CFG_MODE_SKIPIP = 2ull |
| } cvmx_pip_port_parse_mode_t; |
| |
| /** |
| * This enumeration controls how a QoS watcher matches a packet. |
| * |
| * @deprecated This enumeration was used with cvmx_pip_config_watcher which has |
| * been deprecated. |
| */ |
| typedef enum { |
| CVMX_PIP_QOS_WATCH_DISABLE = 0ull, |
| CVMX_PIP_QOS_WATCH_PROTNH = 1ull, |
| CVMX_PIP_QOS_WATCH_TCP = 2ull, |
| CVMX_PIP_QOS_WATCH_UDP = 3ull |
| } cvmx_pip_qos_watch_types; |
| |
| /** |
| * This enumeration is used in PIP tag config to control how |
| * POW tags are generated by the hardware. |
| */ |
| typedef enum { |
| CVMX_PIP_TAG_MODE_TUPLE = 0ull, |
| CVMX_PIP_TAG_MODE_MASK = 1ull, |
| CVMX_PIP_TAG_MODE_IP_OR_MASK = 2ull, |
| CVMX_PIP_TAG_MODE_TUPLE_XOR_MASK = 3ull |
| } cvmx_pip_tag_mode_t; |
| |
| /** |
| * Tag type definitions |
| */ |
| typedef enum { |
| CVMX_POW_TAG_TYPE_ORDERED = 0L, |
| CVMX_POW_TAG_TYPE_ATOMIC = 1L, |
| CVMX_POW_TAG_TYPE_NULL = 2L, |
| CVMX_POW_TAG_TYPE_NULL_NULL = 3L |
| } cvmx_pow_tag_type_t; |
| |
| /** |
| * LCR bits 0 and 1 control the number of bits per character. See the following table for encodings: |
| * |
| * - 00 = 5 bits (bits 0-4 sent) |
| * - 01 = 6 bits (bits 0-5 sent) |
| * - 10 = 7 bits (bits 0-6 sent) |
| * - 11 = 8 bits (all bits sent) |
| */ |
| typedef enum { |
| CVMX_UART_BITS5 = 0, |
| CVMX_UART_BITS6 = 1, |
| CVMX_UART_BITS7 = 2, |
| CVMX_UART_BITS8 = 3 |
| } cvmx_uart_bits_t; |
| |
| typedef enum { |
| CVMX_UART_IID_NONE = 1, |
| CVMX_UART_IID_RX_ERROR = 6, |
| CVMX_UART_IID_RX_DATA = 4, |
| CVMX_UART_IID_RX_TIMEOUT = 12, |
| CVMX_UART_IID_TX_EMPTY = 2, |
| CVMX_UART_IID_MODEM = 0, |
| CVMX_UART_IID_BUSY = 7 |
| } cvmx_uart_iid_t; |
| |
| #endif /* __CVMX_CSR_ENUMS_H__ */ |