-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
platform/mellanox: Add TmFifo driver for Mellanox BlueField Soc
This commit adds the TmFifo platform driver for Mellanox BlueField Soc. TmFifo is a shared FIFO which enables external host machine to exchange data with the SoC via USB or PCIe. The driver is based on virtio framework and has console and network access enabled. Reviewed-by: Vadim Pasternak <vadimp@mellanox.com> Signed-off-by: Liming Sun <lsun@mellanox.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
- Loading branch information
Liming Sun
authored and
Andy Shevchenko
committed
May 6, 2019
1 parent
d33a7e5
commit 1357dfd
Showing
4 changed files
with
1,356 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
/* | ||
* Copyright (c) 2019, Mellanox Technologies. All rights reserved. | ||
*/ | ||
|
||
#ifndef __MLXBF_TMFIFO_REGS_H__ | ||
#define __MLXBF_TMFIFO_REGS_H__ | ||
|
||
#include <linux/types.h> | ||
#include <linux/bits.h> | ||
|
||
#define MLXBF_TMFIFO_TX_DATA 0x00 | ||
#define MLXBF_TMFIFO_TX_STS 0x08 | ||
#define MLXBF_TMFIFO_TX_STS__LENGTH 0x0001 | ||
#define MLXBF_TMFIFO_TX_STS__COUNT_SHIFT 0 | ||
#define MLXBF_TMFIFO_TX_STS__COUNT_WIDTH 9 | ||
#define MLXBF_TMFIFO_TX_STS__COUNT_RESET_VAL 0 | ||
#define MLXBF_TMFIFO_TX_STS__COUNT_RMASK GENMASK_ULL(8, 0) | ||
#define MLXBF_TMFIFO_TX_STS__COUNT_MASK GENMASK_ULL(8, 0) | ||
#define MLXBF_TMFIFO_TX_CTL 0x10 | ||
#define MLXBF_TMFIFO_TX_CTL__LENGTH 0x0001 | ||
#define MLXBF_TMFIFO_TX_CTL__LWM_SHIFT 0 | ||
#define MLXBF_TMFIFO_TX_CTL__LWM_WIDTH 8 | ||
#define MLXBF_TMFIFO_TX_CTL__LWM_RESET_VAL 128 | ||
#define MLXBF_TMFIFO_TX_CTL__LWM_RMASK GENMASK_ULL(7, 0) | ||
#define MLXBF_TMFIFO_TX_CTL__LWM_MASK GENMASK_ULL(7, 0) | ||
#define MLXBF_TMFIFO_TX_CTL__HWM_SHIFT 8 | ||
#define MLXBF_TMFIFO_TX_CTL__HWM_WIDTH 8 | ||
#define MLXBF_TMFIFO_TX_CTL__HWM_RESET_VAL 128 | ||
#define MLXBF_TMFIFO_TX_CTL__HWM_RMASK GENMASK_ULL(7, 0) | ||
#define MLXBF_TMFIFO_TX_CTL__HWM_MASK GENMASK_ULL(15, 8) | ||
#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_SHIFT 32 | ||
#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_WIDTH 9 | ||
#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_RESET_VAL 256 | ||
#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_RMASK GENMASK_ULL(8, 0) | ||
#define MLXBF_TMFIFO_TX_CTL__MAX_ENTRIES_MASK GENMASK_ULL(40, 32) | ||
#define MLXBF_TMFIFO_RX_DATA 0x00 | ||
#define MLXBF_TMFIFO_RX_STS 0x08 | ||
#define MLXBF_TMFIFO_RX_STS__LENGTH 0x0001 | ||
#define MLXBF_TMFIFO_RX_STS__COUNT_SHIFT 0 | ||
#define MLXBF_TMFIFO_RX_STS__COUNT_WIDTH 9 | ||
#define MLXBF_TMFIFO_RX_STS__COUNT_RESET_VAL 0 | ||
#define MLXBF_TMFIFO_RX_STS__COUNT_RMASK GENMASK_ULL(8, 0) | ||
#define MLXBF_TMFIFO_RX_STS__COUNT_MASK GENMASK_ULL(8, 0) | ||
#define MLXBF_TMFIFO_RX_CTL 0x10 | ||
#define MLXBF_TMFIFO_RX_CTL__LENGTH 0x0001 | ||
#define MLXBF_TMFIFO_RX_CTL__LWM_SHIFT 0 | ||
#define MLXBF_TMFIFO_RX_CTL__LWM_WIDTH 8 | ||
#define MLXBF_TMFIFO_RX_CTL__LWM_RESET_VAL 128 | ||
#define MLXBF_TMFIFO_RX_CTL__LWM_RMASK GENMASK_ULL(7, 0) | ||
#define MLXBF_TMFIFO_RX_CTL__LWM_MASK GENMASK_ULL(7, 0) | ||
#define MLXBF_TMFIFO_RX_CTL__HWM_SHIFT 8 | ||
#define MLXBF_TMFIFO_RX_CTL__HWM_WIDTH 8 | ||
#define MLXBF_TMFIFO_RX_CTL__HWM_RESET_VAL 128 | ||
#define MLXBF_TMFIFO_RX_CTL__HWM_RMASK GENMASK_ULL(7, 0) | ||
#define MLXBF_TMFIFO_RX_CTL__HWM_MASK GENMASK_ULL(15, 8) | ||
#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_SHIFT 32 | ||
#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_WIDTH 9 | ||
#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_RESET_VAL 256 | ||
#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_RMASK GENMASK_ULL(8, 0) | ||
#define MLXBF_TMFIFO_RX_CTL__MAX_ENTRIES_MASK GENMASK_ULL(40, 32) | ||
|
||
#endif /* !defined(__MLXBF_TMFIFO_REGS_H__) */ |
Oops, something went wrong.