diff mbox series

[v2] arm64: dts: imx8mm-venice-gw7901.dts: disable pgc_gpumix

Message ID 20211006153836.13760-1-tharvey@gateworks.com (mailing list archive)
State New, archived
Headers show
Series [v2] arm64: dts: imx8mm-venice-gw7901.dts: disable pgc_gpumix | expand

Commit Message

Tim Harvey Oct. 6, 2021, 3:38 p.m. UTC
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 <tharvey@gateworks.com>
---
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(+)

Comments

Lucas Stach Oct. 6, 2021, 4:26 p.m. UTC | #1
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 <tharvey@gateworks.com>

Reviewed-by: Lucas Stach <l.stach@pengutronix.de>

> ---
> 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>;
Shawn Guo Oct. 15, 2021, 2:43 a.m. UTC | #2
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 <tharvey@gateworks.com>

Applied, thanks!
diff mbox series

Patch

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>;