162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2019, Mellanox Technologies. All rights reserved. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef __MLXBF_TMFIFO_REGS_H__ 762306a36Sopenharmony_ci#define __MLXBF_TMFIFO_REGS_H__ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <linux/types.h> 1062306a36Sopenharmony_ci#include <linux/bits.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_DATA 0x00 1362306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_STS 0x08 1462306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_STS__LENGTH 0x0001 1562306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_STS__COUNT_SHIFT 0 1662306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_STS__COUNT_WIDTH 9 1762306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_STS__COUNT_RESET_VAL 0 1862306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_STS__COUNT_RMASK GENMASK_ULL(8, 0) 1962306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_STS__COUNT_MASK GENMASK_ULL(8, 0) 2062306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL 0x10 2162306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__LENGTH 0x0001 2262306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__LWM_SHIFT 0 2362306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__LWM_WIDTH 8 2462306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__LWM_RESET_VAL 128 2562306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__LWM_RMASK GENMASK_ULL(7, 0) 2662306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__LWM_MASK GENMASK_ULL(7, 0) 2762306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__HWM_SHIFT 8 2862306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__HWM_WIDTH 8 2962306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__HWM_RESET_VAL 128 3062306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__HWM_RMASK GENMASK_ULL(7, 0) 3162306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__HWM_MASK GENMASK_ULL(15, 8) 3262306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_SHIFT 32 3362306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_WIDTH 9 3462306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_RESET_VAL 256 3562306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_RMASK GENMASK_ULL(8, 0) 3662306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_MASK GENMASK_ULL(40, 32) 3762306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_DATA 0x00 3862306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_STS 0x08 3962306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_STS__LENGTH 0x0001 4062306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_STS__COUNT_SHIFT 0 4162306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_STS__COUNT_WIDTH 9 4262306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_STS__COUNT_RESET_VAL 0 4362306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_STS__COUNT_RMASK GENMASK_ULL(8, 0) 4462306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_STS__COUNT_MASK GENMASK_ULL(8, 0) 4562306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL 0x10 4662306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__LENGTH 0x0001 4762306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__LWM_SHIFT 0 4862306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__LWM_WIDTH 8 4962306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__LWM_RESET_VAL 128 5062306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__LWM_RMASK GENMASK_ULL(7, 0) 5162306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__LWM_MASK GENMASK_ULL(7, 0) 5262306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__HWM_SHIFT 8 5362306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__HWM_WIDTH 8 5462306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__HWM_RESET_VAL 128 5562306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__HWM_RMASK GENMASK_ULL(7, 0) 5662306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__HWM_MASK GENMASK_ULL(15, 8) 5762306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_SHIFT 32 5862306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_WIDTH 9 5962306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_RESET_VAL 256 6062306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_RMASK GENMASK_ULL(8, 0) 6162306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_MASK GENMASK_ULL(40, 32) 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci/* BF3 register offsets within resource 0. */ 6462306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_DATA_BF3 0x0000 6562306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_DATA_BF3 0x1000 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci/* BF3 register offsets within resource 1. */ 6862306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_STS_BF3 0x0000 6962306a36Sopenharmony_ci#define MLXBF_TMFIFO_RX_CTL_BF3 0x0008 7062306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_STS_BF3 0x0100 7162306a36Sopenharmony_ci#define MLXBF_TMFIFO_TX_CTL_BF3 0x0108 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci#endif /* !defined(__MLXBF_TMFIFO_REGS_H__) */ 74