On Thu, Sep 10, 2020 at 03:25:18PM +0530, Viresh Kumar wrote: > Convert the DT binding over to Json-schema. > > Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > --- > V3: New patch. > > .../devicetree/bindings/mailbox/arm,mhu.yaml | 86 +++++++++++++++++++ > .../devicetree/bindings/mailbox/arm-mhu.txt | 43 ---------- > 2 files changed, 86 insertions(+), 43 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mailbox/arm,mhu.yaml > delete mode 100644 Documentation/devicetree/bindings/mailbox/arm-mhu.txt > > diff --git a/Documentation/devicetree/bindings/mailbox/arm,mhu.yaml b/Documentation/devicetree/bindings/mailbox/arm,mhu.yaml > new file mode 100644 > index 000000000000..4e840cedb2e4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/arm,mhu.yaml > @@ -0,0 +1,86 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%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@xxxxxxxxxx> Ideally, this should be someone familiar with the h/w, not the subsystem maintainer. Sudeep or you in this case? > + > +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: > + description: | > + Interrupt information corresponding to each of the 3 links of MHU, > + low-priority non-secure, high-priority non-secure, and secure. > + maxItems: 3 items: - description: low-priority non-secure - description: high-priority non-secure - description: Secure > + > + 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 */ > + }; > + }; > diff --git a/Documentation/devicetree/bindings/mailbox/arm-mhu.txt b/Documentation/devicetree/bindings/mailbox/arm-mhu.txt > deleted file mode 100644 > index 4971f03f0b33..000000000000 > --- a/Documentation/devicetree/bindings/mailbox/arm-mhu.txt > +++ /dev/null > @@ -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 */ > - }; > -- > 2.25.0.rc1.19.g042ed3e048af >