1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright 2009-2011 Freescale Semiconductor, Inc. 4 */ 5 6 #ifndef _FSL_PORTALS_H_ 7 #define _FSL_PORTALS_H_ 8 9 #include <linux/types.h> 10 11 /* entries must be in order and contiguous */ 12 enum fsl_dpaa_dev { 13 FSL_HW_PORTAL_SEC, 14 #ifdef CONFIG_SYS_DPAA_FMAN 15 FSL_HW_PORTAL_FMAN1, 16 #if (CFG_SYS_NUM_FMAN == 2) 17 FSL_HW_PORTAL_FMAN2, 18 #endif 19 #endif 20 FSL_HW_PORTAL_PME, 21 #ifdef CONFIG_SYS_FSL_RAID_ENGINE 22 FSL_HW_PORTAL_RAID_ENGINE, 23 #endif 24 #ifdef CONFIG_SYS_DPAA_RMAN 25 FSL_HW_PORTAL_RMAN, 26 #endif 27 #ifdef CONFIG_SYS_DPAA_DCE 28 FSL_HW_PORTAL_DCE, 29 #endif 30 31 }; 32 33 struct qportal_info { 34 u16 dliodn; /* DQRR LIODN */ 35 u16 fliodn; /* frame data LIODN */ 36 u16 liodn_offset; 37 u8 sdest; 38 }; 39 40 #define SET_QP_INFO(dqrr, fdata, off, dest) \ 41 { .dliodn = dqrr, .fliodn = fdata, .liodn_offset = off, .sdest = dest } 42 43 extern int get_dpaa_liodn(enum fsl_dpaa_dev dpaa_dev, 44 u32 *liodns, int liodn_offset); 45 extern struct qportal_info qp_info[]; 46 extern void fdt_portal(void *blob, const char *compat, const char *container, 47 u64 addr, u32 size); 48 49 #endif 50