18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Driver for Microsemi VSC85xx PHYs 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2020 Microsemi Corporation 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#ifndef _MSCC_PHY_FC_BUFFER_H_ 98c2ecf20Sopenharmony_ci#define _MSCC_PHY_FC_BUFFER_H_ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#define MSCC_FCBUF_ENA_CFG 0x00 128c2ecf20Sopenharmony_ci#define MSCC_FCBUF_MODE_CFG 0x01 138c2ecf20Sopenharmony_ci#define MSCC_FCBUF_PPM_RATE_ADAPT_THRESH_CFG 0x02 148c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_CTRL_QUEUE_CFG 0x03 158c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_DATA_QUEUE_CFG 0x04 168c2ecf20Sopenharmony_ci#define MSCC_FCBUF_RX_DATA_QUEUE_CFG 0x05 178c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_BUFF_XON_XOFF_THRESH_CFG 0x06 188c2ecf20Sopenharmony_ci#define MSCC_FCBUF_FC_READ_THRESH_CFG 0x07 198c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_FRM_GAP_COMP 0x08 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci#define MSCC_FCBUF_ENA_CFG_TX_ENA BIT(0) 228c2ecf20Sopenharmony_ci#define MSCC_FCBUF_ENA_CFG_RX_ENA BIT(4) 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci#define MSCC_FCBUF_MODE_CFG_DROP_BEHAVIOUR BIT(4) 258c2ecf20Sopenharmony_ci#define MSCC_FCBUF_MODE_CFG_PAUSE_REACT_ENA BIT(8) 268c2ecf20Sopenharmony_ci#define MSCC_FCBUF_MODE_CFG_RX_PPM_RATE_ADAPT_ENA BIT(12) 278c2ecf20Sopenharmony_ci#define MSCC_FCBUF_MODE_CFG_TX_PPM_RATE_ADAPT_ENA BIT(16) 288c2ecf20Sopenharmony_ci#define MSCC_FCBUF_MODE_CFG_TX_CTRL_QUEUE_ENA BIT(20) 298c2ecf20Sopenharmony_ci#define MSCC_FCBUF_MODE_CFG_PAUSE_GEN_ENA BIT(24) 308c2ecf20Sopenharmony_ci#define MSCC_FCBUF_MODE_CFG_INCLUDE_PAUSE_RCVD_IN_PAUSE_GEN BIT(28) 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci#define MSCC_FCBUF_PPM_RATE_ADAPT_THRESH_CFG_TX_THRESH(x) (x) 338c2ecf20Sopenharmony_ci#define MSCC_FCBUF_PPM_RATE_ADAPT_THRESH_CFG_TX_THRESH_M GENMASK(15, 0) 348c2ecf20Sopenharmony_ci#define MSCC_FCBUF_PPM_RATE_ADAPT_THRESH_CFG_TX_OFFSET(x) ((x) << 16) 358c2ecf20Sopenharmony_ci#define MSCC_FCBUF_PPM_RATE_ADAPT_THRESH_CFG_TX_OFFSET_M GENMASK(19, 16) 368c2ecf20Sopenharmony_ci#define MSCC_FCBUF_PPM_RATE_ADAPT_THRESH_CFG_RX_THRESH(x) ((x) << 20) 378c2ecf20Sopenharmony_ci#define MSCC_FCBUF_PPM_RATE_ADAPT_THRESH_CFG_RX_THRESH_M GENMASK(31, 20) 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_CTRL_QUEUE_CFG_START(x) (x) 408c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_CTRL_QUEUE_CFG_START_M GENMASK(15, 0) 418c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_CTRL_QUEUE_CFG_END(x) ((x) << 16) 428c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_CTRL_QUEUE_CFG_END_M GENMASK(31, 16) 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_DATA_QUEUE_CFG_START(x) (x) 458c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_DATA_QUEUE_CFG_START_M GENMASK(15, 0) 468c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_DATA_QUEUE_CFG_END(x) ((x) << 16) 478c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_DATA_QUEUE_CFG_END_M GENMASK(31, 16) 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci#define MSCC_FCBUF_RX_DATA_QUEUE_CFG_START(x) (x) 508c2ecf20Sopenharmony_ci#define MSCC_FCBUF_RX_DATA_QUEUE_CFG_START_M GENMASK(15, 0) 518c2ecf20Sopenharmony_ci#define MSCC_FCBUF_RX_DATA_QUEUE_CFG_END(x) ((x) << 16) 528c2ecf20Sopenharmony_ci#define MSCC_FCBUF_RX_DATA_QUEUE_CFG_END_M GENMASK(31, 16) 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_BUFF_XON_XOFF_THRESH_CFG_XOFF_THRESH(x) (x) 558c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_BUFF_XON_XOFF_THRESH_CFG_XOFF_THRESH_M GENMASK(15, 0) 568c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_BUFF_XON_XOFF_THRESH_CFG_XON_THRESH(x) ((x) << 16) 578c2ecf20Sopenharmony_ci#define MSCC_FCBUF_TX_BUFF_XON_XOFF_THRESH_CFG_XON_THRESH_M GENMASK(31, 16) 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci#define MSCC_FCBUF_FC_READ_THRESH_CFG_TX_THRESH(x) (x) 608c2ecf20Sopenharmony_ci#define MSCC_FCBUF_FC_READ_THRESH_CFG_TX_THRESH_M GENMASK(15, 0) 618c2ecf20Sopenharmony_ci#define MSCC_FCBUF_FC_READ_THRESH_CFG_RX_THRESH(x) ((x) << 16) 628c2ecf20Sopenharmony_ci#define MSCC_FCBUF_FC_READ_THRESH_CFG_RX_THRESH_M GENMASK(31, 16) 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci#endif /* _MSCC_PHY_FC_BUFFER_H_ */ 65