On Mon, Mar 24, 2025 at 08:02:06AM +0100, Alexander Stein wrote: >Am Freitag, 21. M?rz 2025, 21:05:59 CET schrieb Marek Vasut: >> The instance of the GPU populated in i.MX95 is the G310, >> describe this GPU in the DT. Include description of the >> GPUMIX block controller, which can be operated as a simple >> reset. Include dummy GPU voltage regulator and OPP tables. >> >> Signed-off-by: Marek Vasut <ma...@denx.de> >> --- >> Cc: Boris Brezillon <boris.brezil...@collabora.com> >> Cc: Conor Dooley <conor...@kernel.org> >> Cc: David Airlie <airl...@gmail.com> >> Cc: Fabio Estevam <feste...@gmail.com> >> Cc: Krzysztof Kozlowski <krzk...@kernel.org> >> Cc: Liviu Dudau <liviu.du...@arm.com> >> Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com> >> Cc: Maxime Ripard <mrip...@kernel.org> >> Cc: Pengutronix Kernel Team <ker...@pengutronix.de> >> Cc: Philipp Zabel <p.za...@pengutronix.de> >> Cc: Rob Herring <r...@kernel.org> >> Cc: Sascha Hauer <s.ha...@pengutronix.de> >> Cc: Sebastian Reichel <s...@kernel.org> >> Cc: Shawn Guo <shawn...@kernel.org> >> Cc: Simona Vetter <sim...@ffwll.ch> >> Cc: Steven Price <steven.pr...@arm.com> >> Cc: Thomas Zimmermann <tzimmerm...@suse.de> >> Cc: devicet...@vger.kernel.org >> Cc: dri-devel@lists.freedesktop.org >> Cc: i...@lists.linux.dev >> Cc: linux-arm-ker...@lists.infradead.org >> --- >> V2: - Drop regulator-{always,boot}-on from fixed-gpu-reg regulator >> - Keep the GPU and GPUMIX always enabled >> - Switch from fsl, to nxp, vendor prefix >> - Fix opp_table to opp-table >> - Describe IMX95_CLK_GPUAPB as coregroup clock >> - Sort interrupts by their names to match bindings >> --- >> arch/arm64/boot/dts/freescale/imx95.dtsi | 58 ++++++++++++++++++++++++ >> 1 file changed, 58 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi >> b/arch/arm64/boot/dts/freescale/imx95.dtsi >> index 9bb26b466a061..3acdbd7fd4eee 100644 >> --- a/arch/arm64/boot/dts/freescale/imx95.dtsi >> +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi >> @@ -249,6 +249,35 @@ dummy: clock-dummy { >> clock-output-names = "dummy"; >> }; >> >> + gpu_fixed_reg: fixed-gpu-reg { >> + compatible = "regulator-fixed"; >> + regulator-min-microvolt = <920000>; >> + regulator-max-microvolt = <920000>; >> + regulator-name = "vdd_gpu"; >> + }; >> + >> + gpu_opp_table: opp-table { >> + compatible = "operating-points-v2"; >> + >> + opp-500000000 { >> + opp-hz = /bits/ 64 <500000000>; >> + opp-hz-real = /bits/ 64 <500000000>; >> + opp-microvolt = <920000>; >> + }; >> + >> + opp-800000000 { >> + opp-hz = /bits/ 64 <800000000>; >> + opp-hz-real = /bits/ 64 <800000000>; >> + opp-microvolt = <920000>; >> + }; >> + >> + opp-1000000000 { >> + opp-hz = /bits/ 64 <1000000000>; >> + opp-hz-real = /bits/ 64 <1000000000>; >> + opp-microvolt = <920000>; >> + }; >> + }; >> + >> clk_ext1: clock-ext1 { >> compatible = "fixed-clock"; >> #clock-cells = <0>; >> @@ -1890,6 +1919,35 @@ netc_emdio: mdio@0,0 { >> }; >> }; >> >> + gpu_blk_ctrl: reset-controller@4d810000 { >> + compatible = "nxp,imx95-gpu-blk-ctrl"; >> + reg = <0x0 0x4d810000 0x0 0xc>; >> + #reset-cells = <1>; >> + clocks = <&scmi_clk IMX95_CLK_GPUAPB>; >> + assigned-clocks = <&scmi_clk IMX95_CLK_GPUAPB>; >> + assigned-clock-parents = <&scmi_clk >> IMX95_CLK_SYSPLL1_PFD1_DIV2>; >> + assigned-clock-rates = <133333333>; >> + power-domains = <&scmi_devpd IMX95_PD_GPU>; >> + }; > >With the SM release lf-6.12.3-1.0.0 AP does not have any access to >this BLK_CTRL anymore. See [1]
Right. In configs/mx95evk.cfg, BLK_CTRL_GPUMIX is assigned to M33P, and System manager will automatically handle this reset. Regards Peng > >Best regards, >Alexander > >[1] >https://github.com/nxp-imx/imx-sm/blob/master/sm/doc/rn_cl.md#sm-184-deassert-the-gpu-reset-when-the-gpumix-is-powered-up-rn_detail_sm_184 > >> + >> + gpu: gpu@4d900000 { >> + compatible = "nxp,imx95-mali", "arm,mali-valhall-csf"; >> + reg = <0 0x4d900000 0 0x480000>; >> + clocks = <&scmi_clk IMX95_CLK_GPU>, <&scmi_clk >> IMX95_CLK_GPUAPB>; >> + clock-names = "core", "coregroup"; >> + interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; >> + interrupt-names = "job", "mmu", "gpu"; >> + mali-supply = <&gpu_fixed_reg>; >> + operating-points-v2 = <&gpu_opp_table>; >> + power-domains = <&scmi_devpd IMX95_PD_GPU>, <&scmi_perf >> IMX95_PERF_GPU>; >> + power-domain-names = "mix", "perf"; >> + resets = <&gpu_blk_ctrl 0>; >> + #cooling-cells = <2>; >> + dynamic-power-coefficient = <1013>; >> + }; >> + >> ddr-pmu@4e090dc0 { >> compatible = "fsl,imx95-ddr-pmu", "fsl,imx93-ddr-pmu"; >> reg = <0x0 0x4e090dc0 0x0 0x200>; >> > > >-- >TQ-Systems GmbH | M?hlstra?e 2, Gut Delling | 82229 Seefeld, Germany >Amtsgericht M?nchen, HRB 105018 >Gesch?ftsf?hrer: Detlef Schneider, R?diger Stahl, Stefan Schneider >http://www.tq-group.com/ > >