[U-Boot] [PATCH] board/freescale: Share qbman init between archs
Roy Pledge
roy.pledge at nxp.com
Wed May 31 15:17:45 UTC 2017
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 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
> 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.
>
>> - 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
>>
>> 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
>
> York
>
More information about the U-Boot
mailing list