You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration
Pull more mailbox updates from Jassi Brar: "Device tree bindings and driver for TI's Message-Manager controller. Due to some last minute cosmetic changes, the driver was not included in the first pull request, otherwise the driver has been reviewed twice" * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: Introduce TI message manager driver Documentation: dt: mailbox: Add TI Message Manager
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
Texas Instruments' Message Manager Driver
|
||||
========================================
|
||||
|
||||
The Texas Instruments' Message Manager is a mailbox controller that has
|
||||
configurable queues selectable at SoC(System on Chip) integration. The Message
|
||||
manager is broken up into queues in different address regions that are called
|
||||
"proxies" - each instance is unidirectional and is instantiated at SoC
|
||||
integration level to indicate receive or transmit path.
|
||||
|
||||
Message Manager Device Node:
|
||||
===========================
|
||||
Required properties:
|
||||
--------------------
|
||||
- compatible: Shall be: "ti,k2g-message-manager"
|
||||
- reg-names queue_proxy_region - Map the queue proxy region.
|
||||
queue_state_debug_region - Map the queue state debug
|
||||
region.
|
||||
- reg: Contains the register map per reg-names.
|
||||
- #mbox-cells Shall be 2. Contains the queue ID and proxy ID in that
|
||||
order referring to the transfer path.
|
||||
- interrupt-names: Contains interrupt names matching the rx transfer path
|
||||
for a given SoC. Receive interrupts shall be of the
|
||||
format: "rx_<QID>_<PID>".
|
||||
For ti,k2g-message-manager, this shall contain:
|
||||
"rx_005_002", "rx_057_002"
|
||||
- interrupts: Contains the interrupt information corresponding to
|
||||
interrupt-names property.
|
||||
|
||||
Example(K2G):
|
||||
------------
|
||||
|
||||
msgmgr: msgmgr@02a00000 {
|
||||
compatible = "ti,k2g-message-manager";
|
||||
#mbox-cells = <2>;
|
||||
reg-names = "queue_proxy_region", "queue_state_debug_region";
|
||||
reg = <0x02a00000 0x400000>, <0x028c3400 0x400>;
|
||||
interrupt-names = "rx_005", "rx_057";
|
||||
interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
pmmc: pmmc {
|
||||
[...]
|
||||
mbox-names = "rx", "tx";
|
||||
# RX queue ID is 5, proxy ID is 2
|
||||
# TX queue ID is 0, proxy ID is 0
|
||||
mboxes= <&msgmgr 5 2>,
|
||||
<&msgmgr 0 0>;
|
||||
[...]
|
||||
};
|
||||
@@ -87,6 +87,17 @@ config STI_MBOX
|
||||
Mailbox implementation for STMicroelectonics family chips with
|
||||
hardware for interprocessor communication.
|
||||
|
||||
config TI_MESSAGE_MANAGER
|
||||
tristate "Texas Instruments Message Manager Driver"
|
||||
depends on ARCH_KEYSTONE
|
||||
help
|
||||
An implementation of Message Manager slave driver for Keystone
|
||||
architecture SoCs from Texas Instruments. Message Manager is a
|
||||
communication entity found on few of Texas Instrument's keystone
|
||||
architecture SoCs. These may be used for communication between
|
||||
multiple processors within the SoC. Select this driver if your
|
||||
platform has support for the hardware block.
|
||||
|
||||
config HI6220_MBOX
|
||||
tristate "Hi6220 Mailbox"
|
||||
depends on ARCH_HISI
|
||||
|
||||
@@ -20,6 +20,8 @@ obj-$(CONFIG_BCM2835_MBOX) += bcm2835-mailbox.o
|
||||
|
||||
obj-$(CONFIG_STI_MBOX) += mailbox-sti.o
|
||||
|
||||
obj-$(CONFIG_TI_MESSAGE_MANAGER) += ti-msgmgr.o
|
||||
|
||||
obj-$(CONFIG_XGENE_SLIMPRO_MBOX) += mailbox-xgene-slimpro.o
|
||||
|
||||
obj-$(CONFIG_HI6220_MBOX) += hi6220-mailbox.o
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Texas Instruments' Message Manager
|
||||
*
|
||||
* Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
|
||||
* Nishanth Menon
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
||||
* kind, whether express or implied; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef TI_MSGMGR_H
|
||||
#define TI_MSGMGR_H
|
||||
|
||||
/**
|
||||
* struct ti_msgmgr_message - Message Manager structure
|
||||
* @len: Length of data in the Buffer
|
||||
* @buf: Buffer pointer
|
||||
*
|
||||
* This is the structure for data used in mbox_send_message
|
||||
* the length of data buffer used depends on the SoC integration
|
||||
* parameters - each message may be 64, 128 bytes long depending
|
||||
* on SoC. Client is supposed to be aware of this.
|
||||
*/
|
||||
struct ti_msgmgr_message {
|
||||
size_t len;
|
||||
u8 *buf;
|
||||
};
|
||||
|
||||
#endif /* TI_MSGMGR_H */
|
||||
Reference in New Issue
Block a user