Message ID | 20200430124602.14463-5-frieder.schrempf@kontron.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for i.MX8MM GPUs through Etnaviv | expand |
On Thu, Apr 30, 2020 at 7:46 AM Schrempf Frieder <frieder.schrempf@kontron.de> wrote: > > From: Frieder Schrempf <frieder.schrempf@kontron.de> > > According to the documents, the i.MX8M-Mini features a GC320 and a > GCNanoUltra GPU core. Etnaviv detects them as: > > etnaviv-gpu 38000000.gpu: model: GC600, revision: 4653 > etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341 > > This seems to work fine more or less without any changes to the HWDB, > which still might be needed in the future to correct some features, > etc. > > Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> > --- Since not everyone uses the 3D or 2D, would it make sense to mark them as disabled by default and let people who need the 3D and 2D enable them at their respective board files? adam > 2.17.1
Am Sonntag, den 03.05.2020, 09:49 -0500 schrieb Adam Ford: > On Thu, Apr 30, 2020 at 7:46 AM Schrempf Frieder > <frieder.schrempf@kontron.de> wrote: > > From: Frieder Schrempf <frieder.schrempf@kontron.de> > > > > According to the documents, the i.MX8M-Mini features a GC320 and a > > GCNanoUltra GPU core. Etnaviv detects them as: > > > > etnaviv-gpu 38000000.gpu: model: GC600, revision: 4653 > > etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341 > > > > This seems to work fine more or less without any changes to the HWDB, > > which still might be needed in the future to correct some features, > > etc. > > > > Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> > > --- > Since not everyone uses the 3D or 2D, would it make sense to mark them > as disabled by default and let people who need the 3D and 2D enable > them at their respective board files? No, devices on the SoC with no external dependencies should be always enabled. The board has much less influence over whether the GPU is being used than the specific use-case. While the board designer may not even think about using the GPUs (because no display connector present or something like that) people using the board may still find uses for the GPU, like doing video pipeline color space conversions or something lie that. Regards, Lucas
On 03.05.20 16:49, Adam Ford wrote: > On Thu, Apr 30, 2020 at 7:46 AM Schrempf Frieder > <frieder.schrempf@kontron.de> wrote: >> >> From: Frieder Schrempf <frieder.schrempf@kontron.de> >> >> According to the documents, the i.MX8M-Mini features a GC320 and a >> GCNanoUltra GPU core. Etnaviv detects them as: >> >> etnaviv-gpu 38000000.gpu: model: GC600, revision: 4653 >> etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341 >> >> This seems to work fine more or less without any changes to the HWDB, >> which still might be needed in the future to correct some features, >> etc. >> >> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> >> --- > Since not everyone uses the 3D or 2D, would it make sense to mark them > as disabled by default and let people who need the 3D and 2D enable > them at their respective board files? I would rather keep it the way it has been done for other SoCs. Looking at the i.MX6 devicetrees, they all seem to have the GPUs enabled by default.
On 06.05.20 13:45, Frieder Schrempf wrote: > On 03.05.20 16:49, Adam Ford wrote: >> On Thu, Apr 30, 2020 at 7:46 AM Schrempf Frieder >> <frieder.schrempf@kontron.de> wrote: >>> >>> From: Frieder Schrempf <frieder.schrempf@kontron.de> >>> >>> According to the documents, the i.MX8M-Mini features a GC320 and a >>> GCNanoUltra GPU core. Etnaviv detects them as: >>> >>> etnaviv-gpu 38000000.gpu: model: GC600, revision: 4653 >>> etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341 >>> >>> This seems to work fine more or less without any changes to the HWDB, >>> which still might be needed in the future to correct some features, >>> etc. >>> >>> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> >>> --- >> Since not everyone uses the 3D or 2D, would it make sense to mark them >> as disabled by default and let people who need the 3D and 2D enable >> them at their respective board files? > > I would rather keep it the way it has been done for other SoCs. Looking > at the i.MX6 devicetrees, they all seem to have the GPUs enabled by > default. Ah, I had missed Lucas reply. He already provided much better arguments for keeping the GPUs enabled by default.
diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi index cc7152ecedd9..1dd0a6e849d3 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi @@ -937,6 +937,42 @@ status = "disabled"; }; + gpu_3d: gpu@38000000 { + compatible = "vivante,gc"; + reg = <0x38000000 0x8000>; + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clk IMX8MM_CLK_GPU_AHB>, + <&clk IMX8MM_CLK_GPU_BUS_ROOT>, + <&clk IMX8MM_CLK_GPU3D_ROOT>; + clock-names = "reg", "bus", "core"; + assigned-clocks = <&clk IMX8MM_CLK_GPU3D_SRC>, + <&clk IMX8MM_CLK_GPU_AXI>, + <&clk IMX8MM_CLK_GPU_AHB>, + <&clk IMX8MM_GPU_PLL_OUT>; + assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>, + <&clk IMX8MM_SYS_PLL1_800M>, + <&clk IMX8MM_SYS_PLL1_800M>; + assigned-clock-rates = <0>, <0>,<400000000>,<1000000000>; + }; + + gpu_2d: gpu@38008000 { + compatible = "vivante,gc"; + reg = <0x38008000 0x8000>; + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clk IMX8MM_CLK_GPU_AHB>, + <&clk IMX8MM_CLK_GPU_BUS_ROOT>, + <&clk IMX8MM_CLK_GPU2D_ROOT>; + clock-names = "reg", "bus", "core"; + assigned-clocks = <&clk IMX8MM_CLK_GPU2D_SRC>, + <&clk IMX8MM_CLK_GPU_AXI>, + <&clk IMX8MM_CLK_GPU_AHB>, + <&clk IMX8MM_GPU_PLL_OUT>; + assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>, + <&clk IMX8MM_SYS_PLL1_800M>, + <&clk IMX8MM_SYS_PLL1_800M>; + assigned-clock-rates = <0>, <0>,<400000000>,<1000000000>; + }; + gic: interrupt-controller@38800000 { compatible = "arm,gic-v3"; reg = <0x38800000 0x10000>, /* GIC Dist */