xref: /rk3399_rockchip-uboot/arch/powerpc/include/asm/fsl_portals.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
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