1*440b075bSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2d6e21ef3SSuman Anna%YAML 1.2
3d6e21ef3SSuman Anna---
4d6e21ef3SSuman Anna$id: http://devicetree.org/schemas/remoteproc/ti,pru-consumer.yaml#
5d6e21ef3SSuman Anna$schema: http://devicetree.org/meta-schemas/core.yaml#
6d6e21ef3SSuman Anna
7800e7524SRob Herringtitle: TI PRU Consumer Common Properties
8d6e21ef3SSuman Anna
9d6e21ef3SSuman Annamaintainers:
10d6e21ef3SSuman Anna  - Suman Anna <s-anna@ti.com>
11d6e21ef3SSuman Anna
12d6e21ef3SSuman Annadescription: |
13d6e21ef3SSuman Anna  A PRU application/consumer/user node typically uses one or more PRU device
14d6e21ef3SSuman Anna  nodes to implement a PRU application/functionality. Each application/client
15d6e21ef3SSuman Anna  node would need a reference to at least a PRU node, and optionally define
16d6e21ef3SSuman Anna  some properties needed for hardware/firmware configuration. The below
17d6e21ef3SSuman Anna  properties are a list of common properties supported by the PRU remoteproc
18d6e21ef3SSuman Anna  infrastructure.
19d6e21ef3SSuman Anna
20d6e21ef3SSuman Anna  The application nodes shall define their own bindings like regular platform
21d6e21ef3SSuman Anna  devices, so below are in addition to each node's bindings.
22d6e21ef3SSuman Anna
23d6e21ef3SSuman Annaproperties:
24d6e21ef3SSuman Anna  ti,prus:
25d6e21ef3SSuman Anna    $ref: /schemas/types.yaml#/definitions/phandle-array
26d6e21ef3SSuman Anna    description: phandles to the PRU, RTU or Tx_PRU nodes used
27d6e21ef3SSuman Anna    minItems: 1
28d6e21ef3SSuman Anna    maxItems: 6
29d6e21ef3SSuman Anna    items:
30d6e21ef3SSuman Anna      maxItems: 1
31d6e21ef3SSuman Anna
32d6e21ef3SSuman Anna  firmware-name:
33d6e21ef3SSuman Anna    $ref: /schemas/types.yaml#/definitions/string-array
34d6e21ef3SSuman Anna    minItems: 1
35d6e21ef3SSuman Anna    maxItems: 6
36d6e21ef3SSuman Anna    description: |
37d6e21ef3SSuman Anna      firmwares for the PRU cores, the default firmware for the core from
38d6e21ef3SSuman Anna      the PRU node will be used if not provided. The firmware names should
39d6e21ef3SSuman Anna      correspond to the PRU cores listed in the 'ti,prus' property
40d6e21ef3SSuman Anna
41d6e21ef3SSuman Anna  ti,pruss-gp-mux-sel:
42d6e21ef3SSuman Anna    $ref: /schemas/types.yaml#/definitions/uint32-array
43d6e21ef3SSuman Anna    minItems: 1
44d6e21ef3SSuman Anna    maxItems: 6
45d6e21ef3SSuman Anna    items:
46d6e21ef3SSuman Anna      enum: [0, 1, 2, 3, 4]
47d6e21ef3SSuman Anna    description: |
48d6e21ef3SSuman Anna      array of values for the GP_MUX_SEL under PRUSS_GPCFG register for a PRU.
49d6e21ef3SSuman Anna      This selects the internal muxing scheme for the PRU instance. Values
50d6e21ef3SSuman Anna      should correspond to the PRU cores listed in the 'ti,prus' property. The
51d6e21ef3SSuman Anna      GP_MUX_SEL setting is a per-slice setting (one setting for PRU0, RTU0,
52d6e21ef3SSuman Anna      and Tx_PRU0 on K3 SoCs). Use the same value for all cores within the
53d6e21ef3SSuman Anna      same slice in the associative array. If the array size is smaller than
54d6e21ef3SSuman Anna      the size of 'ti,prus' property, the default out-of-reset value (0) for the
55d6e21ef3SSuman Anna      PRU core is used.
56d6e21ef3SSuman Anna
57d6e21ef3SSuman Annarequired:
58d6e21ef3SSuman Anna  - ti,prus
59d6e21ef3SSuman Anna
60d6e21ef3SSuman AnnaadditionalProperties: true
61