Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/gpu/arm,mali-utgard.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: ARM Mali Utgard GPU
0008 
0009 maintainers:
0010   - Rob Herring <robh@kernel.org>
0011   - Maxime Ripard <mripard@kernel.org>
0012   - Heiko Stuebner <heiko@sntech.de>
0013 
0014 properties:
0015   $nodename:
0016     pattern: '^gpu@[a-f0-9]+$'
0017   compatible:
0018     oneOf:
0019       - items:
0020           - const: allwinner,sun8i-a23-mali
0021           - const: allwinner,sun7i-a20-mali
0022           - const: arm,mali-400
0023       - items:
0024           - enum:
0025               - allwinner,sun4i-a10-mali
0026               - allwinner,sun7i-a20-mali
0027               - allwinner,sun8i-h3-mali
0028               - allwinner,sun8i-r40-mali
0029               - allwinner,sun50i-a64-mali
0030               - rockchip,rk3036-mali
0031               - rockchip,rk3066-mali
0032               - rockchip,rk3188-mali
0033               - rockchip,rk3228-mali
0034               - samsung,exynos4210-mali
0035               - stericsson,db8500-mali
0036           - const: arm,mali-400
0037       - items:
0038           - enum:
0039               - allwinner,sun50i-h5-mali
0040               - amlogic,meson8-mali
0041               - amlogic,meson8b-mali
0042               - amlogic,meson-gxbb-mali
0043               - amlogic,meson-gxl-mali
0044               - hisilicon,hi6220-mali
0045               - mediatek,mt7623-mali
0046               - rockchip,rk3328-mali
0047           - const: arm,mali-450
0048 
0049       # "arm,mali-300"
0050 
0051   reg:
0052     maxItems: 1
0053 
0054   interrupts:
0055     minItems: 4
0056     maxItems: 20
0057 
0058   interrupt-names:
0059     allOf:
0060       - additionalItems: true
0061         minItems: 4
0062         maxItems: 20
0063         items:
0064           # At least enforce the first 2 interrupts
0065           - const: gp
0066           - const: gpmmu
0067       - items:
0068           # Not ideal as any order and combination are allowed
0069           enum:
0070             - gp        # Geometry Processor interrupt
0071             - gpmmu     # Geometry Processor MMU interrupt
0072             - pp        # Pixel Processor broadcast interrupt (mali-450 only)
0073             - pp0       # Pixel Processor X interrupt (X from 0 to 7)
0074             - ppmmu0    # Pixel Processor X MMU interrupt (X from 0 to 7)
0075             - pp1
0076             - ppmmu1
0077             - pp2
0078             - ppmmu2
0079             - pp3
0080             - ppmmu3
0081             - pp4
0082             - ppmmu4
0083             - pp5
0084             - ppmmu5
0085             - pp6
0086             - ppmmu6
0087             - pp7
0088             - ppmmu7
0089             - pmu       # Power Management Unit interrupt (optional)
0090             - combined  # stericsson,db8500-mali only
0091 
0092   clocks:
0093     maxItems: 2
0094 
0095   clock-names:
0096     items:
0097       - const: bus
0098       - const: core
0099 
0100   memory-region: true
0101 
0102   mali-supply: true
0103 
0104   opp-table: true
0105 
0106   power-domains:
0107     maxItems: 1
0108 
0109   resets:
0110     maxItems: 1
0111 
0112   operating-points-v2: true
0113 
0114   "#cooling-cells":
0115     const: 2
0116 
0117 required:
0118   - compatible
0119   - reg
0120   - interrupts
0121   - interrupt-names
0122   - clocks
0123   - clock-names
0124 
0125 additionalProperties: false
0126 
0127 allOf:
0128   - if:
0129       properties:
0130         compatible:
0131           contains:
0132             enum:
0133               - allwinner,sun4i-a10-mali
0134               - allwinner,sun7i-a20-mali
0135               - allwinner,sun8i-r40-mali
0136               - allwinner,sun50i-a64-mali
0137               - allwinner,sun50i-h5-mali
0138               - amlogic,meson8-mali
0139               - amlogic,meson8b-mali
0140               - hisilicon,hi6220-mali
0141               - mediatek,mt7623-mali
0142               - rockchip,rk3036-mali
0143               - rockchip,rk3066-mali
0144               - rockchip,rk3188-mali
0145               - rockchip,rk3228-mali
0146               - rockchip,rk3328-mali
0147     then:
0148       required:
0149         - resets
0150 
0151 examples:
0152   - |
0153     #include <dt-bindings/interrupt-controller/irq.h>
0154     #include <dt-bindings/interrupt-controller/arm-gic.h>
0155 
0156     mali: gpu@1c40000 {
0157       compatible = "allwinner,sun7i-a20-mali", "arm,mali-400";
0158       reg = <0x01c40000 0x10000>;
0159       interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
0160              <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
0161              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
0162              <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
0163              <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
0164              <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
0165              <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
0166       interrupt-names = "gp",
0167             "gpmmu",
0168             "pp0",
0169             "ppmmu0",
0170             "pp1",
0171             "ppmmu1",
0172             "pmu";
0173       clocks = <&ccu 1>, <&ccu 2>;
0174       clock-names = "bus", "core";
0175       resets = <&ccu 1>;
0176       #cooling-cells = <2>;
0177     };
0178 
0179 ...