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