47 lines · c
1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */2/*3 * PRUSS Remote Processor specific types4 *5 * Copyright (C) 2014-2020 Texas Instruments Incorporated - https://www.ti.com/6 * Suman Anna <s-anna@ti.com>7 */8 9#ifndef _PRU_RPROC_H_10#define _PRU_RPROC_H_11 12/**13 * struct pruss_int_map - PRU system events _to_ channel and host mapping14 * @event: number of the system event15 * @chnl: channel number assigned to a given @event16 * @host: host number assigned to a given @chnl17 *18 * PRU system events are mapped to channels, and these channels are mapped19 * to host interrupts. Events can be mapped to channels in a one-to-one or20 * many-to-one ratio (multiple events per channel), and channels can be21 * mapped to host interrupts in a one-to-one or many-to-one ratio (multiple22 * channels per interrupt).23 */24struct pruss_int_map {25 u8 event;26 u8 chnl;27 u8 host;28};29 30/**31 * struct pru_irq_rsc - PRU firmware section header for IRQ data32 * @type: resource type33 * @num_evts: number of described events34 * @pru_intc_map: PRU interrupt routing description35 *36 * The PRU firmware blob can contain optional .pru_irq_map ELF section, which37 * provides the PRUSS interrupt mapping description. The pru_irq_rsc struct38 * describes resource entry format.39 */40struct pru_irq_rsc {41 u8 type;42 u8 num_evts;43 struct pruss_int_map pru_intc_map[];44} __packed;45 46#endif /* _PRU_RPROC_H_ */47