# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2024 NXP
%YAML 1.2
---
$id: http://devicetree.org/schemas/firmware/nxp,imx95-scmi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: i.MX95 System Control and Management Interface(SCMI) Vendor Protocols Extension

maintainers:
  - Peng Fan <peng.fan@nxp.com>

properties:
  protocol@80:
    description:
      SCMI LMM protocol which is for boot, shutdown, and reset of other logical
      machines (LM). It is usually used to allow one LM to manage another used
      as an offload or accelerator engine.
    $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
    unevaluatedProperties: false

    properties:
      reg:
        const: 0x80

  protocol@81:
    $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
    unevaluatedProperties: false

    properties:
      reg:
        const: 0x81

  protocol@82:
    description:
      SCMI CPU Protocol which allows an agent to start or stop a CPU. It is
      used to manage auxiliary CPUs in a LM.
    $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
    unevaluatedProperties: false

    properties:
      reg:
        const: 0x82

  protocol@84:
    $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
    unevaluatedProperties: false

    properties:
      reg:
        const: 0x84

      nxp,ctrl-ids:
        description:
          Each entry consists of 2 integers, represents the ctrl id and the value
        items:
          items:
            - description: the ctrl id index
              enum: [0, 1, 2, 3, 4, 5, 6, 7, 0x8000, 0x8001, 0x8002, 0x8003,
                     0x8004, 0x8005, 0x8006, 0x8007]
            - description: the value assigned to the ctrl id
        minItems: 1
        maxItems: 16
        $ref: /schemas/types.yaml#/definitions/uint32-matrix

additionalProperties: true
