6 typedef u32 mbox_msg_t;
7 typedef void (mbox_receiver_t)(mbox_msg_t msg);
9 struct mbox; /* contents are private */
11 struct mbox *mbox_get(const char *id);
12 extern int mbox_send(struct mbox *mbox_h, mbox_msg_t msg);
13 extern int register_mbox_receiver(struct mbox *mbox, unsigned char cmd,
14 mbox_receiver_t *rcv);
15 extern int unregister_mbox_receiver(struct mbox *mbox, unsigned char cmd,
16 mbox_receiver_t *rcv);
17 extern void enable_mbox_irq(struct mbox *mbox);
18 extern void disable_mbox_irq(struct mbox *mbox);
19 extern void mbox_init_seq(struct mbox *mbox);
22 * mailbox command: 0x00 - 0x7f
23 * when a driver wants to use mailbox, it must reserve mailbox commands here.
25 #define MBOX_CMD_MAX 0x80
28 #define MBOX_CMD_DSP_WDSND 0x10
29 #define MBOX_CMD_DSP_WDREQ 0x11
30 #define MBOX_CMD_DSP_BKSND 0x20
31 #define MBOX_CMD_DSP_BKREQ 0x21
32 #define MBOX_CMD_DSP_BKYLD 0x23
33 #define MBOX_CMD_DSP_BKSNDP 0x24
34 #define MBOX_CMD_DSP_BKREQP 0x25
35 #define MBOX_CMD_DSP_TCTL 0x30
36 #define MBOX_CMD_DSP_TCTLDATA 0x31
37 #define MBOX_CMD_DSP_POLL 0x32
38 #define MBOX_CMD_DSP_WDT 0x50
39 #define MBOX_CMD_DSP_RUNLEVEL 0x51
40 #define MBOX_CMD_DSP_PM 0x52
41 #define MBOX_CMD_DSP_SUSPEND 0x53
42 #define MBOX_CMD_DSP_KFUNC 0x54
43 #define MBOX_CMD_DSP_TCFG 0x60
44 #define MBOX_CMD_DSP_TADD 0x62
45 #define MBOX_CMD_DSP_TDEL 0x63
46 #define MBOX_CMD_DSP_TSTOP 0x65
47 #define MBOX_CMD_DSP_DSPCFG 0x70
48 #define MBOX_CMD_DSP_REGRW 0x72
49 #define MBOX_CMD_DSP_GETVAR 0x74
50 #define MBOX_CMD_DSP_SETVAR 0x75
51 #define MBOX_CMD_DSP_ERR 0x78
52 #define MBOX_CMD_DSP_DBG 0x79
54 #endif /* MAILBOX_H */