Re: [PATCH 12/16] dt-bindings: remoteproc: ti-pruss: Document application node bindings

From: Rob Herring
Date: Tue Dec 11 2018 - 17:06:42 EST


On Mon, Nov 26, 2018 at 09:52:45AM +0200, Roger Quadros wrote:
> From: Tero Kristo <t-kristo@xxxxxx>
>
> Add documentation for the Texas Instruments PRU application nodes.
> These are used to configure specific user applications for PRU instances.
>
> Signed-off-by: Tero Kristo <t-kristo@xxxxxx>
> [s-anna@xxxxxx: some binding updates]
> Signed-off-by: Suman Anna <s-anna@xxxxxx>
> Signed-off-by: Roger Quadros <rogerq@xxxxxx>
> ---
> .../devicetree/bindings/soc/ti/ti,pruss.txt | 43 ++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,pruss.txt b/Documentation/devicetree/bindings/soc/ti/ti,pruss.txt
> index 3e5f32f..94c91ee 100644
> --- a/Documentation/devicetree/bindings/soc/ti/ti,pruss.txt
> +++ b/Documentation/devicetree/bindings/soc/ti/ti,pruss.txt
> @@ -210,6 +210,38 @@ used in TI Davinci SoCs. Please refer to the corresponding binding document,
> Documentation/devicetree/bindings/net/davinci-mdio.txt for details.
>
>
> +Application/User Nodes
> +=======================
> +A PRU application/user node typically uses one or more PRU device nodes to
> +implement a PRU application/functionality. Each application/client node would
> +need a reference to at least a PRU node, and optionally pass some configuration
> +parameters.
> +
> +Required Properties:
> +--------------------
> +- prus : phandles to the PRU nodes used
> +
> +Optional Properties:
> +--------------------
> +- firmware-name : firmwares for the PRU cores, the default firmware
> + for the core from the PRU node will be used if not
> + provided. The firmware names should correspond to
> + the PRU cores listed in the 'prus' property
> +- ti,pruss-gp-mux-sel : array of values for the GP_MUX_SEL under PRUSS_GPCFG
> + register for a PRU. This selects the internal muxing
> + scheme for the PRU instance. If not provided, the
> + default out-of-reset value (0) for the PRU core is
> + used. Values should correspond to the PRU cores listed
> + in the 'prus' property
> +- ti,pru-interrupt-map : PRU interrupt mappings, containing an array of entries
> + with each entry consisting of 4 cell-values. First one
> + is an index towards the "prus" property to identify the
> + PRU core for the interrupt map, second is the PRU
> + System Event id, third is the PRU interrupt channel id
> + and fourth is the PRU host interrupt id. If provided,
> + this map will supercede any other configuration
> + provided through firmware

Can't you use 'interrupt-map' or use more cells for the PRU intc cells.
Or use interrupts-extended if you need more than 1 parent.

> +
> Example:
> ========
> 1. /* AM33xx PRU-ICSS */
> @@ -397,3 +429,14 @@ Example:
> ...
> };
> };
> +
> +3: /* PRU application node example */
> + app_node: app_node {
> + prus = <&pru1_0>, <&pru1_1>;
> + firmware-name = "pruss-app-fw", "pruss-app-fw-2";
> + ti,pruss-gp-mux-sel = <2>, <1>;
> + /* setup interrupts for prus:
> + prus[0] => pru1_0: ev=16, chnl=2, host-irq=7,
> + prus[1] => pru1_1: ev=19, chnl=1, host-irq=3 */
> + ti,pru-interrupt-map = <0 16 2 7 >, <1 19 1 3>;
> + }
> --
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
>