xref: /linux/Documentation/devicetree/bindings/firmware/nxp,imx95-scmi.yaml (revision d8d2b1f81530988abe2e2bfaceec1c5d30b9a0b4)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2024 NXP
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/firmware/nxp,imx95-scmi.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: i.MX95 System Control and Management Interface(SCMI) Vendor Protocols Extension
9
10maintainers:
11  - Peng Fan <peng.fan@nxp.com>
12
13properties:
14  protocol@80:
15    description:
16      SCMI LMM protocol which is for boot, shutdown, and reset of other logical
17      machines (LM). It is usually used to allow one LM to manage another used
18      as an offload or accelerator engine.
19    $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
20    unevaluatedProperties: false
21
22    properties:
23      reg:
24        const: 0x80
25
26  protocol@81:
27    type: object
28    allOf:
29      - $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
30      - $ref: /schemas/input/input.yaml#
31    additionalProperties: false
32
33    properties:
34      reg:
35        const: 0x81
36
37      linux,code:
38        default: 116  # KEY_POWER
39
40  protocol@82:
41    description:
42      SCMI CPU Protocol which allows an agent to start or stop a CPU. It is
43      used to manage auxiliary CPUs in a LM.
44    $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
45    unevaluatedProperties: false
46
47    properties:
48      reg:
49        const: 0x82
50
51  protocol@84:
52    $ref: '/schemas/firmware/arm,scmi.yaml#/$defs/protocol-node'
53    unevaluatedProperties: false
54
55    properties:
56      reg:
57        const: 0x84
58
59      nxp,ctrl-ids:
60        description:
61          Each entry consists of 2 integers, represents the ctrl id and the value
62        items:
63          items:
64            - description: the ctrl id index
65              enum: [0, 1, 2, 3, 4, 5, 6, 7, 0x8000, 0x8001, 0x8002, 0x8003,
66                     0x8004, 0x8005, 0x8006, 0x8007]
67            - description: the value assigned to the ctrl id
68        minItems: 1
69        maxItems: 16
70        $ref: /schemas/types.yaml#/definitions/uint32-matrix
71
72additionalProperties: true
73