Message ID | 20211216161227.31960-1-tharvey@gateworks.com |
---|---|
State | Accepted |
Commit | 0c566618e27f17b5807086dba8c222ca8ca3dc1e |
Headers | show |
Series | arm64: dts: imx8mn-venice-gw7902: disable gpu | expand |
On Thu, Dec 16, 2021 at 08:12:27AM -0800, Tim Harvey wrote: > Since commit 99aa29932271 ("arm64: dts: imx8mn: Enable GPU") > imx8mn-venice-gw7902 will hang during kernel init because it uses > a MIMX8MN5CVTI which does not have a GPU. I do not quite follow on this. i.MX8MN integrates a GPU, and MIMX8MN5CVTI is built on i.MX8MN, correct? If so, how comes MIMX8MN5CVTI doesn't have a GPU? > > 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. Is this an indication that GPU should be disabled in imx8mn.dtsi and enabled board by board? Shawn > > Cc: Adam Ford <aford173@gmail.com> > Cc: Lucas Stach <l.stach@pengutronix.de> > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- > .../boot/dts/freescale/imx8mn-venice-gw7902.dts | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts b/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > index 236f425e1570..2d58005d20e4 100644 > --- a/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > +++ b/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > @@ -220,6 +220,10 @@ > }; > }; > > +&disp_blk_ctrl { > + status = "disabled"; > +}; > + > /* off-board header */ > &ecspi2 { > pinctrl-names = "default"; > @@ -251,6 +255,10 @@ > }; > }; > > +&gpu { > + status = "disabled"; > +}; > + > &i2c1 { > clock-frequency = <100000>; > pinctrl-names = "default"; > @@ -546,6 +554,10 @@ > status = "okay"; > }; > > +&pgc_gpumix { > + status = "disabled"; > +}; > + > /* off-board header */ > &sai3 { > pinctrl-names = "default"; > -- > 2.17.1 >
Am Mittwoch, dem 26.01.2022 um 17:35 +0800 schrieb Shawn Guo: > On Thu, Dec 16, 2021 at 08:12:27AM -0800, Tim Harvey wrote: > > Since commit 99aa29932271 ("arm64: dts: imx8mn: Enable GPU") > > imx8mn-venice-gw7902 will hang during kernel init because it uses > > a MIMX8MN5CVTI which does not have a GPU. > > I do not quite follow on this. i.MX8MN integrates a GPU, and > MIMX8MN5CVTI is built on i.MX8MN, correct? If so, how comes > MIMX8MN5CVTI doesn't have a GPU? > It's a fused-down variant of the i.MX8MN that has the GPU disabled by fuses. > > > > 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. > > Is this an indication that GPU should be disabled in imx8mn.dtsi and > enabled board by board? > There's a trade-off here: most boards will probably use the full variants that include the GPU, so probably less boards will need to disable the GPU, as done here, than boards that need to enable it when the base DT disables the GPU. Same story as with the i.MX6 where there are some SKUs that disable the VPU by fuses: we enable it in the base DT and if you happen to build a very low-cost board that uses the fused-down version you need to disable it in the board DT. Regards, Lucas > Shawn > > > > > Cc: Adam Ford <aford173@gmail.com> > > Cc: Lucas Stach <l.stach@pengutronix.de> > > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > > --- > > .../boot/dts/freescale/imx8mn-venice-gw7902.dts | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts b/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > > index 236f425e1570..2d58005d20e4 100644 > > --- a/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > > +++ b/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts > > @@ -220,6 +220,10 @@ > > }; > > }; > > > > +&disp_blk_ctrl { > > + status = "disabled"; > > +}; > > + > > /* off-board header */ > > &ecspi2 { > > pinctrl-names = "default"; > > @@ -251,6 +255,10 @@ > > }; > > }; > > > > +&gpu { > > + status = "disabled"; > > +}; > > + > > &i2c1 { > > clock-frequency = <100000>; > > pinctrl-names = "default"; > > @@ -546,6 +554,10 @@ > > status = "okay"; > > }; > > > > +&pgc_gpumix { > > + status = "disabled"; > > +}; > > + > > /* off-board header */ > > &sai3 { > > pinctrl-names = "default"; > > -- > > 2.17.1 > >
On Wed, Jan 26, 2022 at 10:58:56AM +0100, Lucas Stach wrote: > Am Mittwoch, dem 26.01.2022 um 17:35 +0800 schrieb Shawn Guo: > > On Thu, Dec 16, 2021 at 08:12:27AM -0800, Tim Harvey wrote: > > > Since commit 99aa29932271 ("arm64: dts: imx8mn: Enable GPU") > > > imx8mn-venice-gw7902 will hang during kernel init because it uses > > > a MIMX8MN5CVTI which does not have a GPU. > > > > I do not quite follow on this. i.MX8MN integrates a GPU, and > > MIMX8MN5CVTI is built on i.MX8MN, correct? If so, how comes > > MIMX8MN5CVTI doesn't have a GPU? > > > It's a fused-down variant of the i.MX8MN that has the GPU disabled by > fuses. > > > > > > > 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. > > > > Is this an indication that GPU should be disabled in imx8mn.dtsi and > > enabled board by board? > > > There's a trade-off here: most boards will probably use the full > variants that include the GPU, so probably less boards will need to > disable the GPU, as done here, than boards that need to enable it when > the base DT disables the GPU. > > Same story as with the i.MX6 where there are some SKUs that disable the > VPU by fuses: we enable it in the base DT and if you happen to build a > very low-cost board that uses the fused-down version you need to > disable it in the board DT. Thanks, Lucas! Patch applied! Shawn
diff --git a/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts b/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts index 236f425e1570..2d58005d20e4 100644 --- a/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts +++ b/arch/arm64/boot/dts/freescale/imx8mn-venice-gw7902.dts @@ -220,6 +220,10 @@ }; }; +&disp_blk_ctrl { + status = "disabled"; +}; + /* off-board header */ &ecspi2 { pinctrl-names = "default"; @@ -251,6 +255,10 @@ }; }; +&gpu { + status = "disabled"; +}; + &i2c1 { clock-frequency = <100000>; pinctrl-names = "default"; @@ -546,6 +554,10 @@ status = "okay"; }; +&pgc_gpumix { + status = "disabled"; +}; + /* off-board header */ &sai3 { pinctrl-names = "default";
Since commit 99aa29932271 ("arm64: dts: imx8mn: Enable GPU") imx8mn-venice-gw7902 will hang during kernel init because it uses a MIMX8MN5CVTI which does not have a GPU. 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. Cc: Adam Ford <aford173@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Tim Harvey <tharvey@gateworks.com> --- .../boot/dts/freescale/imx8mn-venice-gw7902.dts | 12 ++++++++++++ 1 file changed, 12 insertions(+)