Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mailbox/microchip,sbi-ipc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip Inter-processor communication (IPC) mailbox controller
8
9maintainers:
10 - Valentina Fernandez <valentina.fernandezalanis@microchip.com>
11
12description:
13 The Microchip Inter-processor Communication (IPC) facilitates
14 message passing between processors using an interrupt signaling
15 mechanism.
16
17properties:
18 compatible:
19 oneOf:
20 - description:
21 Intended for use by software running in supervisor privileged
22 mode (s-mode). This SBI interface is compatible with the Mi-V
23 Inter-hart Communication (IHC) IP.
24 const: microchip,sbi-ipc
25
26 - description:
27 Intended for use by the SBI implementation in machine mode
28 (m-mode), this compatible string is for the MIV_IHC Soft-IP.
29 const: microchip,miv-ihc-rtl-v2
30
31 reg:
32 maxItems: 1
33
34 interrupts:
35 minItems: 1
36 maxItems: 5
37
38 interrupt-names:
39 minItems: 1
40 maxItems: 5
41 items:
42 enum:
43 - hart-0
44 - hart-1
45 - hart-2
46 - hart-3
47 - hart-4
48 - hart-5
49
50 "#mbox-cells":
51 description: >
52 For "microchip,sbi-ipc", the cell represents the global "logical"
53 channel IDs. The meaning of channel IDs are platform firmware dependent.
54
55 For "microchip,miv-ihc-rtl-v2", the cell represents the physical
56 channel and does not vary based on the platform firmware.
57 const: 1
58
59 microchip,ihc-chan-disabled-mask:
60 description: >
61 Represents the enable/disable state of the bi-directional IHC
62 channels within the MIV-IHC IP configuration.
63
64 A bit set to '1' indicates that the corresponding channel is disabled,
65 and any read or write operations to that channel will return zero.
66
67 A bit set to '0' indicates that the corresponding channel is enabled
68 and will be accessible through its dedicated address range registers.
69
70 The actual enable/disable state of each channel is determined by the
71 IP block’s configuration.
72 $ref: /schemas/types.yaml#/definitions/uint16
73 maximum: 0x7fff
74 default: 0
75
76required:
77 - compatible
78 - interrupts
79 - interrupt-names
80 - "#mbox-cells"
81
82allOf:
83 - if:
84 properties:
85 compatible:
86 contains:
87 const: microchip,sbi-ipc
88 then:
89 properties:
90 reg:
91 not: {}
92 description:
93 The 'microchip,sbi-ipc' operates in a programming model
94 that does not require memory-mapped I/O (MMIO) registers
95 since it uses SBI ecalls provided by the m-mode/firmware
96 SBI implementation to access hardware registers.
97 microchip,ihc-chan-disabled-mask: false
98 else:
99 required:
100 - reg
101 - microchip,ihc-chan-disabled-mask
102
103additionalProperties: false
104
105examples:
106 - |
107 mailbox {
108 compatible = "microchip,sbi-ipc";
109 interrupt-parent = <&plic>;
110 interrupts = <180>, <179>, <178>;
111 interrupt-names = "hart-1", "hart-2", "hart-3";
112 #mbox-cells = <1>;
113 };
114 - |
115 mailbox@50000000 {
116 compatible = "microchip,miv-ihc-rtl-v2";
117 microchip,ihc-chan-disabled-mask = /bits/ 16 <0>;
118 reg = <0x50000000 0x1c000>;
119 interrupt-parent = <&plic>;
120 interrupts = <180>, <179>, <178>;
121 interrupt-names = "hart-1", "hart-2", "hart-3";
122 #mbox-cells = <1>;
123 };