|  | /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ | 
|  | /* | 
|  | * PRUSS Remote Processor specific types | 
|  | * | 
|  | * Copyright (C) 2014-2020 Texas Instruments Incorporated - https://www.ti.com/ | 
|  | *	Suman Anna <s-anna@ti.com> | 
|  | */ | 
|  |  | 
|  | #ifndef _PRU_RPROC_H_ | 
|  | #define _PRU_RPROC_H_ | 
|  |  | 
|  | /** | 
|  | * struct pruss_int_map - PRU system events _to_ channel and host mapping | 
|  | * @event: number of the system event | 
|  | * @chnl: channel number assigned to a given @event | 
|  | * @host: host number assigned to a given @chnl | 
|  | * | 
|  | * PRU system events are mapped to channels, and these channels are mapped | 
|  | * to host interrupts. Events can be mapped to channels in a one-to-one or | 
|  | * many-to-one ratio (multiple events per channel), and channels can be | 
|  | * mapped to host interrupts in a one-to-one or many-to-one ratio (multiple | 
|  | * channels per interrupt). | 
|  | */ | 
|  | struct pruss_int_map { | 
|  | u8 event; | 
|  | u8 chnl; | 
|  | u8 host; | 
|  | }; | 
|  |  | 
|  | /** | 
|  | * struct pru_irq_rsc - PRU firmware section header for IRQ data | 
|  | * @type: resource type | 
|  | * @num_evts: number of described events | 
|  | * @pru_intc_map: PRU interrupt routing description | 
|  | * | 
|  | * The PRU firmware blob can contain optional .pru_irq_map ELF section, which | 
|  | * provides the PRUSS interrupt mapping description. The pru_irq_rsc struct | 
|  | * describes resource entry format. | 
|  | */ | 
|  | struct pru_irq_rsc { | 
|  | u8 type; | 
|  | u8 num_evts; | 
|  | struct pruss_int_map pru_intc_map[]; | 
|  | } __packed; | 
|  |  | 
|  | #endif	/* _PRU_RPROC_H_ */ |