Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752677AbbHCJFU (ORCPT ); Mon, 3 Aug 2015 05:05:20 -0400 Received: from mail-bn1bon0061.outbound.protection.outlook.com ([157.56.111.61]:31390 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751705AbbHCJFR (ORCPT ); Mon, 3 Aug 2015 05:05:17 -0400 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none; From: Ranjit Waghmode To: , , , , , , , , , , , CC: , , , , , , , , Ranjit Waghmode Subject: [LINUX RFC 0/2] spi: add dual parallel mode support in Zynq MPSoC GQSPI controller Date: Mon, 3 Aug 2015 14:35:05 +0530 Message-ID: <1438592707-30713-1-git-send-email-ranjit.waghmode@xilinx.com> X-Mailer: git-send-email 2.1.2 X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-21720.004 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD049;1:IFy3pe6CdzEwY1v1u0tE8F9uu7x5VM5iqZshWy45IwKCO5lgzafZllV81NYn7oIsNc9Apa1BJ4+f5047sBFqDMvbCrpxAoKU5AZrqbyY8Gu5fB5lTl44k+35sva52kMY21mX+4vDBguyWa/MLPLdxoNON06AZS9qmZKO6p14XU2dFhA5wpPW5HeRGJHPs4TSdDEm1yD1qz2D79tB9pXnU6TEFY5Yub0+ksLiF1E6e57cte4LZkECF0E8leMu9MiCs1WBuELFizuzMbp5Qx0yUjtG8W3CZlWZZY1PU4txgqO8SCy1qT0yK2F3yqzvsFthbn9hpYxTb7ERx3dsHuOlXw== X-Forefront-Antispam-Report: CIP:149.199.60.100;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(189002)(199003)(63266004)(6806004)(42186005)(92566002)(106466001)(36386004)(5001960100002)(107886002)(5001770100001)(50226001)(52956003)(47776003)(77156002)(62966003)(87936001)(45336002)(46386002)(86362001)(2201001)(229853001)(33646002)(189998001)(50986999)(46102003)(36756003)(48376002)(50466002)(7059030)(921003)(107986001)(217873001)(4001430100001)(90966001)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2FFO11HUB022;H:xsj-pvapsmtpgw02;FPR:;SPF:Pass;MLV:sfv;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11HUB022;2:AaZCv0CIe+sleyNtHTbWsdJAjGszF9h8mKWH5ZFDxEz9JfK044MI/fY7fU0DjQds3BlUTIHok384Q+7RT3UM1WsRsODnYMOYbFFCgae7pQ9RmcNhq/eyGsUOHuNpBM6+jxzI/Z6R10Q8RKQseEQCjsl67s0UnFSJ8V8qaVS7SwE=;3:nscv9ZZ/gbXtcFvHEO8kP413E0h/AuqoeVFWcRejITumZAyb0LnJXX4xhVcWT2imHJIVnaiUOqbmkF2QP2rcmcKFVUMac1Lkb3ePxxnD2kKZGj9oDfYuw4tt7AeVq7eFfKaFMVMpz8jx+7N8C/VdPkMwiOMf7ZGM9ooHSivr4+T9caA7lyRYmEWc8AR80JPrYFhGAJQejbjDlpSAnZXLHBuLAz4Eovp0SJElWDckl+8KhOI8K7RSkNexY8YlMOXj;25:LCDSbl8leE8YgZj9OMFqZk3DLxqh99xwIe+ZYer6giln2lewzcyAZHUOcmyHHf2rGqEKbpGfdd9Rqq+PDtpZe/a4Zu1qRWROLCkg8MwwLc6m9176j8l8QalTCoEFQoe8s+8kumnegH217dcox/qDXmjt8SAUHWNps1kzkI5HIkhYYyfPkFBFixEoxOqfqtgDAwKugui2Ls6hzMrH8gUeFDF/7RqeJ/oXphCU3IcFZdVfvmV7Y65SwKA328AkiR36 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB022;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB024; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11HUB022;20:MJKcO+ZoWgvsmaJBZCOmgcjyoRZePSguPg0LSoB5Ug37J4NzvpF+Ws5dj7rFvi12Ol5N0WHq3JxVE/opcmKlG+fcDfNK4/CyYOfg2Yl3bEEzPHAg3NRBTm+e/VGAeLRRv/GlrYInjbko1RYJcuCFKdJxZ4B63HDcH8/pcCSZFriTqMw42TPhE384TmYyCA7pCabn2xznGVVjDI3+lrxa2qCQ8t2XJKhgoK3N/qRc1PmA2W2U2GJtyja03VLL69lLLqJsA308O/z5Um7QgrIiKNQVb+8baMeIk79ObkgwXb7HVvNMg737q7T2cC2F3Nh/sV5CP13dLCu4trCQ2Ewqp56pSF/W5CYKoratCm5XWmTQBXI/cjZ1WknLpmlMu7oOGjXFoMUwBK3YX2CIbykbyDJ6Y6+c17nAZI7nOpDtqQTTOCpMMsyphYIjKzZk9kGfahCSmu9IuQmzBcF56FSXHV5dS6S3aRWzcC0GfLudkuJsrpeqc0ow0es3l6Oedcj7;4:Wx1J8FrFtyZQ125J0ZBgJDXUUfE4z6cESJe7CkSq6v7wBAn7i6M5yfetwBKag+yc9nBBRCf0hRa8wLOR14Btndgf+eQgjdxZ2/mn5kEQkqZjucMOyFhTqCdvIA2DEP26TUPOy3M6LERAztdSeYWHZunXv+9oJE4qShiTQTfDfwGZfFGOrzUVhkoKNNbRtCBQEut7UETIQ2GTHVtyWYhoxXzREbJN4IkUUmgD39YA2DHqf8evyJmSpMImxyRnUwaW0G9Ol/3f9GpY0Lf4YkEEHfehZxkF4Xhxp+tUIf0fr9U= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BY2FFO11HUB022;BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB022; X-Forefront-PRVS: 0657D528EC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2FFO11HUB022;23:WIU3bRSk3pA+p+PtRbAKX5ijjsgNRAL4C+cRDnw3?= =?us-ascii?Q?ZMfrwtnZvgMDpfGJuITmzyQe24K+V7N96OAdgg/CVA8Cec7Cs1/0cvOrjlRs?= =?us-ascii?Q?RCC/Iru2Xv9DdwHrORaB1FNH8UrVlXpF3P2c1Nn4+ycOAoYRwSH9Ck7JJF6Q?= =?us-ascii?Q?fDXMu0591wM06jiVyYGK8JVixaXA/2n00sDLumqzNEmRsEvh7Yz9XOM2u7tL?= =?us-ascii?Q?4TW4qi+pCRuwDhOO+cdL2nsIdAY+g/7//4gTysgMqR9u1RoiDFUnN7AtIW6U?= =?us-ascii?Q?wzYM82bTajkKCnoHnfLm9kfEeMKGqbvYLjkeWIei26qmk8IvS11nviLgqjXN?= =?us-ascii?Q?/M7XXNBauomOZqI1Y1fI4nG/vyq7Zo4R/r22dg7A6IKenmo5Poueyhs8BQM0?= =?us-ascii?Q?BbO0BN5xv4o+TezaGW76fNYyQuqBINyyJs+x1i1YR6N+kSbX4jWqCeszbVfK?= =?us-ascii?Q?6sVdd7wkPfwkLe3X4SvFqZBN23INjRA2ezF7PYJmJ0mR+dmNAdc/s8SapoNu?= =?us-ascii?Q?WMTnc3XGjkASNE1NaGVEF5Fq53RqSEGxC9qOuv+PCaKTRTmzIAYB2weNQpdi?= =?us-ascii?Q?IyMe/9tTXFFq2oDogLvuusN0K/0rPnoE7CJUjOIofUpwA9MUXXfCwXlCn4Na?= =?us-ascii?Q?RfjIL4T1R91pbpxaVcpaoaMGUE3FBb2EmTX1S5Lq9ue7QF3TsBd+DU5l4U12?= =?us-ascii?Q?OUYEyODAKjfqJiDsv0vOP9a0OFv5dDx7DIuh432YWYkdko5jxGssu/NYKpC0?= =?us-ascii?Q?FKwNdKpk17G3xM3+lA8Wowsi50/x4RGMOO4/JNcfcGbn2hJ/C0eu89pYo5iG?= =?us-ascii?Q?4jQ5rv06ZBc86uaz+qgBJz00oPaiO6yi0qVPxDhcZOlugR6mgolmGS7Q/V1C?= =?us-ascii?Q?C/w4pTp0AZ0U9wYmEXV33/AtbDp6jzhLFzUOpS+CVZd8WVEVMpc9N20OKCDI?= =?us-ascii?Q?nGVQ5TiXQe6L8e675j8vTTZR77D0H29jsPVPbTLRJr83G3/HEhPWKcmdS1wz?= =?us-ascii?Q?3saVE2+gNg/GgeYf76UOX9J7?= X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11HUB022;5:UjcS6+n6i9bxiNHtOQ9li6Rjht2Baw3kj24kOR+pq6SjhkChLYlQw9TMPU5LrEFkMvPWfuc4ueT31oJ5YQE0vxbbZgOu76ysIbf9pRqD7VxWZHrbV2EB1rB7v2GWblnRsW+oKyVrgX0IVapjU0Ctjw==;24:dWY3SVDEZ2RB1siMdSzT8S1XsIQe4tgV7OWQMf3JId/O0LgOjx1iFZ6MgtWgBfzjb+NfqPj9f1zg2fWw1aA34YbfoQkN+/kaT7e3ojRNyvk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2015 09:05:14.4855 (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.100];Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2FFO11HUB022 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11HUB024;2:HG05pKZA7JBAVtgKD0mExyrTDEc9IO5GBY7teCme5x7zQL0sLCjEEOc3RaPnj4/C9Gq25pvBCAP2TQL3+cKdeqQSe/lOm5v/QLGbU7jzAhC1+tdHjASCRFGgjP+YlFWTDQ8Ud+w91rdfvVq4Gq4P/G90iNPDdWL9rHOkOHDMrM4=;3:WVDU+69YrbMGONahcnywfFFdB+jmC8i2Z52KhzELqDrqBjy+aNF5UuPThz3XOEwd0HlKchhB/SAEHVk3IAnK+BrzwGxlLVdh9rwvmspCkRaL/xULhi5InkGN1EF8hh/flAQnvEyqm6XMMCIMQk+Qm+oJeeadGsgKQvoJkzpOiVs/dnkVhXUSrIB706aBUdlXAQ7TiQDsHB5t+C3zOTRmJ+R2k6/Dz8igSk7rUQBykeaGOAZxH4iLa0vEPyzb60UM;25:N2j60P9/AoSbEdTlxQVGDq5iHqsNhrfhP3P6muVJrpeRsblOnuVmIXSjbjK4MXczGscgv9qSj+i5A2w11FRCuoPNfPGe34ton0gGSOI/dS1fXIv7vJ8YL4AVh0L9KGQSdUwFgh+kis5OUX7zF31nDkDPbYnhE2nQlaENlLGE+peKIhsD2Su4Q3pTQWlS1eIhzIDPqPYDvCyOPV1ZK0hyEzmCJLUtD/7GeeRnf/W28lbym9/h5b/BUvSnpjNRxVHe;23:Gzo3FIHugId5WGHr1zvVrxr1c9DwyXr+k03HRWW5EyQ5P28CIkcTEI50vH2sesnvaTmQwY7+9MBd4zjrqL9EkpgISti6rCJjhVdYOhlnOHG25mYd/LquL6jegFFmHX5nNMie425MRxcNw+Q1fsGf3AakrBGu7zWSyVCcLpf9Tn+cbhaqpMh37gAKRkfZDG+7 X-OriginatorOrg: xilinx.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2294 Lines: 53 This series is to add dual parallel mode support for Zynq Ultrascale+ MPSoC GQSPI controller driver. What is dual parallel mode? --------------------------- ZynqMP GQSPI controller supports Dual Parallel mode with following functionalities: 1) Supporting two SPI flash memories operating in parallel. 8 I/O lines. 2) Chip selects and clock are shared to both the flash devices 3) This mode is targeted for faster read/write speed and also doubles the size 4) Commands/data can be transmitted/received from both the devices(mirror), or only upper or only lower flash memory devices. 5) Data arrangement: With stripe enabled, Even bytes i.e. 0, 2, 4,... are transmitted on Lower Data Bus Odd bytes i.e. 1, 3, 5,.. are transmitted on Upper Data Bus. This series also updated MTD layer files for adding parallel mode support. MTD layer dependency changes: ----------------------------- 1) Added Support for two flashes 2) Support to enable/disable data stripe as and when required. 3) Added required parameters to spi_nor structure. Initialized all added parameters in spi_nor_scan() 4) Added support for dual parallel in spi_nor_read/write/erase functions by: a) Increasing page_size, sector_size, erase_size and toatal flash size as and when required. b) Dividing address by 2 c) Updating spi->master->flags for qspi driver to change CS 5) Updated read_sr() to get status of both flashes 6) Also updated read_fsr() to get status of both flashes These all are very high level changes and expected to make an idea clear. Comments and suggestions are always welcomed. Ranjit Waghmode (2): mtd: spi-nor: add dual parallel mode support spi: zynqmp: gqspi: add support for dual parallel mode configuration drivers/mtd/devices/m25p80.c | 1 + drivers/mtd/spi-nor/spi-nor.c | 92 +++++++++++++++++++++++++++++++++--------- drivers/spi/spi-zynqmp-gqspi.c | 24 ++++++++++- include/linux/mtd/spi-nor.h | 3 ++ include/linux/spi/spi.h | 2 + 5 files changed, 102 insertions(+), 20 deletions(-) -- 2.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/