xref: /openbmc/u-boot/include/fsl_qbman.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
244262327SAhmed Mansour /*
344262327SAhmed Mansour  * Copyright 2017 NXP
444262327SAhmed Mansour  */
544262327SAhmed Mansour 
644262327SAhmed Mansour #ifndef __FSL_QBMAN_H__
744262327SAhmed Mansour #define __FSL_QBMAN_H__
844262327SAhmed Mansour void fdt_fixup_qportals(void *blob);
944262327SAhmed Mansour void fdt_fixup_bportals(void *blob);
1044262327SAhmed Mansour void inhibit_portals(void __iomem *addr, int max_portals,
1144262327SAhmed Mansour 		     int arch_max_portals, int portal_cinh_size);
1244262327SAhmed Mansour void setup_qbman_portals(void);
1344262327SAhmed Mansour 
1444262327SAhmed Mansour struct ccsr_qman {
1544262327SAhmed Mansour #ifdef CONFIG_SYS_FSL_QMAN_V3
1644262327SAhmed Mansour 	u8	res0[0x200];
1744262327SAhmed Mansour #else
1844262327SAhmed Mansour 	struct {
1944262327SAhmed Mansour 		u32	qcsp_lio_cfg;	/* 0x0 - SW Portal n LIO cfg */
2044262327SAhmed Mansour 		u32	qcsp_io_cfg;	/* 0x4 - SW Portal n IO cfg */
2144262327SAhmed Mansour 		u32	res;
2244262327SAhmed Mansour 		u32	qcsp_dd_cfg;	/* 0xc - SW Portal Dynamic Debug cfg */
2344262327SAhmed Mansour 	} qcsp[32];
2444262327SAhmed Mansour #endif
2544262327SAhmed Mansour 	/* Not actually reserved, but irrelevant to u-boot */
2644262327SAhmed Mansour 	u8	res[0xbf8 - 0x200];
2744262327SAhmed Mansour 	u32	ip_rev_1;
2844262327SAhmed Mansour 	u32	ip_rev_2;
2944262327SAhmed Mansour 	u32	fqd_bare;	/* FQD Extended Base Addr Register */
3044262327SAhmed Mansour 	u32	fqd_bar;	/* FQD Base Addr Register */
3144262327SAhmed Mansour 	u8	res1[0x8];
3244262327SAhmed Mansour 	u32	fqd_ar;		/* FQD Attributes Register */
3344262327SAhmed Mansour 	u8	res2[0xc];
3444262327SAhmed Mansour 	u32	pfdr_bare;	/* PFDR Extended Base Addr Register */
3544262327SAhmed Mansour 	u32	pfdr_bar;	/* PFDR Base Addr Register */
3644262327SAhmed Mansour 	u8	res3[0x8];
3744262327SAhmed Mansour 	u32	pfdr_ar;	/* PFDR Attributes Register */
3844262327SAhmed Mansour 	u8	res4[0x4c];
3944262327SAhmed Mansour 	u32	qcsp_bare;	/* QCSP Extended Base Addr Register */
4044262327SAhmed Mansour 	u32	qcsp_bar;	/* QCSP Base Addr Register */
4144262327SAhmed Mansour 	u8	res5[0x78];
4244262327SAhmed Mansour 	u32	ci_sched_cfg;	/* Initiator Scheduling Configuration */
4344262327SAhmed Mansour 	u32	srcidr;		/* Source ID Register */
4444262327SAhmed Mansour 	u32	liodnr;		/* LIODN Register */
4544262327SAhmed Mansour 	u8	res6[4];
4644262327SAhmed Mansour 	u32	ci_rlm_cfg;	/* Initiator Read Latency Monitor Cfg */
4744262327SAhmed Mansour 	u32	ci_rlm_avg;	/* Initiator Read Latency Monitor Avg */
4844262327SAhmed Mansour 	u8	res7[0x2e8];
4944262327SAhmed Mansour #ifdef CONFIG_SYS_FSL_QMAN_V3
5044262327SAhmed Mansour 	struct {
5144262327SAhmed Mansour 		u32	qcsp_lio_cfg;	/* 0x0 - SW Portal n LIO cfg */
5244262327SAhmed Mansour 		u32	qcsp_io_cfg;	/* 0x4 - SW Portal n IO cfg */
5344262327SAhmed Mansour 		u32	res;
5444262327SAhmed Mansour 		u32	qcsp_dd_cfg;	/* 0xc - SW Portal n Dynamic Debug cfg*/
5544262327SAhmed Mansour 	} qcsp[50];
5644262327SAhmed Mansour #endif
5744262327SAhmed Mansour };
5844262327SAhmed Mansour 
5944262327SAhmed Mansour struct ccsr_bman {
6044262327SAhmed Mansour 	/* Not actually reserved, but irrelevant to u-boot */
6144262327SAhmed Mansour 	u8	res[0xbf8];
6244262327SAhmed Mansour 	u32	ip_rev_1;
6344262327SAhmed Mansour 	u32	ip_rev_2;
6444262327SAhmed Mansour 	u32	fbpr_bare;	/* FBPR Extended Base Addr Register */
6544262327SAhmed Mansour 	u32	fbpr_bar;	/* FBPR Base Addr Register */
6644262327SAhmed Mansour 	u8	res1[0x8];
6744262327SAhmed Mansour 	u32	fbpr_ar;	/* FBPR Attributes Register */
6844262327SAhmed Mansour 	u8	res2[0xf0];
6944262327SAhmed Mansour 	u32	srcidr;		/* Source ID Register */
7044262327SAhmed Mansour 	u32	liodnr;		/* LIODN Register */
7144262327SAhmed Mansour 	u8	res7[0x2f4];
7244262327SAhmed Mansour };
7344262327SAhmed Mansour 
7444262327SAhmed Mansour #endif /* __FSL_QBMAN_H__ */
75