Home
last modified time | relevance | path

Searched +full:ast2700 +full:- +full:mailbox (Results 1 – 2 of 2) sorted by relevance

/linux/Documentation/devicetree/bindings/mailbox/
H A Daspeed,ast2700-mailbox.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mailbox/aspeed,ast2700-mailbox.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: ASPEED AST2700 mailbox controller
10 - Jammy Huang <jammy_huang@aspeedtech.com>
13 ASPEED AST2700 has multiple processors that need to communicate with each
14 other. The mailbox controller provides a way for these processors to send
15 messages to each other. It is a hardware-based inter-processor communication
19 The mailbox's tx/rx are independent, meaning that one processor can send a
[all …]
/linux/drivers/mailbox/
H A Dast2700-mailbox.c1 // SPDX-License-Identifier: GPL-2.0-only
39 return chan - chan->mbox->chans; in ch_num()
44 return !(readl(mb->tx_regs + IPCR_STATUS) & BIT(idx)); in ast2700_mbox_tx_done()
51 int num_words = mb->msg_size / sizeof(u32); in ast2700_mbox_irq()
57 status = readl(mb->rx_regs + IPCR_ENABLE) & in ast2700_mbox_irq()
58 readl(mb->rx_regs + IPCR_STATUS); in ast2700_mbox_irq()
63 for (n = 0; n < mb->mbox.num_chans; ++n) { in ast2700_mbox_irq()
64 struct mbox_chan *chan = &mb->mbox.chans[n]; in ast2700_mbox_irq()
69 data_reg = mb->rx_regs + IPCR_DATA + mb->msg_size * n; in ast2700_mbox_irq()
70 word_data = chan->con_priv; in ast2700_mbox_irq()
[all …]