forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
46 lines
1.3 KiB
/* 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_ */
|
|
|