diff --git a/bindings/soc/qcom/qcom,platform-mpam.yaml b/bindings/soc/qcom/qcom,platform-mpam.yaml new file mode 100644 index 00000000..98818c32 --- /dev/null +++ b/bindings/soc/qcom/qcom,platform-mpam.yaml @@ -0,0 +1,114 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/qcom/qcom,platform-mpam.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies, Inc. (QTI) Platform MPAM Driver + +maintainers: + - Huang Yiwei + +description: | + The Qualcomm Technologies, Inc. (QTI) Platform MPAM Driver provides configfs + nodes for userspace clients to set MPAM configuration with CPUCP firmware via + consolidated SCMI protocol. + +properties: + compatible: + items: + - const: qcom,platform-mpam + + reg: + items: + - description: address and size of CPUCP DTIM area for Platform MPAM + monitor data + + reg-names: + items: + - const: mon-base + + qcom,msc-id: + $ref: '/schemas/types.yaml#/definitions/uint32' + description: | + MSC id of the component. + + qcom,msc-name: + $ref: '/schemas/types.yaml#/definitions/string' + description: | + MSC name of the component. + + qcom,gears: + $ref: '/schemas/types.yaml#/definitions/string-array' + description: | + Available gear names of the component. + + qcom,gear-id: + $ref: '/schemas/types.yaml#/definitions/uint32-array' + description: | + Available gear ids of the component. + + child-node: + description: | + Available clients of the Platform MPAM. + type: object + properties: + qcom,client-id: + $ref: '/schemas/types.yaml#/definitions/uint32' + description: | + MSC id of the child node. + + qcom,client-name: + $ref: '/schemas/types.yaml#/definitions/string' + description: | + MSC name of the child node. + + required: + - qcom,client-id + - qcom,client-name + + additionalProperties: false + +required: + - compatible + - reg + - reg-names + - qcom,msc-id + - qcom,msc-name + - qcom,gears + - qcom,gear-id + +additionalProperties: false + +examples: + - | + noc_bw_mpam: qcom,noc_bw_mpam { + compatible = "qcom,platform-mpam"; + reg = <0x17b6f400 0x400>; + reg-names = "mon-base"; + qcom,msc-id = <3>; + qcom,msc-name = "noc_bw"; + qcom,gears = "low", "medium", "high", "veryhigh"; + qcom,gear-id = <1>, <2>, <3>, <4>; + + cpu_cluster0 { + qcom,client-id = <0x1>; + qcom,client-name = "cpu_cluster0"; + }; + + cpu_cluster1 { + qcom,client-id = <0x2>; + qcom,client-name = "cpu_cluster1"; + }; + + gpu { + qcom,client-id = <0x10>; + qcom,client-name = "gpu"; + }; + + nsp { + qcom,client-id = <0x100>; + qcom,client-name = "nsp"; + }; + }; +...