diff options
author | Ahmed Mansour <ahmed.mansour@nxp.com> | 2017-12-16 00:01:00 +0300 |
---|---|---|
committer | York Sun <york.sun@nxp.com> | 2018-01-10 23:28:47 +0300 |
commit | 44262327aa288b111a41ce067bed235759db4c1c (patch) | |
tree | ca3e7a54d6e094a0c28b4aeb106374ef5c2c1692 /board | |
parent | 1b76f3b8ab70f221e4272026cabe0b60953eb8cf (diff) | |
download | u-boot-44262327aa288b111a41ce067bed235759db4c1c.tar.xz |
drivers/misc: Share qbman init between archs
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>
Diffstat (limited to 'board')
-rw-r--r-- | board/freescale/p1023rdb/p1023rdb.c | 3 | ||||
-rw-r--r-- | board/keymile/kmp204x/kmp204x.c | 2 | ||||
-rw-r--r-- | board/varisys/cyrus/cyrus.c | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/board/freescale/p1023rdb/p1023rdb.c b/board/freescale/p1023rdb/p1023rdb.c index ccda824125..a23a5d5078 100644 --- a/board/freescale/p1023rdb/p1023rdb.c +++ b/board/freescale/p1023rdb/p1023rdb.c @@ -18,6 +18,7 @@ #include <asm/fsl_pci.h> #include <fsl_ddr_sdram.h> #include <asm/fsl_portals.h> +#include <fsl_qbman.h> #include <libfdt.h> #include <fdt_support.h> #include <netdev.h> @@ -81,7 +82,7 @@ int board_early_init_r(void) MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 0, flash_esel, BOOKE_PAGESZ_256M, 1); - setup_portals(); + setup_qbman_portals(); return 0; } diff --git a/board/keymile/kmp204x/kmp204x.c b/board/keymile/kmp204x/kmp204x.c index 8c9d6b167d..d70b1d1393 100644 --- a/board/keymile/kmp204x/kmp204x.c +++ b/board/keymile/kmp204x/kmp204x.c @@ -126,7 +126,7 @@ int board_early_init_r(void) invalidate_icache(); set_liodns(); - setup_portals(); + setup_qbman_portals(); ret = trigger_fpga_config(); if (ret) diff --git a/board/varisys/cyrus/cyrus.c b/board/varisys/cyrus/cyrus.c index 30f518abe8..f4586272b1 100644 --- a/board/varisys/cyrus/cyrus.c +++ b/board/varisys/cyrus/cyrus.c @@ -69,7 +69,7 @@ int board_early_init_r(void) set_liodns(); #ifdef CONFIG_SYS_DPAA_QBMAN - setup_portals(); + setup_qbman_portals(); #endif print_lbc_regs(); return 0; |