mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-23 10:28:51 +09:00
![Ahmed Mansour](/assets/img/avatar_default.png)
This patch adds changes necessary to move functionality present in PowerPC folders with ARM architectures that have DPAA1 QBMan hardware - Create new board/freescale/common/fsl_portals.c to house shared device tree fixups for DPAA1 devices with ARM and PowerPC cores - Add new header file to top includes directory to allow files in both architectures to grab the function prototypes - Port inhibit_portals() from PowerPC to ARM. This function is used in setup to disable interrupts on all QMan and BMan portals. It is needed because the interrupts are enabled by default for all portals including unused/uninitialised portals. When the kernel attempts to go to deep sleep the unused portals prevent it from doing so Signed-off-by: Ahmed Mansour <ahmed.mansour@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
49 lines
1.0 KiB
C
49 lines
1.0 KiB
C
/*
|
|
* Copyright 2009-2011 Freescale Semiconductor, Inc.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef _FSL_PORTALS_H_
|
|
#define _FSL_PORTALS_H_
|
|
|
|
/* entries must be in order and contiguous */
|
|
enum fsl_dpaa_dev {
|
|
FSL_HW_PORTAL_SEC,
|
|
#ifdef CONFIG_SYS_DPAA_FMAN
|
|
FSL_HW_PORTAL_FMAN1,
|
|
#if (CONFIG_SYS_NUM_FMAN == 2)
|
|
FSL_HW_PORTAL_FMAN2,
|
|
#endif
|
|
#endif
|
|
FSL_HW_PORTAL_PME,
|
|
#ifdef CONFIG_SYS_FSL_RAID_ENGINE
|
|
FSL_HW_PORTAL_RAID_ENGINE,
|
|
#endif
|
|
#ifdef CONFIG_SYS_DPAA_RMAN
|
|
FSL_HW_PORTAL_RMAN,
|
|
#endif
|
|
#ifdef CONFIG_SYS_DPAA_DCE
|
|
FSL_HW_PORTAL_DCE,
|
|
#endif
|
|
|
|
};
|
|
|
|
struct qportal_info {
|
|
u16 dliodn; /* DQRR LIODN */
|
|
u16 fliodn; /* frame data LIODN */
|
|
u16 liodn_offset;
|
|
u8 sdest;
|
|
};
|
|
|
|
#define SET_QP_INFO(dqrr, fdata, off, dest) \
|
|
{ .dliodn = dqrr, .fliodn = fdata, .liodn_offset = off, .sdest = dest }
|
|
|
|
extern int get_dpaa_liodn(enum fsl_dpaa_dev dpaa_dev,
|
|
u32 *liodns, int liodn_offset);
|
|
extern struct qportal_info qp_info[];
|
|
extern void fdt_portal(void *blob, const char *compat, const char *container,
|
|
u64 addr, u32 size);
|
|
|
|
#endif
|