Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) # (C) COPYRIGHT 2013-2017 ARM Limited. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) # This program is free software and is provided to you under the terms of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) # GNU General Public License version 2 as published by the Free Software
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) # Foundation, and any use by you of this program is subject to the terms
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) # of such GNU licence.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) # A copy of the licence is included with the program, and can also be obtained
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) # from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) # Boston, MA  02110-1301, USA.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) * ARM Mali Midgard devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - compatible : Should be mali<chip>, replacing digits with x from the back,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) until malit<Major>xx, ending with arm,mali-midgard, the latter not optional.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - reg : Physical base address of the device and length of the register area.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - interrupts : Contains the three IRQ lines required by T-6xx devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) - interrupt-names : Contains the names of IRQ resources in the order they were
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) provided in the interrupts property. Must contain: "JOB, "MMU", "GPU".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Optional:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - clocks : Phandle to clock for the Mali T-6xx device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) - clock-names : Shall be "clk_mali".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - mali-supply : Phandle to regulator for the Mali device. Refer to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Documentation/devicetree/bindings/regulator/regulator.txt for details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) - operating-points : Refer to Documentation/devicetree/bindings/power/opp.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) for details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - jm_config : For T860/T880. Sets job manager configuration. An array containing:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 	- 1 to override the TIMESTAMP value, 0 otherwise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 	- 1 to override clock gate, forcing them to be always on, 0 otherwise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	- 1 to enable job throttle, limiting the number of cores that can be started
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	  simultaneously, 0 otherwise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	- Value between 0 and 63 (including). If job throttle is enabled, this is one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 	  less than the number of cores that can be started simultaneously.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) - power_model : Sets power model parameters. Note that this model was designed for the Juno
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 	        platform, and may not be suitable for other platforms. A structure containing :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 	- compatible: Should be arm,mali-simple-power-model
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	- dynamic-coefficient: Coefficient, in pW/(Hz V^2), which is multiplied
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 	  by v^2*f to calculate the dynamic power consumption.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 	- static-coefficient: Coefficient, in uW/V^3, which is multiplied by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 	  v^3 to calculate the static power consumption.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 	- ts: An array containing coefficients for the temperature scaling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	  factor. This is used to scale the static power by a factor of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 	  tsf/1000000, where tsf = ts[3]*T^3 + ts[2]*T^2 + ts[1]*T + ts[0],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 	  and T = temperature in degrees.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 	- thermal-zone: A string identifying the thermal zone used for the GPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) - system-coherency : Sets the coherency protocol to be used for coherent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 		     accesses made from the GPU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 		     If not set then no coherency is used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 	- 0  : ACE-Lite
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 	- 1  : ACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 	- 31 : No coherency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) - ipa-model : Sets the IPA model to be used for power management. GPU probe will fail if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 	      model is not found in the registered models list. If no model is specified here,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 	      a gpu-id based model is picked if available, otherwise the default model is used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 	- mali-simple-power-model: Default model used on mali
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) - protected-mode-switcher : Phandle to device implemented protected mode switching functionality.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) Refer to Documentation/devicetree/bindings/arm/smc-protected-mode-switcher.txt for one implementation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) Example for a Mali-T602:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) gpu@0xfc010000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 	compatible = "arm,malit602", "arm,malit60x", "arm,malit6xx", "arm,mali-midgard";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 	reg = <0xfc010000 0x4000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 	interrupt-names = "JOB", "MMU", "GPU";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 	clocks = <&pclk_mali>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) 	clock-names = "clk_mali";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) 	mali-supply = <&vdd_mali>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) 	operating-points = <
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) 		/* KHz   uV */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) 		533000 1250000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) 		450000 1150000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) 		400000 1125000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) 		350000 1075000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) 		266000 1025000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) 		160000  925000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) 		100000  912500,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) 	>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) 	power_model {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) 		compatible = "arm,mali-simple-power-model";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) 		static-coefficient = <2427750>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) 		dynamic-coefficient = <4687>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) 		ts = <20000 2000 (-20) 2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) 		thermal-zone = "gpu";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) };