[PATCH] arm64: dts: imx8m: Disable job ring 0 nodes

ZHIZHIKIN Andrey andrey.zhizhikin at leica-geosystems.com
Fri Jun 10 05:22:18 PDT 2022


Hello Fabio,

As I can see, this is a continuation of the series that I've
posted a while ago [1], so I would also Cc: people that
expressed their concerns regarding this change, specifically
Rouven.

> -----Original Message-----
> From: Fabio Estevam <festevam at denx.de>
> Sent: Wednesday, June 8, 2022 7:02 PM
> To: shawnguo at kernel.org
> Cc: linux-arm-kernel at lists.infradead.org; ZHIZHIKIN Andrey
> <andrey.zhizhikin at leica-geosystems.com>; linux-imx at nxp.com;
> kernel at pengutronix.de; gaurav.jain at nxp.com; Fabio Estevam <festevam at denx.de>
> Subject: [PATCH] arm64: dts: imx8m: Disable job ring 0 nodes
> 
> Now that the JR0 reservation is done in both upstream (v2.7) and
> downstream (NXP lf_v2.4) TF-A versions, the kernel fails to initialize
> the job ring 0:
> 
>  # dmesg | grep jr
> caam_jr 30901000.jr: failed to flush job ring 0
> caam_jr: probe of 30901000.jr failed with error -5
> 
> Disable the sec_jr0 nodes by default to avoid the caam_jr probe error.
> 
> Suggested-by: Andrey Zhizhikin <andrey.zhizhikin at leica-geosystems.com>
> Signed-off-by: Fabio Estevam <festevam at denx.de>
> ---
>  arch/arm64/boot/dts/freescale/imx8mm.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mn.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mq.dtsi | 1 +
>  4 files changed, 4 insertions(+)

Now, that both U-Boot gained HAB support for i.MX8M series [2],
and TF-A have a JR0 reservation per default [3], I see no
objections this reservation to be made in Kernel DTBs.

With that said,

Reviewed-by: Andrey Zhizhikin <andrey.zhizhikin at leica-geosystems.com>

> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> index 1bf070473829..8049a16d6027 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> @@ -911,6 +911,7 @@ sec_jr0: jr at 1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105
> IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr at 2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> index e41e1d56f980..fdfcc75a80e8 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> @@ -857,6 +857,7 @@ sec_jr0: jr at 1000 {
>                                          compatible = "fsl,sec-v4.0-job-ring";
>                                          reg = <0x1000 0x1000>;
>                                          interrupts = <GIC_SPI 105
> IRQ_TYPE_LEVEL_HIGH>;
> +                                        status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr at 2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index d9542dfff83f..c560d867fb6e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -791,6 +791,7 @@ sec_jr0: jr at 1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105
> IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr at 2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index 49eadb081b19..4338d82a28de 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -1018,6 +1018,7 @@ sec_jr0: jr at 1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105
> IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr at 2000 {
> --
> 2.25.1

-- andrey

Link: [1]: https://lore.kernel.org/lkml/20211207230206.14637-3-andrey.zhizhikin@leica-geosystems.com/
Link: [2]: https://lore.kernel.org/u-boot/20220324062038.2187-1-gaurav.jain@nxp.com/
Link: [3]: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/plat/imx/imx8m/imx8m_caam.c?id=77850c96f23bcdc76ecb0ecd27a982c00fde5d9d



More information about the linux-arm-kernel mailing list