[U-Boot] [PATCH] board/freescale: Share qbman init between archs

York Sun york.sun at nxp.com
Mon Jul 31 16:53:37 UTC 2017


On 05/12/2017 01:30 PM, Roy Pledge wrote:
> From: Ahmed Mansour <ahmed.mansour at 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
> - 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 at nxp.com>
> Signed-off-by: Roy Pledge <roy.pledge at 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
> 

Roy,

Compiling all 85xx found two issues. One is setup_portals(), called by 
P1023RDB and Cyrus boards directly. The other issue is the 
board/freescale/common is not compiled for other than Freescale boards 
for obvious reason. However, several boards have 85xx SoCs with QBMan 
portal. They are kmlion1,Cyrus_P5040,Cyrus_P5020,kmcoge4. Please check 
how to make them happy.

York


More information about the U-Boot mailing list