| /* |
| * ALSA SoC - Samsung Mailbox driver |
| * |
| * Copyright (c) 2016 Samsung Electronics Co. Ltd. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| */ |
| |
| #ifndef __VTS_MAILBOX_H |
| #define __VTS_MAILBOX_H |
| |
| /** |
| * Mailbox interrupt generator |
| * @param[in] pdev pointer to struct platform_device of target mailbox device |
| * @param[in] hw_irq hardware irq number which is same with bit index of the irq |
| * @return error code if any |
| */ |
| extern int mailbox_generate_interrupt(const struct platform_device *pdev, int hw_irq); |
| |
| /** |
| * Mailbox shared register writer |
| * @param[in] pdev pointer to struct platform_device of target mailbox device |
| * @param[in] values values to write |
| * @param[in] start start position to write. if 0, values are written from ISSR0 |
| * @param[in] count count of value in values. |
| */ |
| extern void mailbox_write_shared_register(const struct platform_device *pdev, |
| const u32 *values, int start, int count); |
| |
| /** |
| * Mailbox shared register reader |
| * @param[in] pdev pointer to struct platform_device of target mailbox device |
| * @param[out] values memory to write |
| * @param[in] start start position to read. if 1, values are read from ISSR1 |
| * @param[in] count count of value in values. |
| */ |
| extern void mailbox_read_shared_register(const struct platform_device *pdev, |
| u32 *values, int start, int count); |
| |
| #endif /* __VTS_MAILBOX_H */ |