xref: /freebsd/sys/dev/dpaa/fman_port.h (revision 7a40b8a89e7da2a7e8d8e132bc37885b22e9bfb1)
1*7a40b8a8SJustin Hibbits /*
2fd8d34ceSJustin Hibbits  * Copyright (c) 2026 Justin Hibbits
3*7a40b8a8SJustin Hibbits  *
4*7a40b8a8SJustin Hibbits  * SPDX-License-Identifier: BSD-2-Clause
5fd8d34ceSJustin Hibbits  */
6fd8d34ceSJustin Hibbits 
7fd8d34ceSJustin Hibbits #ifndef DPAA_FMAN_PORT_H
8fd8d34ceSJustin Hibbits #define	DPAA_FMAN_PORT_H
9fd8d34ceSJustin Hibbits 
10fd8d34ceSJustin Hibbits #define	FMAN_PORT_MAX_POOLS	4
11fd8d34ceSJustin Hibbits struct fman_port_buffer_pool {
12fd8d34ceSJustin Hibbits 	uint8_t bpid;
13fd8d34ceSJustin Hibbits 	uint16_t size;
14fd8d34ceSJustin Hibbits };
15fd8d34ceSJustin Hibbits 
16fd8d34ceSJustin Hibbits struct fman_port_params {
17fd8d34ceSJustin Hibbits 	uint32_t dflt_fqid;	/* Must not be 0 */
18fd8d34ceSJustin Hibbits 	uint32_t err_fqid;
19fd8d34ceSJustin Hibbits 	union {
20fd8d34ceSJustin Hibbits 		struct {
21fd8d34ceSJustin Hibbits 			int num_pools;
22fd8d34ceSJustin Hibbits 			struct fman_port_buffer_pool bpools[FMAN_PORT_MAX_POOLS];
23fd8d34ceSJustin Hibbits 		} rx_params;
24fd8d34ceSJustin Hibbits 		struct {
25fd8d34ceSJustin Hibbits 		} tx_params;
26fd8d34ceSJustin Hibbits 	};
27fd8d34ceSJustin Hibbits };
28fd8d34ceSJustin Hibbits 
29fd8d34ceSJustin Hibbits #endif
30