1/* 2 * mailbox-omap.h 3 * 4 * Copyright (C) 2013 Texas Instruments, Inc. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * version 2 as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 */ 15 16#ifndef _PLAT_MAILBOX_H 17#define _PLAT_MAILBOX_H 18 19/* Interrupt register configuration types */ 20#define MBOX_INTR_CFG_TYPE1 (0) 21#define MBOX_INTR_CFG_TYPE2 (1) 22 23/** 24 * struct omap_mbox_dev_info - OMAP mailbox device attribute info 25 * @name: name of the mailbox device 26 * @tx_id: mailbox queue id used for transmitting messages 27 * @rx_id: mailbox queue id on which messages are received 28 * @irq_id: irq identifier number to use from the hwmod data 29 * @usr_id: mailbox user id for identifying the interrupt into 30 * the MPU interrupt controller. 31 */ 32struct omap_mbox_dev_info { 33 const char *name; 34 u32 tx_id; 35 u32 rx_id; 36 u32 irq_id; 37 u32 usr_id; 38}; 39 40/** 41 * struct omap_mbox_pdata - OMAP mailbox platform data 42 * @intr_type: type of interrupt configuration registers used 43 while programming mailbox queue interrupts 44 * @num_users: number of users (processor devices) that the mailbox 45 * h/w block can interrupt 46 * @num_fifos: number of h/w fifos within the mailbox h/w block 47 * @info_cnt: number of mailbox devices for the platform 48 * @info: array of mailbox device attributes 49 */ 50struct omap_mbox_pdata { 51 u32 intr_type; 52 u32 num_users; 53 u32 num_fifos; 54 u32 info_cnt; 55 struct omap_mbox_dev_info *info; 56}; 57 58#endif /* _PLAT_MAILBOX_H */ 59