| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| # Copyright (c) 2023 Imagination Technologies Ltd. |
| # Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/ |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/gpu/img,powervr-sgx.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Imagination Technologies PowerVR SGX GPUs |
| |
| maintainers: |
| - Frank Binns <frank.binns@imgtec.com> |
| |
| properties: |
| compatible: |
| oneOf: |
| - items: |
| - enum: |
| - ti,omap3430-gpu # Rev 121 |
| - ti,omap3630-gpu # Rev 125 |
| - const: img,powervr-sgx530 |
| - items: |
| - enum: |
| - ingenic,jz4780-gpu # Rev 130 |
| - ti,omap4430-gpu # Rev 120 |
| - const: img,powervr-sgx540 |
| - items: |
| - enum: |
| - allwinner,sun6i-a31-gpu # MP2 Rev 115 |
| - ti,omap4470-gpu # MP1 Rev 112 |
| - ti,omap5432-gpu # MP2 Rev 105 |
| - ti,am5728-gpu # MP2 Rev 116 |
| - ti,am6548-gpu # MP1 Rev 117 |
| - const: img,powervr-sgx544 |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| minItems: 1 |
| maxItems: 3 |
| |
| clock-names: |
| minItems: 1 |
| items: |
| - const: core |
| - const: mem |
| - const: sys |
| |
| power-domains: |
| maxItems: 1 |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| |
| allOf: |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: ti,am6548-gpu |
| then: |
| required: |
| - power-domains |
| else: |
| properties: |
| power-domains: false |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - allwinner,sun6i-a31-gpu |
| - ingenic,jz4780-gpu |
| then: |
| required: |
| - clocks |
| - clock-names |
| else: |
| properties: |
| clocks: false |
| clock-names: false |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: allwinner,sun6i-a31-gpu |
| then: |
| properties: |
| clocks: |
| minItems: 2 |
| maxItems: 2 |
| clock-names: |
| minItems: 2 |
| maxItems: 2 |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: ingenic,jz4780-gpu |
| then: |
| properties: |
| clocks: |
| maxItems: 1 |
| clock-names: |
| maxItems: 1 |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/soc/ti,sci_pm_domain.h> |
| |
| gpu@7000000 { |
| compatible = "ti,am6548-gpu", "img,powervr-sgx544"; |
| reg = <0x7000000 0x10000>; |
| interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; |
| power-domains = <&k3_pds 65 TI_SCI_PD_EXCLUSIVE>; |
| }; |
| |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| |
| gpu: gpu@1c40000 { |
| compatible = "allwinner,sun6i-a31-gpu", "img,powervr-sgx544"; |
| reg = <0x01c40000 0x10000>; |
| interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&ccu 1>, <&ccu 2>; |
| clock-names = "core", "mem"; |
| }; |