Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp5221619imm; Tue, 9 Oct 2018 11:31:29 -0700 (PDT) X-Google-Smtp-Source: ACcGV62L+F8noaKSElA3bMcFkGPHprmFCGlEhiT5juw1T0lmJaKIxO1tHNPR+oZsP83mlwZfqqsd X-Received: by 2002:a63:d14a:: with SMTP id c10-v6mr26823088pgj.384.1539109889284; Tue, 09 Oct 2018 11:31:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539109889; cv=none; d=google.com; s=arc-20160816; b=SLT13lxAVFExoBJkfkXya4y2JELvNLSaGZmqj0waQ9T/5BKw7+rJwdY0htrfnq4Seu E4efsquP/x2CQEfVKRXp4WqSosVRQphxPD+haQnlKuLbJCqCCbgOWAttIDM7BwTD5qep 7hJ4/p595WwZ2+NY5ok0QSq3p/CCpnKdifjOBOLTs9fSBY+IWclLUc3XQ6i8SLubBpQ2 A5i/lCUxu2vvKIfQZRPR0Vc1KHfdN2J00EXg4+ihOTXH08/Qz5jEYJ/hB0B2Gq+c31hQ 3SmdPg4yvT7zRFdieXhPjhjxUvbcbHY2zZzeaQdcPRbFtXnUHmJMrJPKrIoKsAYYuzl0 D/2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=yu2CyOZj17wyErdRmvn9iRwQoelkiwCR4HAUNTRLdvc=; b=F8wgcWcWbrWlXYtJ5ojSIa8/LuxmvI8EHFdXiMC6JnxdxksZcTwEYB+hRJQ4pXbx5Z PVj3wICW1R5dEdoO3Eg7XfwkYc6ELy51WdqH+z+2WKcXh/pyyCkX44nUg9+kvN2bL+x0 b8nNrx3mdVjOqOyoYo9o5ocqZ4vgR69qNC5Aen3cfqzpsiuSB0Zu2aX+OTuw1604c7Lg 81Pioryslark+Yg1WEv9NHQaHggQ2TLgkRHHeRtgmvPRzMsdzyaJJ0M96oGfcgPveIrm 0lTo3aolJpT4pU5ZPMHQ82kmX3E26qF4kp/vGGSTWsQ5R1xcin0I556BnCRUvCqk7wRj mbgw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=jiFJpWgf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r7-v6si20679373ple.309.2018.10.09.11.30.44; Tue, 09 Oct 2018 11:31:29 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=jiFJpWgf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726693AbeJJBoR (ORCPT + 99 others); Tue, 9 Oct 2018 21:44:17 -0400 Received: from mail-pl1-f196.google.com ([209.85.214.196]:44390 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726434AbeJJBoR (ORCPT ); Tue, 9 Oct 2018 21:44:17 -0400 Received: by mail-pl1-f196.google.com with SMTP id p25-v6so1225697pli.11; Tue, 09 Oct 2018 11:26:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yu2CyOZj17wyErdRmvn9iRwQoelkiwCR4HAUNTRLdvc=; b=jiFJpWgf2UDMwP+Yol+OK0UpOkDwSlwtmq2ZmU5f/YDRZ8s/XO5kik/sxuQyyrS1Hg TpOYfx1tpBI8/igmU6glEDrAyX58PjSmef0ZhlCkhnQ4wIqHgDxceq26zGKkL9Ol1Jsw cXvNGPZWRKZeBIwoGk03zGitUfUX8TN8lbstszpl/so9pHdugIL4p9SppfNDtntp6GWu 8A00rvzkuJoIS5uPBMPcA/xK7V+MKi6c7NzTITx5EvpC+rzUOkdjXRmtDxU9w9uxfhyo TVBjQILJRvNwOJirT6B7eEByzqxYYCS8omQCArUc9L4Hq6q4Jrd0rbfioS5H49edSZ+d wecA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yu2CyOZj17wyErdRmvn9iRwQoelkiwCR4HAUNTRLdvc=; b=QF0Q09EYHnsz3VntbCWiOUYo72jJ7vcNFBYIROGxwb2YgclQmv1AV5JND24xbW+D+c ha1O40f7K7HLQqcKYtDWfYS4Rl7/NKAualgzgOfFADIy0lVLR1/d1jv55roXccr+yM+c zc8RutFLvmH/1c1Y4aBwqrLqcjcWazWXppuZQVUpjYXL5lUKSCPGDpPbQ1tFzM3n9xi9 4SRRx/YYfyBYLRs7BVQDNVJh/fLZLxuku6IAAog4tpHJ9G+03LumF2pt8WA6bbz6QfKb hjxI0WNp6PHZBOnAxu7mkBBsssTJl1DHKF9p2rS47IK0c02So88yNE5K879EHALjZYIz 6SaA== X-Gm-Message-State: ABuFfojJNxysapEh28cDkZXNQBGScipdezNpqqy9f3Atuoo5bXNL5Jz3 FXNs3sad1F88uCkEVQAO+82R31GgjtIBnXQVFOk= X-Received: by 2002:a17:902:6b03:: with SMTP id o3-v6mr30044122plk.333.1539109561888; Tue, 09 Oct 2018 11:26:01 -0700 (PDT) MIME-Version: 1.0 References: <1515109891-17133-1-git-send-email-jliang@xilinx.com> <1515109891-17133-3-git-send-email-jliang@xilinx.com> In-Reply-To: <1515109891-17133-3-git-send-email-jliang@xilinx.com> From: Wendy Liang Date: Tue, 9 Oct 2018 11:25:49 -0700 Message-ID: Subject: Re: [PATCH v3 2/2] dt-bindings: mailbox: Add Xilinx IPI Mailbox To: Wendy Liang Cc: Jassi Brar , Michal Simek , Rob Herring , Mark Rutland , linux-arm-kernel , Devicetree List , Linux Kernel Mailing List , Wendy Liang Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 4, 2018 at 3:53 PM Wendy Liang wrote: > > Xilinx ZynqMP IPI(Inter Processor Interrupt) is a hardware block > in ZynqMP SoC used for the communication between various processor > systems. > > Signed-off-by: Wendy Liang > --- > .../bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt | 104 +++++++++++++++++++++ > 1 file changed, 104 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt > > diff --git a/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt > new file mode 100644 > index 0000000..5e270a3 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt > @@ -0,0 +1,104 @@ > +Xilinx IPI Mailbox Controller > +======================================== > + > +The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage > +messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents. Each IPI > +agent owns registers used for notification and buffers for message. > + > + +-------------------------------------+ > + | Xilinx ZynqMP IPI Controller | > + +-------------------------------------+ > + +--------------------------------------------------+ > +ATF | | > + | | > + | | > + +--------------------------+ | > + | | > + | | > + +--------------------------------------------------+ > + +------------------------------------------+ > + | +----------------+ +----------------+ | > +Hardware | | IPI Agent | | IPI Buffers | | > + | | Registers | | | | > + | | | | | | > + | +----------------+ +----------------+ | > + | | > + | Xilinx IPI Agent Block | > + +------------------------------------------+ > + > + > +Controller Device Node: > +=========================== > +Required properties: > +-------------------- > +- compatible: Shall be: "xlnx,zynqmp-ipi-mailbox" > +- reg: IPI buffers address ranges > +- reg-names: Names of the reg resources. It should have: > + * local_request_region > + - IPI request msg buffer written by local and read > + by remote > + * local_response_region > + - IPI response msg buffer written by local and read > + by remote > + * remote_request_region > + - IPI request msg buffer written by remote and read > + by local > + * remote_response_region > + - IPI response msg buffer written by remote and read > + by local > +- #mbox-cells: Shall be 1. It contains: > + * tx(0) or rx(1) channel > +- xlnx,ipi-ids: Xilinx IPI agent IDs of the two peers of the > + Xilinx IPI communication channel. > +- interrupt-parent: Phandle for the interrupt controller > +- interrupts: Interrupt information corresponding to the > + interrupt-names property. > + > +Optional properties: > +-------------------- > +- method: The method of accessing the IPI agent registers. > + Permitted values are: "smc" and "hvc". Default is > + "smc". > + > +Example: > +=========================== > + /* APU<->RPU0 IPI mailbox controller */ > + ipi_mailbox_rpu0: mailbox@ff90400 { > + compatible = "xlnx,zynqmp-ipi-mailbox"; > + reg = <0x0 0xff990400 0x0 0x20>, > + <0x0 0xff990420 0x0 0x20>, > + <0x0 0xff990080 0x0 0x20>, > + <0x0 0xff9900a0 0x0 0x20>; > + reg-names = "local_request_region", "local_response_region", > + "remote_request_region", "remote_response_region"; > + #mbox-cells = <1>; > + xlnx-ipi-ids = <0 1>; > + interrupt-parent = <&gic>; > + interrupts = <0 29 4>; > + }; > + /* APU<->RPU1 IPI mailbox controller */ > + ipi_mailbox_rpu1: mailbox@ff990440 { > + compatible = "xlnx,zynqmp-ipi-mailbox"; > + reg = <0x0 0xff990440 0x0 0x20>, > + <0x0 0xff990460 0x0 0x20>, > + <0x0 0xff990280 0x0 0x20>, > + <0x0 0xff9902a0 0x0 0x20>; > + reg-names = "local_request_region", "local_response_region", > + "remote_request_region", "remote_response_region"; > + #mbox-cells = <1>; > + xlnx-ipi-ids = <0 2>; > + interrupt-parent = <&gic>; > + interrupts = <0 29 4>; > + }; The Xilinx IPI hardware one IPI agent contains multiple IPI mailboxes. Please make ipi mailbox as subnodes to the IPI agent device node. > + rpu0 { > + ... > + mboxes = <&ipi_mailbox_rpu0 0>, > + <&ipi_mailbox_rpu0 1>; > + mbox-names = "tx", "rx"; > + }; > + rpu1 { > + ... > + mboxes = <&ipi_mailbox_rpu1 0>, > + <&ipi_mailbox_rpu1 1>; > + mbox-names = "tx", "rx"; > + }; > -- > 2.7.4 >