From patchwork Tue Jun 19 19:43:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nishanth Menon X-Patchwork-Id: 139258 Delivered-To: patch@linaro.org Received: by 2002:a2e:970d:0:0:0:0:0 with SMTP id r13-v6csp5621899lji; Tue, 19 Jun 2018 12:54:15 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIw5ICs7AfQyqtp/VBAIc/h7q3A4ta8lo6MYEQAN+t+RHnAXVr0ix2zKFOjjbkHBn4t6y3B X-Received: by 2002:a65:560f:: with SMTP id l15-v6mr16485029pgs.260.1529438055703; Tue, 19 Jun 2018 12:54:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529438055; cv=none; d=google.com; s=arc-20160816; b=IlpqWUEnBOHaEw7xWu6O0A66OI1CeTDN2DfjK/mXkp9SjE6uipQoHKMjVJcTbYaIJ7 XQWAQCooZK4Df71yWnGqhFoEHRyR2xJ/QAkXPvxovHtiHJv427DggMbIkF2YaQQ88TY5 CXIcWSR6toOgac+v20R0Kfz06+svkSzTb4dPB8QUFJIGIk/UYDQouOe2wkBQl/X/5erK 0IXhe/cXrsnD35XXpPeK0YBl8KkpI//a1l4V0KkvZOmbso8mg1WC/GU18xKKu5BAJOHQ suakGf8ztelzZir2e2QpZK4ewWTeDb7ADJqnD4rD1YHS7Xx/seFcZk5HVaLFjyFSGm7R Iuag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=+Rub31iQblYBjhtSV3poMjva4ONmHPWl3ILrDKsZYCM=; b=aZDtBdU0toJhkRslfWPU8FDYS5teBuBlRs1mEsujg5gdzfrwfpMU0oZyZB/mnJ/Smi 8GKNm2+N9cPGRqodtN2h8UDaCgJ0fDPy45GONa4GB/WQGi27Bi+BKkXj2PaEmVaNwNvj 0bnWH9JfXHzr40NzcBRVhaZxCIOGPcKDVIQQeIR+LBmzOYAZpdC3mL115t+4u+COmKd6 qJaNNJLWpgb/PR/SzIohYsHU8eDfjk/WhYTzas3Iu32ZVXDZhURsbl2+2z8/o0qoqtXR dpnZ/ODPTZrFf9VFnrwq3RlidQakr487se0aXkV/xNOnGlcnKDHFSyJh0EF1yQYtvE9B NDXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=ubKfUYtP; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n4-v6si440070plp.128.2018.06.19.12.54.15; Tue, 19 Jun 2018 12:54:15 -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=@ti.com header.s=ti-com-17Q1 header.b=ubKfUYtP; 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=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030730AbeFSTyN (ORCPT + 30 others); Tue, 19 Jun 2018 15:54:13 -0400 Received: from lelv0142.ext.ti.com ([198.47.23.249]:56644 "EHLO lelv0142.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030510AbeFSTxV (ORCPT ); Tue, 19 Jun 2018 15:53:21 -0400 X-Greylist: delayed 578 seconds by postgrey-1.27 at vger.kernel.org; Tue, 19 Jun 2018 15:53:20 EDT Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id w5JJhcFe021344; Tue, 19 Jun 2018 14:43:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1529437418; bh=+Rub31iQblYBjhtSV3poMjva4ONmHPWl3ILrDKsZYCM=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=ubKfUYtPy1OUVdOAN47TF9WQRPWxJFdabq9HuJGMNDKO042OPu/E1HGgrdrkVrqdO L5WVJydMmqPMfx4adu69DsS2LSwzxTB5vV/PsDL6XvZchshigqxeRWGjwpxXg9kklU 8a9/DgW0K7gZzwkNbTynbUukhVPO0ILDT1dgivog= Received: from DLEE101.ent.ti.com (dlee101.ent.ti.com [157.170.170.31]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id w5JJhcbm024520; Tue, 19 Jun 2018 14:43:38 -0500 Received: from DLEE106.ent.ti.com (157.170.170.36) by DLEE101.ent.ti.com (157.170.170.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Tue, 19 Jun 2018 14:43:37 -0500 Received: from dflp32.itg.ti.com (10.64.6.15) by DLEE106.ent.ti.com (157.170.170.36) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1466.3 via Frontend Transport; Tue, 19 Jun 2018 14:43:37 -0500 Received: from localhost (ileax41-snat.itg.ti.com [10.172.224.153]) by dflp32.itg.ti.com (8.14.3/8.13.8) with ESMTP id w5JJhbKB017893; Tue, 19 Jun 2018 14:43:37 -0500 From: Nishanth Menon To: Jassi Brar , Mark Rutland , Rob Herring CC: Nishanth Menon , Suman Anna , Tero Kristo , , Subject: [PATCH 5/6] dt-bindings: mailbox: Add support for secure proxy threads Date: Tue, 19 Jun 2018 14:43:36 -0500 Message-ID: <20180619194337.31522-6-nm@ti.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180619194337.31522-1-nm@ti.com> References: <20180619194337.31522-1-nm@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Secure Proxy is another communication scheme in Texas Instrument's devices intended to provide an unique communication path from various processors in the System on Chip(SoC) to a central System Controller. Secure proxy is, in effect, an evolution of current generation Message Manager hardware block found in K2G devices. However the following changes have taken place: Secure Proxy instance exposes "threads" or "proxies" which is primary representation of "a" communication channel. Each thread is preconfigured by System controller configuration based on SoC usage requirements. Secure proxy by itself represents a single "queue" of communication but allows the proxies to be independently operated. Each Secure proxy thread can uniquely have their own error and threshold interrupts allowing for more fine control of IRQ handling. Provide an hardware description of the same for device tree representation. See AM65x Technical Reference Manual (SPRUID7, April 2018) for further details: http://www.ti.com/lit/pdf/spruid7 Signed-off-by: Nishanth Menon --- Changes since RFC: * DT binding have been seperated into it's own file following Rob's feedback. RFC: https://patchwork.kernel.org/patch/10447695/ .../bindings/mailbox/ti,secure-proxy.txt | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Documentation/devicetree/bindings/mailbox/ti,secure-proxy.txt -- 2.15.1 diff --git a/Documentation/devicetree/bindings/mailbox/ti,secure-proxy.txt b/Documentation/devicetree/bindings/mailbox/ti,secure-proxy.txt new file mode 100644 index 000000000000..ea2ccc607b35 --- /dev/null +++ b/Documentation/devicetree/bindings/mailbox/ti,secure-proxy.txt @@ -0,0 +1,50 @@ +Texas Instruments' Secure Proxy +======================================== + +The Texas Instruments' secure proxy is a mailbox controller that has +configurable queues selectable at SoC(System on Chip) integration. The +Message manager is broken up into different address regions that are +called "threads" or "proxies" - each instance is unidirectional and is +instantiated at SoC integration level by system controller to indicate +receive or transmit path. + +Message Manager Device Node: +=========================== +Required properties: +-------------------- +- compatible: Shall be "ti,am654-secure-proxy" +- reg-names target_data - Map the proxy data region + rt - Map the realtime status region + scfg - Map the configuration region +- reg: Contains the register map per reg-names. +- #mbox-cells Shall be 1 and shall refer to the transfer path + called thread. +- interrupt-names: Contains interrupt names matching the rx transfer path + for a given SoC. Receive interrupts shall be of the + format: "rx_". +- interrupts: Contains the interrupt information corresponding to + interrupt-names property. + +Example(AM654): +------------ + + secure_proxy: secure_proxy@32c00000 { + compatible = "ti,am654-secure-proxy"; + #mbox-cells = <1>; + reg-names = "target_data", "rt", "scfg"; + reg = <0x0 0x32c00000 0x0 0x100000>, + <0x0 0x32400000 0x0 0x100000>, + <0x0 0x32800000 0x0 0x100000>; + interrupt-names = "rx_011"; + interrupts = ; + }; + + dmsc: dmsc { + [...] + mbox-names = "rx", "tx"; + # RX Thread ID is 11 + # TX Thread ID is 13 + mboxes= <&secure_proxy 11>, + <&secure_proxy 13>; + [...] + };