2021-10-06 15:41:43

by Tim Harvey

[permalink] [raw]
Subject: [PATCH v2] arm64: dts: imx8mm-venice-gw7901.dts: disable pgc_gpumix

Since commit b21269b12e48 ("arm64: dts: imx8mm: add GPC node") the
GW7901 will hang during kernel init because it does not power the unused
GPU voltage rails on the IMX8MM. Disable pgc_gpumix to work around this.

We also disable the GPU devices that depend on the gpumix power domain
and pgc_gpu to avoid them staying in a probe deferred state forever.

Additionally as the MIPI voltage rail is also not connected on this
board we disable pgc_mipi and disp_blk_ctrl.

Signed-off-by: Tim Harvey <[email protected]>
---
v2:
- also disable pgc_gpu to keep gpu from getting in probe deferred state
- also disable pgc_mipi and disp_blk_ctrl as the MIPI power rails are
not connected
---
.../dts/freescale/imx8mm-venice-gw7901.dts | 24 +++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts b/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts
index bafd5c8ea4e2..21c546c4628d 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts
@@ -255,6 +255,10 @@
};
};

+&disp_blk_ctrl {
+ status = "disabled";
+};
+
&ecspi1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1>;
@@ -282,6 +286,14 @@
};
};

+&gpu_2d {
+ status = "disabled";
+};
+
+&gpu_3d {
+ status = "disabled";
+};
+
&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
@@ -632,6 +644,18 @@
status = "okay";
};

+&pgc_gpu {
+ status = "disabled";
+};
+
+&pgc_gpumix {
+ status = "disabled";
+};
+
+&pgc_mipi {
+ status = "disabled";
+};
+
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>, <&pinctrl_uart1_gpio>;
--
2.17.1


2021-10-06 16:28:43

by Lucas Stach

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: imx8mm-venice-gw7901.dts: disable pgc_gpumix

Am Mittwoch, dem 06.10.2021 um 08:38 -0700 schrieb Tim Harvey:
> Since commit b21269b12e48 ("arm64: dts: imx8mm: add GPC node") the
> GW7901 will hang during kernel init because it does not power the unused
> GPU voltage rails on the IMX8MM. Disable pgc_gpumix to work around this.
>
> We also disable the GPU devices that depend on the gpumix power domain
> and pgc_gpu to avoid them staying in a probe deferred state forever.
>
> Additionally as the MIPI voltage rail is also not connected on this
> board we disable pgc_mipi and disp_blk_ctrl.
>
> Signed-off-by: Tim Harvey <[email protected]>

Reviewed-by: Lucas Stach <[email protected]>

> ---
> v2:
> - also disable pgc_gpu to keep gpu from getting in probe deferred state
> - also disable pgc_mipi and disp_blk_ctrl as the MIPI power rails are
> not connected
> ---
> .../dts/freescale/imx8mm-venice-gw7901.dts | 24 +++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts b/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts
> index bafd5c8ea4e2..21c546c4628d 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts
> @@ -255,6 +255,10 @@
> };
> };
>
> +&disp_blk_ctrl {
> + status = "disabled";
> +};
> +
> &ecspi1 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_spi1>;
> @@ -282,6 +286,14 @@
> };
> };
>
> +&gpu_2d {
> + status = "disabled";
> +};
> +
> +&gpu_3d {
> + status = "disabled";
> +};
> +
> &i2c1 {
> clock-frequency = <100000>;
> pinctrl-names = "default";
> @@ -632,6 +644,18 @@
> status = "okay";
> };
>
> +&pgc_gpu {
> + status = "disabled";
> +};
> +
> +&pgc_gpumix {
> + status = "disabled";
> +};
> +
> +&pgc_mipi {
> + status = "disabled";
> +};
> +
> &uart1 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_uart1>, <&pinctrl_uart1_gpio>;


2021-10-15 11:15:09

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: imx8mm-venice-gw7901.dts: disable pgc_gpumix

On Wed, Oct 06, 2021 at 08:38:36AM -0700, Tim Harvey wrote:
> Since commit b21269b12e48 ("arm64: dts: imx8mm: add GPC node") the
> GW7901 will hang during kernel init because it does not power the unused
> GPU voltage rails on the IMX8MM. Disable pgc_gpumix to work around this.
>
> We also disable the GPU devices that depend on the gpumix power domain
> and pgc_gpu to avoid them staying in a probe deferred state forever.
>
> Additionally as the MIPI voltage rail is also not connected on this
> board we disable pgc_mipi and disp_blk_ctrl.
>
> Signed-off-by: Tim Harvey <[email protected]>

Applied, thanks!