Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752207AbdHHLNM (ORCPT ); Tue, 8 Aug 2017 07:13:12 -0400 Received: from mail-by2nam03on0053.outbound.protection.outlook.com ([104.47.42.53]:45544 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752129AbdHHLND (ORCPT ); Tue, 8 Aug 2017 07:13:03 -0400 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; From: Ravi Shankar Jonnalagadda To: , , , , , , , , , , , , Subject: [PATCH 4/4] PCI: ZYNQMP PS PCIe DMA driver: Devicetree binding for Root DMA Date: Tue, 8 Aug 2017 16:42:19 +0530 Message-ID: <1502190739-13474-5-git-send-email-vjonnal@xilinx.com> X-Mailer: git-send-email 2.1.1 In-Reply-To: <1502190739-13474-1-git-send-email-vjonnal@xilinx.com> References: <1502190739-13474-1-git-send-email-vjonnal@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-23244.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(39450400003)(39840400002)(39850400002)(39410400002)(39860400002)(39400400002)(2980300002)(438002)(199003)(189002)(36386004)(76176999)(50986999)(47776003)(189998001)(106466001)(2906002)(33646002)(36756003)(63266004)(90966002)(42186005)(45336002)(38730400002)(626005)(46386002)(6666003)(103686004)(52956003)(2950100002)(356003)(6266002)(48376002)(2201001)(575784001)(50466002)(81156014)(8676002)(81166006)(5660300001)(478600001)(8936002)(5003940100001)(305945005)(50226002)(107986001)(921003)(2101003)(1121003)(83996005);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR02MB2449;H:xsj-pvapsmtpgw01;FPR:;SPF:Pass;PTR:unknown-60-83.xilinx.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1NAM02FT021;1:FjYNnKLFWAytNCN0clILW5Db2zt2XbaCytIImr3ZQvCSUs2pJ5KL3XvI0mz1jL8SfDZYBAjP5oV9sR+xyeJtB/6l5rNMVfUn5MTuvyf0+h/kWVlQdtzjCxsY3Ttp2+t4A1H9JzCk93dHUkpOoDzzQf90ykZN43MmWM2fHq+qvioA9sJUBVxR51zsC5DQrgJqIF2dKzli52jhv942IsAHoXD1mQwR9XPLMB+GvK9hdiSv5pkzT6mR1vsnBLWG4F7KJVVRyk2jnDH/SmrEYA6O5T+nZYpqbxRTzIZW8UzMi9//tDmQ+PsVw0/78UZSlnsOHgEZwhHiT98/Q/fmqVvY4/PmqWkX1GhAORdPzVAA/o8sALMQ+AsM3+Jzadgkg6F959oZbHiwUtg+EM3n21j3thHdjsCldniRmzOLAR+j/evRcs1VShpXT9RxvwVopwzGj67D4rAIIYPkMj6fo35Qa5vuuV/Dxu39ZFMOQIxEjbBdSTptK6wvfgGU2qEFkPShtcp2cCNFcaehQNqllyrlf66uooMc8VF4POVmRDpRkmhYcidJVjBi4fbZXcfIRaLbwzFPPt5kIUFQ+85aUspYA7mEvFKOR9qX5ubCO7+gqWqHq5Spi8twYl3c26Vg0vcM9YTJzeYMgeWFOAXFB5yelUz+K6FgQs0VGPJFFqO/UuZRDvlw/uW8epe0qUS+3I252rXrzV+dGyCUtdRde4w1Z93+Oo+A13uMnFO3lif/27/Jy3Olhv+FBNGMwUqCXv/zd53Eg0OgYGY9L6hz4xClnshgK+7IVKXlWc6oDnSOFjsnzxwsG6YWil8qwgUtZgzvXpghCbU124gkSN8Alfx0mA8TMe6yCeUr3ql5xOVSTNLbUxnGluNhyaCwDt5zyvsM MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 471d9c20-3c35-405d-5c2c-08d4de4e6e19 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(8251501002)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:BN6PR02MB2449; X-Microsoft-Exchange-Diagnostics: 1;BN6PR02MB2449;3:g08y3OPXk0bLuJnor+kni/FnudIKDWuilhuB0GcIVu/rT2dlT3kLZxswvIhDicDX0WZcXP3FpeEyoHkEJkv1LIdbgHf7AxR9I8ecaSFWtQeiJ7ahGzhKHdDCn17awh6wYVskx17qovOH9YdNr8S+UW6wGbL7Qr6F4el1IXwLPMgm0nlCXBPRJs+SVisfRVZEzbMiiWxVY/24Tt9iI/zsUaPUQkXcrSx3DzbOiO4gdjh5QfqBEQp9igjI5YDqokOsN9nGZrxzrNfvNV8psPNCHaDU2JQVlUNQ7q1mjN7iqN7IOvACF0/DbgAQ9TTojOD+E45MPm2AF+vLh4hGZrpZeAvRXHUDvgPI+ONvoFYVRjI=;25:xeK0419SsGSM3wkbLI9VWUaiO+asxu24K3UVSMmQBLdGrDn7wxyx/e/znapS4xGZRJZgbi5NU6DBQzBLjOe3pzSZR+BNO6508geMXtlRfY3QZehArWSZgHPti+a38vxTiziji0rD2/yhcpyWkqAMAzaxoE1ffG5oEVrvvya30H0lTcqKRXhTKuj3o0c6jgDKLMlyJSPoPr+lql+zY9ZafhUBop76J0VUT5Ohd7eyF6LXiII5t2AQr/iJqw890sq8KsqYW63MQ95sLb0Na0xPCYUfte7Hb78wt8HcR3OMRuCN3ZU47JF20zQEUNznbbKK5Rkc21+uJg/YptoJPQC7cw== X-MS-TrafficTypeDiagnostic: BN6PR02MB2449: X-LD-Processed: 657af505-d5df-48d0-8300-c31994686c5c,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;BN6PR02MB2449;31:H3JSfoP7+Qdxw1pYy6y6a6u6NzfaSbg5j0ky4tDl8uGqpocZg327XTV/L+9XecWzN2kbjLBkeAYlzmmGdTGWZ7R7v10qIP/6KQhWAbdAWOjz8LfVC/4NT0u08fAk8WRneMBxAGbBhuiTTTnikCJN/n15aTEBlaNwHC+aG5EAMU7LjSV6QBfgS5xTaguwpMZHoStcQPO/SBHOWoSZ2EeTTnAAvMmfHLV7/+DHfQMgWJA=;20:8A22cPou7C+X/oHfcRGYggzykxxUIAkRt5z8PLv/tKgIQdxdXeuW2TBoVwTUgT9UWIwGDbhhBKkTSAP5xVZuL3mz01h3pOkgx1tMvKICVyz7dmTIX29ZlNdSTdgy8NAUXsT0/mjPeC90RNrif9/MWusrF096iAb63yfjoKrHrDYXB/GNozkZXDzRs0PYVuVlzjp6BwIasK3OKZLx4vc6GtxwT+TGosBj+qOpcTVv8aPMIxRHqOxiCl4k5YQXcxsPm7pO1GlMPOg9ZcZOKfoGVo1094ZXrOu146TBa/3GxO26XMWN4/Hj5DG8ep+km9zKpTcHFuf3nyhNz2Cecb10nDgKyXudl1qvy3pe4ste9oXRBBVHu0mS6kCB7rFpa4eDXxyTh/vZ3v17+CS2QDbuAuhJzEeEz54eqQjTHdCTgaFyt+prQsxuDBVJOZAHau3QxtVe9U8A7fcOL9lHRwHjMyRH/CiC9P2ZTmi7Lc8M3bpSAtCVp8ZQI8F7r0Rpr51Z X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(13018025)(5005006)(13016025)(10201501046)(93006095)(93004095)(100000703101)(100105400095)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR02MB2449;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR02MB2449; X-Microsoft-Exchange-Diagnostics: 1;BN6PR02MB2449;4:J9UYC+vnsnAWU2HHOBEJjblxpcLnr1Ws0BkmzE+Wtf9jI95NVeILy5jfsuQGZe3/bA6b/xmVa4MNXcm0AZNLWwdbOipzHYu5wXScdrllhy7O1AqIWSFWUscce0V4dTb3uAiO0tJMQhArCDnh9Jlp/8FFfc8NsQNDd30riRVnW8TPvYjLw9GW6DmgMjpZGBknWugb1L8VGNc6IBpqDVYZ+Ie3qwqRHv8MtBanhezwAs+/3J8ZhbZBwYu2DotTwLbmFvMNWHE8ucdYL16bbmRu7dNaGV3gXK6Az9uMe88rvn4= X-Forefront-PRVS: 03932714EB X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR02MB2449;23:7fZOKdYAWz01b2jfC1U2d4w6UwAfTxTEpwDWXBzYv?= =?us-ascii?Q?xZlCDbj99L5j4hRngughEgtfdLVlSRhwmjSgs0J1W11rzfHV69lmQhhWulva?= =?us-ascii?Q?a50ssli/SmcZRbAxRLI7u6RvVOFy6HYBsR4//S/bjbe5zfsILbrrfVX9YDaN?= =?us-ascii?Q?pgNxZc3EyGIys9es5WZEbejCtt60n1gzcG9/08uA3sQ4BBZD9dpyWah8005d?= =?us-ascii?Q?m6JujpDZmvwIT6QK+6oizO8Sow96DuaQ50eWhfBC03mC5uAzx+V70m1YWqFa?= =?us-ascii?Q?nqwfvJjKGEzQaG9HC4fOl10t72InroRzcCJWqEiZKBr/8d0KdyFhwfzcAvBx?= =?us-ascii?Q?UJTLN0WR7ylNKaKhnpIQ8ZF1L+7vgObZ2NAiWQp6ACqMhKJqJ6cA4uL9W+2A?= =?us-ascii?Q?3jS4bC3p09QeRJLVGPxsW0OkTquirPtNwIzYaHCgAscp4Zca6Lp3tKq0vrtb?= =?us-ascii?Q?A0t6wEaoFVNP7XJVQY1NBIkRPhlQdk12NnMtIOvmvbpjU9akmtgVIlXg13UD?= =?us-ascii?Q?brPrhDv8zn4gbcgYgJzMfkk6skQSm5KHuXzV1Jdzl8b7qkTpPTw7Z9JUvISE?= =?us-ascii?Q?WzB0WswpoDTlhcSfuN/ndRhIK4SpnhXv58hFNfgdDqXJ2t++E6i5G+JRtxeW?= =?us-ascii?Q?b13dI2G0gKmiV8iYXnaJ5KUDI6hB1URHzVdW3ft88S8HTp3TvHCjfI5j83AL?= =?us-ascii?Q?9gn8eB1QIzqYUV7DnOw8gqU4BXFKe8NSfYbk/wAo20iTqPTI0DmwQPOPAdtX?= =?us-ascii?Q?43HnRmyntwryhR7Y3+f3UX++16727AGuL57AsKJg96dz4aKVNLFqeqCpJGy0?= =?us-ascii?Q?yujA6WriHnSTzDWm9lo5X6963PCQwuOZLazKMT2yvQ23rUCXGlVZOZLGGKuU?= =?us-ascii?Q?jBHDq8iAUTVy/V/5KhyLnseMSXx7xOEJ5stVD2ZXaSIulWC67cJQwH1cTA3Y?= =?us-ascii?Q?K5buRc6d9O/iEzwOxulezNegjPoRXzJNVcq86xYq2Vi9gdUrPTta+7TDwFPb?= =?us-ascii?Q?MMNfILktOYOdbstZCAtMV7kNez5Rw2JOKIsHuMoqOW7WtmHUnJsM0ZWJMJnd?= =?us-ascii?Q?oJmeT2acer9JJjS8tiBk+5cZJhPQwwwW9oP/DmUkPXTOhrTkhvvtugNSLpaO?= =?us-ascii?Q?SukCos+fNxo2UaQFbG+GYnblT/Wt9VlIeY5AcjoXgmPoVMsaXdnNwEd8WMnv?= =?us-ascii?Q?+FI+Hj1j6BVIUSdyvhE/5X14hSIVOt5gU4ufn0nwOGsMjo5dKg94b3ZThfID?= =?us-ascii?Q?hH/4fiKX8WE5bCMkF8=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR02MB2449;6:ITvHMKgFC91pPfUs6PsaHPvoSoT1yauNJ4y/MrxKUFc9eW+THk36RkimBwnxo5Z9NNsXshsql0ALED2RBBKG+CtyQy3ygH9zfzAXiY6BD6bgvpMGNhNrQXb94X7FNFseZX2ZF3rP24NZCh9dj/zkTPjT5K3p36E8rqpoFhSsrlxKaT9SKow/e3axbLjiIrv22ll6kXUYZ852GCrb5Wz+4M6533hhUM3Pbqe/qDBp3MrpZc0gKpgZeMn5TbaVOXelxEnz18MCoCMk7Pj5q9Imwuw0e3rt0Ya0jj0o0J4qNNr0WoNdPWm5ThzCeV3kR2uptcUMHQ+CbQ9uifi0KOLlxw==;5:56O1nZScWwVGGZNtDRb3YLjuVIytt63yHoNrlKroUgqtLsRdzkugxuzWYAXLBTgfjEy53ZNEqAEj2ko+MzWb+PPPrUefRvbg0z8LA3TpFq3/42WuHvfpAMbGZJhOt2alnd8nJX9FyFBkl4nZu2strg==;24:Af+9STumSrzyhqC9d4ynu0dOurm69kcLPfvTQjo0Wh3JgEdSahYnaB6Vn9iyG5pdfdagynqL/edPr1GaV+LB+t/+xXQme1j97P4HM+ZFJ1A=;7:OtesarEyUugheH0FApS/yw7UZnBilcBML5/3g+UiXT6DZYArJUrjVn7t3XKetkBxUmQoJ0d3lDP3caevAz3j0Xw7G9ewpLK0vNAiJEoUaZAy4/1RgN9GsousMu+rnvgsvGJTogniUDrBYv825Cea4zlzDGZxUjRfoOIACzG7n09/HYQwqFRTmXv7olfUXjP3QkZHGmvw9hhZT434ufwFuFSMLvyx/PwF0ETkdL4qZJU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2017 11:12:59.9402 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.83];Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR02MB2449 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3794 Lines: 83 Binding explaining devicetree usage for using Root DMA capability of ZynqMPSoC Signed-off-by: Ravi Shankar Jonnalagadda --- .../devicetree/bindings/dma/xilinx/ps-pcie-dma.txt | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma/xilinx/ps-pcie-dma.txt diff --git a/Documentation/devicetree/bindings/dma/xilinx/ps-pcie-dma.txt b/Documentation/devicetree/bindings/dma/xilinx/ps-pcie-dma.txt new file mode 100644 index 0000000..acdcc44 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/xilinx/ps-pcie-dma.txt @@ -0,0 +1,67 @@ +* Xilinx PS PCIe Root DMA + +Required properties: +- compatible: Should be "xlnx,ps_pcie_dma-1.00.a" +- reg: Register offset for Root DMA channels +- reg-names: Name for the register. Should be "ps_pcie_regbase" +- interrupts: Interrupt pin for Root DMA +- interrupt-names: Name for the interrupt. Should be "ps_pcie_rootdma_intr" +- interrupt-parent: Should be gic in case of zynqmp +- rootdma: Indicates this platform device is root dma. + This is required as the same platform driver will be invoked by pcie end points too +- dma_vendorid: 16 bit PCIe device vendor id. + This can be later used by dma client for matching while using dma_request_channel +- dma_deviceid: 16 bit PCIe device id + This can be later used by dma client for matching while using dma_request_channel +- numchannels: Indicates number of channels to be enabled for the device. + Valid values are from 1 to 4 for zynqmp +- ps_pcie_channel : One for each channel to be enabled. + This array contains channel specific properties. + Index 0: Direction of channel + Direction of channel can be either PCIe Memory to AXI memory i.e., Host to Card or + AXI Memory to PCIe memory i.e., Card to Host + PCIe to AXI Channel Direction is represented as 0x1 + AXI to PCIe Channel Direction is represented as 0x0 + Index 1: Number of Buffer Descriptors + This number describes number of buffer descriptors to be allocated for a channel + Index 2: Number of Queues + Each Channel has four DMA Buffer Descriptor Queues. + By default All four Queues will be managed by Root DMA driver. + User may choose to have only two queues either Source and it's Status Queue or + Destination and it's Status Queue to be handled by Driver. + The other two queues need to be handled by user logic which will not be part of this driver. + All Queues on Host is represented by 0x4 + Two Queues on Host is represented by 0x2 + Index 3: Coalesce Count + This number indicates the number of transfers after which interrupt needs to + be raised for the particular channel. The allowed range is from 0 to 255 + Index 4: Coalesce Count Timer frequency + This property is used to control the frequency of poll timer. Poll timer is + created for a channel whenever coalesce count value (>= 1) is programmed for the particular + channel. This timer is helpful in draining out completed transactions even though interrupt is + not generated. + +Client Usage: + DMA clients can request for these channels using dma_request_channel API + + +Xilinx PS PCIe Root DMA node Example +++++++++++++++++++++++++++++++++++++ + + pci_rootdma: rootdma@fd0f0000 { + compatible = "xlnx,ps_pcie_dma-1.00.a"; + reg = <0x0 0xfd0f0000 0x0 0x1000>; + reg-names = "ps_pcie_regbase"; + interrupts = <0 117 4>; + interrupt-names = "ps_pcie_rootdma_intr"; + interrupt-parent = <&gic>; + rootdma; + dma_vendorid = /bits/ 16 <0x10EE>; + dma_deviceid = /bits/ 16 <0xD021>; + numchannels = <0x4>; + #size-cells = <0x5>; + ps_pcie_channel0 = <0x1 0x7CF 0x4 0x0 0x3E8>; + ps_pcie_channel1 = <0x0 0x7CF 0x4 0x0 0x3E8>; + ps_pcie_channel2 = <0x1 0x7CF 0x4 0x0 0x3E8>; + ps_pcie_channel3 = <0x0 0x7CF 0x4 0x0 0x3E8>; + }; -- 2.1.1