12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /* 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 <[email protected]>
- */
- #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_ */
|