162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/remoteproc/ti,pru-consumer.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: TI PRU Consumer Common Properties 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Suman Anna <s-anna@ti.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci A PRU application/consumer/user node typically uses one or more PRU device 1462306a36Sopenharmony_ci nodes to implement a PRU application/functionality. Each application/client 1562306a36Sopenharmony_ci node would need a reference to at least a PRU node, and optionally define 1662306a36Sopenharmony_ci some properties needed for hardware/firmware configuration. The below 1762306a36Sopenharmony_ci properties are a list of common properties supported by the PRU remoteproc 1862306a36Sopenharmony_ci infrastructure. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci The application nodes shall define their own bindings like regular platform 2162306a36Sopenharmony_ci devices, so below are in addition to each node's bindings. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciproperties: 2462306a36Sopenharmony_ci ti,prus: 2562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 2662306a36Sopenharmony_ci description: phandles to the PRU, RTU or Tx_PRU nodes used 2762306a36Sopenharmony_ci minItems: 1 2862306a36Sopenharmony_ci maxItems: 6 2962306a36Sopenharmony_ci items: 3062306a36Sopenharmony_ci maxItems: 1 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci firmware-name: 3362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/string-array 3462306a36Sopenharmony_ci minItems: 1 3562306a36Sopenharmony_ci maxItems: 6 3662306a36Sopenharmony_ci description: | 3762306a36Sopenharmony_ci firmwares for the PRU cores, the default firmware for the core from 3862306a36Sopenharmony_ci the PRU node will be used if not provided. The firmware names should 3962306a36Sopenharmony_ci correspond to the PRU cores listed in the 'ti,prus' property 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci ti,pruss-gp-mux-sel: 4262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 4362306a36Sopenharmony_ci minItems: 1 4462306a36Sopenharmony_ci maxItems: 6 4562306a36Sopenharmony_ci items: 4662306a36Sopenharmony_ci enum: [0, 1, 2, 3, 4] 4762306a36Sopenharmony_ci description: | 4862306a36Sopenharmony_ci array of values for the GP_MUX_SEL under PRUSS_GPCFG register for a PRU. 4962306a36Sopenharmony_ci This selects the internal muxing scheme for the PRU instance. Values 5062306a36Sopenharmony_ci should correspond to the PRU cores listed in the 'ti,prus' property. The 5162306a36Sopenharmony_ci GP_MUX_SEL setting is a per-slice setting (one setting for PRU0, RTU0, 5262306a36Sopenharmony_ci and Tx_PRU0 on K3 SoCs). Use the same value for all cores within the 5362306a36Sopenharmony_ci same slice in the associative array. If the array size is smaller than 5462306a36Sopenharmony_ci the size of 'ti,prus' property, the default out-of-reset value (0) for the 5562306a36Sopenharmony_ci PRU core is used. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_cirequired: 5862306a36Sopenharmony_ci - ti,prus 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciadditionalProperties: true 61