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