6db4831e98
Android 14
113 lines
3.3 KiB
Plaintext
113 lines
3.3 KiB
Plaintext
ARM Mali Utgard GPU
|
|
===================
|
|
|
|
Required properties:
|
|
- compatible
|
|
* Must be one of the following:
|
|
+ "arm,mali-300"
|
|
+ "arm,mali-400"
|
|
+ "arm,mali-450"
|
|
* And, optionally, one of the vendor specific compatible:
|
|
+ allwinner,sun4i-a10-mali
|
|
+ allwinner,sun7i-a20-mali
|
|
+ allwinner,sun8i-h3-mali
|
|
+ allwinner,sun50i-h5-mali
|
|
+ amlogic,meson-gxbb-mali
|
|
+ amlogic,meson-gxl-mali
|
|
+ rockchip,rk3036-mali
|
|
+ rockchip,rk3066-mali
|
|
+ rockchip,rk3188-mali
|
|
+ rockchip,rk3228-mali
|
|
+ rockchip,rk3328-mali
|
|
+ stericsson,db8500-mali
|
|
|
|
- reg: Physical base address and length of the GPU registers
|
|
|
|
- interrupts: an entry for each entry in interrupt-names.
|
|
See ../interrupt-controller/interrupts.txt for details.
|
|
|
|
- interrupt-names:
|
|
* ppX: Pixel Processor X interrupt (X from 0 to 7)
|
|
* ppmmuX: Pixel Processor X MMU interrupt (X from 0 to 7)
|
|
* pp: Pixel Processor broadcast interrupt (mali-450 only)
|
|
* gp: Geometry Processor interrupt
|
|
* gpmmu: Geometry Processor MMU interrupt
|
|
|
|
- clocks: an entry for each entry in clock-names
|
|
- clock-names:
|
|
* bus: bus clock for the GPU
|
|
* core: clock driving the GPU itself
|
|
|
|
Optional properties:
|
|
- interrupt-names and interrupts:
|
|
* pmu: Power Management Unit interrupt, if implemented in hardware
|
|
|
|
- memory-region:
|
|
Memory region to allocate from, as defined in
|
|
Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
|
|
|
|
- mali-supply:
|
|
Phandle to regulator for the Mali device, as defined in
|
|
Documentation/devicetree/bindings/regulator/regulator.txt for details.
|
|
|
|
- operating-points-v2:
|
|
Operating Points for the GPU, as defined in
|
|
Documentation/devicetree/bindings/opp/opp.txt
|
|
|
|
- power-domains:
|
|
A power domain consumer specifier as defined in
|
|
Documentation/devicetree/bindings/power/power_domain.txt
|
|
|
|
Vendor-specific bindings
|
|
------------------------
|
|
|
|
The Mali GPU is integrated very differently from one SoC to
|
|
another. In order to accomodate those differences, you have the option
|
|
to specify one more vendor-specific compatible, among:
|
|
|
|
- allwinner,sun4i-a10-mali
|
|
Required properties:
|
|
* resets: phandle to the reset line for the GPU
|
|
|
|
- allwinner,sun7i-a20-mali
|
|
Required properties:
|
|
* resets: phandle to the reset line for the GPU
|
|
|
|
- allwinner,sun50i-h5-mali
|
|
Required properties:
|
|
* resets: phandle to the reset line for the GPU
|
|
|
|
- Rockchip variants:
|
|
Required properties:
|
|
* resets: phandle to the reset line for the GPU
|
|
|
|
- stericsson,db8500-mali
|
|
Required properties:
|
|
* interrupt-names and interrupts:
|
|
+ combined: combined interrupt of all of the above lines
|
|
|
|
Example:
|
|
|
|
mali: gpu@1c40000 {
|
|
compatible = "allwinner,sun7i-a20-mali", "arm,mali-400";
|
|
reg = <0x01c40000 0x10000>;
|
|
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "gp",
|
|
"gpmmu",
|
|
"pp0",
|
|
"ppmmu0",
|
|
"pp1",
|
|
"ppmmu1",
|
|
"pmu";
|
|
clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
|
|
clock-names = "bus", "core";
|
|
resets = <&ccu RST_BUS_GPU>;
|
|
};
|
|
|