Documentation: Add devicetree bindings documentation for Mali Midgard
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Fri, 18 Mar 2016 15:23:45 +0000 (16:23 +0100)
committerJoonyoung Shim <jy0922.shim@samsung.com>
Thu, 7 Jul 2016 06:39:44 +0000 (15:39 +0900)
Extracted from TX011-BU-00001-r10p0-00rel0.tgz downloaded from
malideveloper.arm.com.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Documentation/devicetree/bindings/arm/mali-midgard.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/arm/mali-midgard.txt b/Documentation/devicetree/bindings/arm/mali-midgard.txt
new file mode 100644 (file)
index 0000000..46b704b
--- /dev/null
@@ -0,0 +1,92 @@
+#
+# (C) COPYRIGHT 2013-2015 ARM Limited. All rights reserved.
+#
+# This program is free software and is provided to you under the terms of the
+# GNU General Public License version 2 as published by the Free Software
+# Foundation, and any use by you of this program is subject to the terms
+# of such GNU licence.
+#
+# A copy of the licence is included with the program, and can also be obtained
+# from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA  02110-1301, USA.
+#
+#
+
+
+* ARM Mali Midgard devices
+
+
+Required properties:
+
+- compatible : Should be mali<chip>, replacing digits with x from the back,
+until malit<Major>xx, ending with arm,mali-midgard, the latter not optional.
+- reg : Physical base address of the device and length of the register area.
+- interrupts : Contains the three IRQ lines required by T-6xx devices
+- interrupt-names : Contains the names of IRQ resources in the order they were
+provided in the interrupts property. Must contain: "JOB, "MMU", "GPU".
+
+Optional:
+
+- clocks : Phandle to clock for the Mali T-6xx device.
+- clock-names : Shall be "clk_mali".
+- mali-supply : Phandle to regulator for the Mali device. Refer to
+Documentation/devicetree/bindings/regulator/regulator.txt for details.
+- operating-points : Refer to Documentation/devicetree/bindings/power/opp.txt
+for details.
+- snoop_enable_smc : SMC function ID to enable CCI snooping on the GPU port(s).
+- snoop_disable_smc : SMC function ID to disable CCI snooping on the GPU port(s).
+- jm_config : For T860/T880. Sets job manager configuration. An array containing:
+       - 1 to override the TIMESTAMP value, 0 otherwise.
+       - 1 to override clock gate, forcing them to be always on, 0 otherwise.
+       - 1 to enable job throttle, limiting the number of cores that can be started
+         simultaneously, 0 otherwise.
+       - Value between 0 and 63 (including). If job throttle is enabled, this is one
+         less than the number of cores that can be started simultaneously.
+- power_model : Sets power model parameters. Note that this model was designed for the Juno
+               platform, and may not be suitable for other platforms. A structure containing :
+       - compatible: Should be arm,mali-simple-power-model
+       - voltage: Voltage at reference point. Specified in mV.
+       - frequency: Frequency at reference point. Specified in MHz.
+       - dynamic-power: Dynamic power at reference frequency and voltage. Specified in mW.
+       - static-power: Static power at reference frequency. Specified in mW.
+       - ts: An array containing coefficients for the temperature scaling factor.
+         Used as : tsf = ts[3]*T^3 + ts[2]*T^2 + ts[1]*T + ts[0], where T = temperature
+       - thermal-zone: A string identifying the thermal zone used for the GPU
+- system-coherency : Sets the coherency protocol to be used for coherent
+                    accesses made from the GPU.
+                    If not set then no coherency is used.
+       - 0  : ACE-Lite
+       - 1  : ACE
+       - 31 : No coherency
+
+Example for a Mali-T602:
+
+gpu@0xfc010000 {
+       compatible = "arm,malit602", "arm,malit60x", "arm,malit6xx", "arm,mali-midgard";
+       reg = <0xfc010000 0x4000>;
+       interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
+       interrupt-names = "JOB", "MMU", "GPU";
+
+       clocks = <&pclk_mali>;
+       clock-names = "clk_mali";
+       mali-supply = <&vdd_mali>;
+       operating-points = <
+               /* KHz   uV */
+               533000 1250000,
+               450000 1150000,
+               400000 1125000,
+               350000 1075000,
+               266000 1025000,
+               160000  925000,
+               100000  912500,
+       >;
+       power_model {
+               compatible = "arm,mali-simple-power-model";
+               voltage = <800>;
+               frequency = <500>;
+               static-power = <500>;
+               dynamic-power = <1500>;
+               ts = <20000 2000 (-20) 2>;
+               thermal-zone = "gpu";
+       };
+};