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