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