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