Skip to content

Commit 621d7d0

Browse files
Guomin Chenarndb
authored andcommitted
dt-bindings: mailbox: add cix,sky1-mbox
Add a dt-binding for the Cixtech Mailbox Controller. Reviewed-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Peter Chen <[email protected]> Signed-off-by: Guomin Chen <[email protected]> Signed-off-by: Lihua Liu <[email protected]> Signed-off-by: Peter Chen <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
1 parent aa4bc28 commit 621d7d0

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mailbox/cix,sky1-mbox.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cixtech mailbox controller
8+
9+
maintainers:
10+
- Guomin Chen <[email protected]>
11+
12+
description:
13+
The Cixtech mailbox controller, used in the Cixtech Sky1 SoC,
14+
is used for message transmission between multiple processors
15+
within the SoC, such as the AP, PM, audio DSP, SensorHub MCU,
16+
and others
17+
18+
Each Cixtech mailbox controller is unidirectional, so they are
19+
typically used in pairs-one for receiving and one for transmitting.
20+
21+
Each Cixtech mailbox supports 11 channels with different transmission modes
22+
channel 0-7 - Fast channel with 32bit transmit register and IRQ support
23+
channel 8 - Doorbell mode,using the mailbox as an interrupt-generating
24+
mechanism.
25+
channel 9 - Fifo based channel with 32*32bit depth fifo and IRQ support
26+
channel 10 - Reg based channel with 32*32bit transmit register and
27+
Doorbell+transmit acknowledgment IRQ support
28+
29+
In the CIX Sky1 SoC use case, there are 4 pairs of mailbox controllers
30+
AP <--> PM - using Doorbell transfer mode
31+
AP <--> SE - using REG transfer mode
32+
AP <--> DSP - using FIFO transfer mode
33+
AP <--> SensorHub - using FIFO transfer mode
34+
35+
properties:
36+
compatible:
37+
const: cix,sky1-mbox
38+
39+
reg:
40+
maxItems: 1
41+
42+
interrupts:
43+
maxItems: 1
44+
45+
"#mbox-cells":
46+
const: 1
47+
48+
cix,mbox-dir:
49+
$ref: /schemas/types.yaml#/definitions/string
50+
description: Direction of the mailbox relative to the AP
51+
enum: [tx, rx]
52+
53+
required:
54+
- compatible
55+
- reg
56+
- interrupts
57+
- "#mbox-cells"
58+
- cix,mbox-dir
59+
60+
additionalProperties: false
61+
62+
examples:
63+
- |
64+
#include <dt-bindings/interrupt-controller/arm-gic.h>
65+
66+
soc {
67+
#address-cells = <2>;
68+
#size-cells = <2>;
69+
70+
mbox_ap2pm: mailbox@30000000 {
71+
compatible = "cix,sky1-mbox";
72+
reg = <0 0x30000000 0 0x10000>;
73+
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>;
74+
#mbox-cells = <1>;
75+
cix,mbox-dir = "tx";
76+
};
77+
};

0 commit comments

Comments
 (0)