# 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 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 #include #include gpu@7000000 { compatible = "ti,am6548-gpu", "img,powervr-sgx544"; reg = <0x7000000 0x10000>; interrupts = ; power-domains = <&k3_pds 65 TI_SCI_PD_EXCLUSIVE>; }; - | #include #include gpu: gpu@1c40000 { compatible = "allwinner,sun6i-a31-gpu", "img,powervr-sgx544"; reg = <0x01c40000 0x10000>; interrupts = ; clocks = <&ccu 1>, <&ccu 2>; clock-names = "core", "mem"; };