Lines Matching +full:mali +full:- +full:bifrost

1 # SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
3 # (C) COPYRIGHT 2013-2022 ARM Limited. All rights reserved.
17 # http://www.gnu.org/licenses/gpl-2.0.html.
21 * ARM Mali Midgard / Bifrost devices
26 - compatible : Should be mali<chip>, replacing digits with x from the back,
28 "arm,mali-midgard" or "arm,mali-bifrost"
29 - reg : Physical base address of the device and length of the register area.
30 - interrupts : Contains the three IRQ lines required by T-6xx devices
31 - interrupt-names : Contains the names of IRQ resources in the order they were
36 - clocks : One or more pairs of phandle to clock and clock specifier
37 for the Mali device. The order is important: the first clock
40 - clock-names : Shall be set to: "clk_mali", "shadercores".
41 - mali-supply : Phandle to the top level regulator for the Mali device.
44 - mem-supply : Phandle to memory regulator for the Mali device. This is optional.
45 - operating-points-v2 : Refer to Documentation/devicetree/bindings/power/mali-opp.txt
47 - quirks_gpu : Used to write to the JM_CONFIG or CSF_CONFIG register.
49 certain default behavior. Note: This will override 'idvs-group-size'
51 therefore if 'quirks_gpu' is used then 'idvs-group-size' and
53 - quirks_sc : Used to write to the SHADER_CONFIG register.
56 - quirks_tiler : Used to write to the TILER_CONFIG register.
59 - quirks_mmu : Used to write to the L2_CONFIG register.
62 - power_model : Sets the power model parameters. Defined power models include:
63 "mali-simple-power-model", "mali-g51-power-model", "mali-g52-power-model",
64 "mali-g52_r1-power-model", "mali-g71-power-model", "mali-g72-power-model",
65 "mali-g76-power-model", "mali-g77-power-model", "mali-tnax-power-model",
66 "mali-tbex-power-model" and "mali-tbax-power-model".
67 - mali-simple-power-model: this model derives the GPU power usage based
70 - compatible: Should be "arm,mali-simple-power-model"
71 - dynamic-coefficient: Coefficient, in pW/(Hz V^2), which is
73 - static-coefficient: Coefficient, in uW/V^3, which is
75 - ts: An array containing coefficients for the temperature
80 - thermal-zone: A string identifying the thermal zone used for
82 - temp-poll-interval-ms: the interval at which the system
84 - mali-g*-power-model(s): unless being stated otherwise, these models derive
87 - compatible: Should be, as examples, "arm,mali-g51-power-model" /
88 "arm,mali-g72-power-model".
89 - scale: the dynamic power calculated by the power model is
92 - min_sample_cycles: Fall back to the simple power model if the
95 * Note: when IPA is used, two separate power models (simple and counter-based)
97 both power models in the device tree (specifically dynamic-coefficient,
98 static-coefficient and scale) to best match the platform.
99 - power_policy : Sets the GPU power policy at probe time. Available options are
101 - system-coherency : Sets the coherency protocol to be used for coherent
104 - 0 : ACE-Lite
105 - 1 : ACE
106 - 31 : No coherency
107 - ipa-model : Sets the IPA model to be used for power management. GPU probe will fail if the
109 a gpu-id based model is picked if available, otherwise the default model is used.
110 - mali-simple-power-model: Default model used on mali
111 - idvs-group-size : Override the IDVS group size value. Tasks are sent to
114 - l2-size : Override L2 cache size on GPU that supports it
115 - l2-hash : Override L2 hash function on GPU that supports it
116 - l2-hash-values : Override L2 hash function using provided hash values, on GPUs that supports it.
117 It is mutually exclusive with 'l2-hash'. Only one or the other must be
119 - arbiter_if : Phandle to the arbif platform device, used to provide KBASE with an interface
120 to the Arbiter. This is required when using arbitration; setting to a non-NULL
124 - power_model (no IPA allowed with arbitration)
125 - #cooling-cells
126 - operating-points-v2 (no dvfs in kbase with arbitration)
127 - system-coherency with a value of 1 (no full coherency with arbitration)
128 - int_id_override: list of <ID Setting[7:0]> tuples defining the IDs needed to be
132 Example for a Mali GPU with 1 clock and 1 regulator:
135 compatible = "arm,malit602", "arm,malit60x", "arm,malit6xx", "arm,mali-midgard";
138 interrupt-names = "JOB", "MMU", "GPU";
141 clock-names = "clk_mali";
142 mali-supply = <&vdd_mali>;
143 operating-points-v2 = <&gpu_opp_table>;
145 compatible = "arm,mali-simple-power-model";
146 static-coefficient = <2427750>;
147 dynamic-coefficient = <4687>;
148 ts = <20000 2000 (-20) 2>;
149 thermal-zone = "gpu";
152 compatible = "arm,mali-g71-power-model";
156 idvs-group-size = <0x7>;
157 l2-size = /bits/ 8 <0x10>;
158 l2-hash = /bits/ 8 <0x04>; /* or l2-hash-values = <0x12345678 0x8765 0xAB>; */
162 compatible = "operating-points-v2";
165 opp-hz = /bits/ 64 <533000000>;
166 opp-microvolt = <1250000>;
169 opp-hz = /bits/ 64 <450000000>;
170 opp-microvolt = <1150000>;
173 opp-hz = /bits/ 64 <400000000>;
174 opp-microvolt = <1125000>;
177 opp-hz = /bits/ 64 <350000000>;
178 opp-microvolt = <1075000>;
181 opp-hz = /bits/ 64 <266000000>;
182 opp-microvolt = <1025000>;
185 opp-hz = /bits/ 64 <160000000>;
186 opp-microvolt = <925000>;
189 opp-hz = /bits/ 64 <100000000>;
190 opp-microvolt = <912500>;
194 Example for a Mali GPU with 2 clocks and 2 regulators:
197 compatible = "arm,mali-midgard";
200 interrupt-names = "JOB", "MMU", "GPU";
202 clock-names = "clk_mali", "shadercores";
203 mali-supply = <&supply0_3v3>;
204 mem-supply = <&supply1_3v3>;
205 system-coherency = <31>;
206 operating-points-v2 = <&gpu_opp_table>;
210 compatible = "operating-points-v2", "operating-points-v2-mali";
213 opp-hz = /bits/ 64 <50000000>;
214 opp-hz-real = /bits/ 64 <50000000>, /bits/ 64 <45000000>;
215 opp-microvolt = <820000>, <800000>;
216 opp-core-mask = /bits/ 64 <0xf>;
219 opp-hz = /bits/ 64 <40000000>;
220 opp-hz-real = /bits/ 64 <40000000>, /bits/ 64 <35000000>;
221 opp-microvolt = <720000>, <700000>;
222 opp-core-mask = /bits/ 64 <0x7>;
225 opp-hz = /bits/ 64 <30000000>;
226 opp-hz-real = /bits/ 64 <30000000>, /bits/ 64 <25000000>;
227 opp-microvolt = <620000>, <700000>;
228 opp-core-mask = /bits/ 64 <0x3>;
232 Example for a Mali GPU supporting PBHA configuration via DTB (default):