xref: /openbmc/u-boot/drivers/net/mscc_eswitch/mscc_xfer.h (revision 36d04f52ff3e832862a25bf474f0224e995b6ca1)
1*36d04f52SHoratiu Vultur /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2*36d04f52SHoratiu Vultur /*
3*36d04f52SHoratiu Vultur  * Copyright (c) 2018 Microsemi Corporation
4*36d04f52SHoratiu Vultur  */
5*36d04f52SHoratiu Vultur 
6*36d04f52SHoratiu Vultur #include <common.h>
7*36d04f52SHoratiu Vultur 
8*36d04f52SHoratiu Vultur enum mscc_regs_qs {
9*36d04f52SHoratiu Vultur 	MSCC_QS_XTR_RD,
10*36d04f52SHoratiu Vultur 	MSCC_QS_XTR_FLUSH,
11*36d04f52SHoratiu Vultur 	MSCC_QS_XTR_DATA_PRESENT,
12*36d04f52SHoratiu Vultur 	MSCC_QS_INJ_WR,
13*36d04f52SHoratiu Vultur 	MSCC_QS_INJ_CTRL,
14*36d04f52SHoratiu Vultur };
15*36d04f52SHoratiu Vultur 
16*36d04f52SHoratiu Vultur int mscc_send(void __iomem *regs, const unsigned long *mscc_qs_offset,
17*36d04f52SHoratiu Vultur 	      u32 *ifh, size_t ifh_len, u32 *buff, size_t buff_len);
18*36d04f52SHoratiu Vultur int mscc_recv(void __iomem *regs, const unsigned long *mscc_qs_offset,
19*36d04f52SHoratiu Vultur 	      u32 *rxbuf, size_t ifh_len, bool byte_swap);
20*36d04f52SHoratiu Vultur void mscc_flush(void __iomem *regs, const unsigned long *mscc_qs_offset);
21