mirror of https://gitee.com/openkylin/linux.git
dt-bindings: mailbox : arm,mhu: Convert to Json-schema
Convert the DT binding over to Json-schema. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
This commit is contained in:
parent
5b92d8e9e5
commit
9070f35d25
|
@ -0,0 +1,87 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/mailbox/arm,mhu.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: ARM MHU Mailbox Controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Jassi Brar <jaswinder.singh@linaro.org>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The ARM's Message-Handling-Unit (MHU) is a mailbox controller that has 3
|
||||||
|
independent channels/links to communicate with remote processor(s). MHU links
|
||||||
|
are hardwired on a platform. A link raises interrupt for any received data.
|
||||||
|
However, there is no specified way of knowing if the sent data has been read
|
||||||
|
by the remote. This driver assumes the sender polls STAT register and the
|
||||||
|
remote clears it after having read the data. The last channel is specified to
|
||||||
|
be a 'Secure' resource, hence can't be used by Linux running NS.
|
||||||
|
|
||||||
|
# We need a select here so we don't match all nodes with 'arm,primecell'
|
||||||
|
select:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
const: arm,mhu
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- const: arm,mhu
|
||||||
|
- const: arm,primecell
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
items:
|
||||||
|
- description: low-priority non-secure
|
||||||
|
- description: high-priority non-secure
|
||||||
|
- description: Secure
|
||||||
|
maxItems: 3
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: apb_pclk
|
||||||
|
|
||||||
|
'#mbox-cells':
|
||||||
|
description: Index of the channel.
|
||||||
|
const: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- '#mbox-cells'
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
soc {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
mhuA: mailbox@2b1f0000 {
|
||||||
|
#mbox-cells = <1>;
|
||||||
|
compatible = "arm,mhu", "arm,primecell";
|
||||||
|
reg = <0 0x2b1f0000 0 0x1000>;
|
||||||
|
interrupts = <0 36 4>, /* LP-NonSecure */
|
||||||
|
<0 35 4>, /* HP-NonSecure */
|
||||||
|
<0 37 4>; /* Secure */
|
||||||
|
clocks = <&clock 0 2 1>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
};
|
||||||
|
|
||||||
|
mhu_client_scb: scb@2e000000 {
|
||||||
|
compatible = "fujitsu,mb86s70-scb-1.0";
|
||||||
|
reg = <0 0x2e000000 0 0x4000>;
|
||||||
|
mboxes = <&mhuA 1>; /* HP-NonSecure */
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,43 +0,0 @@
|
||||||
ARM MHU Mailbox Driver
|
|
||||||
======================
|
|
||||||
|
|
||||||
The ARM's Message-Handling-Unit (MHU) is a mailbox controller that has
|
|
||||||
3 independent channels/links to communicate with remote processor(s).
|
|
||||||
MHU links are hardwired on a platform. A link raises interrupt for any
|
|
||||||
received data. However, there is no specified way of knowing if the sent
|
|
||||||
data has been read by the remote. This driver assumes the sender polls
|
|
||||||
STAT register and the remote clears it after having read the data.
|
|
||||||
The last channel is specified to be a 'Secure' resource, hence can't be
|
|
||||||
used by Linux running NS.
|
|
||||||
|
|
||||||
Mailbox Device Node:
|
|
||||||
====================
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
--------------------
|
|
||||||
- compatible: Shall be "arm,mhu" & "arm,primecell"
|
|
||||||
- reg: Contains the mailbox register address range (base
|
|
||||||
address and length)
|
|
||||||
- #mbox-cells Shall be 1 - the index of the channel needed.
|
|
||||||
- interrupts: Contains the interrupt information corresponding to
|
|
||||||
each of the 3 links of MHU.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
--------
|
|
||||||
|
|
||||||
mhu: mailbox@2b1f0000 {
|
|
||||||
#mbox-cells = <1>;
|
|
||||||
compatible = "arm,mhu", "arm,primecell";
|
|
||||||
reg = <0 0x2b1f0000 0x1000>;
|
|
||||||
interrupts = <0 36 4>, /* LP-NonSecure */
|
|
||||||
<0 35 4>, /* HP-NonSecure */
|
|
||||||
<0 37 4>; /* Secure */
|
|
||||||
clocks = <&clock 0 2 1>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
};
|
|
||||||
|
|
||||||
mhu_client: scb@2e000000 {
|
|
||||||
compatible = "fujitsu,mb86s70-scb-1.0";
|
|
||||||
reg = <0 0x2e000000 0x4000>;
|
|
||||||
mboxes = <&mhu 1>; /* HP-NonSecure */
|
|
||||||
};
|
|
Loading…
Reference in New Issue