
On 05/31/2017 08:17 AM, Roy Pledge wrote:
On 5/30/2017 12:40 PM, york sun wrote:
On 05/12/2017 01:30 PM, Roy Pledge wrote:
From: Ahmed Mansour ahmed.mansour@nxp.com
This patch adds changes necessary to move functionality present in PowerPC folders with ARM architectures that have DPAA1 QBMan hardware
- Created new board/freescale/common/portals.c to house shared device tree fixups for DPAA1 devices with ARM and PowerPC cores
I don't think using board/freescale/common/portals.c is the best solution. QBMan is a SoC feature, not Freescale board specific. Please consider to move it to somewhere common.
Do you have a suggestion? We choose this location as the fman support is in this directory as well. There doesn't seem to be a good place to share SoC specific drivers other than perhaps drivers/soc but there is very little in that directory right now.
How about drivers/misc? We have IFC driver there.
- Added 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 Signed-off-by: Roy Pledge roy.pledge@nxp.com
arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 7 + arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 15 + .../arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c | 3 + .../include/asm/arch-fsl-layerscape/immap_lsch2.h | 29 ++ arch/powerpc/cpu/mpc85xx/cpu_init.c | 3 +- arch/powerpc/cpu/mpc85xx/fdt.c | 1 + arch/powerpc/cpu/mpc85xx/portals.c | 281 ------------------- arch/powerpc/include/asm/fsl_liodn.h | 5 +- arch/powerpc/include/asm/fsl_portals.h | 4 - arch/powerpc/include/asm/immap_85xx.h | 60 ---- board/freescale/common/Makefile | 2 + board/freescale/common/portals.c | 312 +++++++++++++++++++++ include/configs/ls1043a_common.h | 2 + include/fsl_qbman.h | 75 +++++ 14 files changed, 451 insertions(+), 348 deletions(-) create mode 100644 board/freescale/common/portals.c create mode 100644 include/fsl_qbman.h
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index bb02960..4b5b1b4 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -26,6 +26,10 @@ #ifdef CONFIG_SYS_FSL_DDR #include <fsl_ddr.h> #endif +#include <fsl_immap.h> +#ifdef CONFIG_SYS_DPAA_QBMAN +#include <fsl_qbman.h> +#endif
Do not use ifdef if you can avoid it.
<snip>
diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h index e269248..e2d6ef1 100644 --- a/include/configs/ls1043a_common.h +++ b/include/configs/ls1043a_common.h @@ -201,6 +201,8 @@ #endif #endif
+#define CONFIG_SYS_DPAA_QBMAN /* Support Q/Bman */
It's better to move this option to Kconfig.
Again we copied what was done for FMan here
We are moving config options to Kconfig.
York