Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755037AbbKCRSX (ORCPT ); Tue, 3 Nov 2015 12:18:23 -0500 Received: from mail-bn1on0093.outbound.protection.outlook.com ([157.56.110.93]:61216 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752025AbbKCRSM (ORCPT ); Tue, 3 Nov 2015 12:18:12 -0500 Authentication-Results: spf=fail (sender IP is 66.35.236.236) smtp.mailfrom=opensource.altera.com; lwn.net; dkim=none (message not signed) header.d=none;lwn.net; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=atull@opensource.altera.com; From: To: Rob Herring CC: Moritz Fischer , Josh Cartwright , , , , Pawel Moll , Mark Rutland , "Ian Campbell" , Kumar Gala , Jonathan Corbet , , , , , , , Alan Tull Subject: [PATCH v13 0/6] simple fpga bus and fpga bridge framework Date: Tue, 3 Nov 2015 11:10:58 -0600 Message-ID: <1446570664-10293-1-git-send-email-atull@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BY1PR0201CA0009.namprd02.prod.outlook.com (25.160.191.147) To BLUPR03MB1507.namprd03.prod.outlook.com (25.163.81.25) X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1507;2:A2i5GHz+k+eZdBQrDD7pN5zaj59cv9Ja6wG6h+M1u6WvEXC1BQ7A/nQFCbVNe2XcO72CkChHehWSfcAr4aRK8wWu2uG4miy40weYLqp3li/CQthr6os7809g08hDdOi9CUYFYXoDMZYfjYMwNGsYcLYXexatxGgKx5g6hxSy1Zc=;3:R5jF39mDRKyEj6IHGkDlYXjOJVAL6eMgdt9PDxHt1VZ5HNryyO+1x34UbWFeU3xaknR/OZ8qVnkZmvYtjcqioX7v5rNTL5fMIpVcV+efcDmdeyWo40yLQG+tXoZqcJd4qftxAfHiLz3eP9udDX6Ujg==;25:gs3n3S6ojYWBVb/yEp6K7fnWdIszsLLq/g4n62qUuCvpx067JVggDiK56++TT3J40EZ3HIvxHwLjk+oxEgJuTpaktDeqBpg9pX06RwNCRc3xh51Mm4zJ0M4qnUnqh14UruSwBgoXxVyHqATHER5fqqQ/bImXFculPAo3fLnx7CApaaEwi68LX8z0tyxDqPNMfAO9O0Y+Qe8J7fIu9veCieAW+90RUybri0ZCMGCnEqTaF5WKGk3PIfaA5NLGMGES;20:Ogv3NJpZ9RoSDbTBeyiG8l+b9iGjDIHFOjlUSKfZ70kwnPbN4poKtLEFt5+xVS0rVXeSGAen+62HUNBQcKIceVKIqMmhkeyfVlqDe1gQE/jAXm3WdjlPlQ06RqgvufsnYJD73frBAm4HvhJ1jnuSQIT5+cEHTTZOHSzWCznX1OQ= X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1507; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(80048183373757)(204874498639787);UriScan:(80048183373757)(204874498639787); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(10201501046);SRVR:BLUPR03MB1507;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1507;BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(520078)(3002001)(10201501046);SRVR:DM2PR03MB383;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB383; X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1507;4:vkafxp46G96FKDHKbuqvr7xuJj/H2ruC2OL7RNNzT6I8VYdEzKUsoyETDHdifIN3hoaOdm3SBccQLl4nl27lyQdWZJLse2VFGcMSOboYP/4XNsfy15PNlUP4NvYJXYLuUuu9V12mZKQ22+pd1EBx9LSo+wpgAkyun5JOymLUY5dmZj0yCPikCcZczRwCWz72GovsudXOnSkMOf5NM+/jWIXG5kcldoeufIBIlcDZkuqyGX77OrvTQkm84xeGOyo55S/oy5FwL08VOANaFVX8M54QdVEm2IjzDegW+piGcxQ2bjVs1YpgjcZiRlcZZiy3a8dXsGagmEafhJ3USaDbUt30lSzAd11wgQCCorHj6FPZBVU0PDZc/ZXcrlaiyZeS X-Forefront-PRVS: 0749DC2CE6 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(6009001)(189002)(199003)(81156007)(53416004)(77096005)(106356001)(5004730100002)(48376002)(42186005)(47776003)(66066001)(122386002)(189998001)(40100003)(50466002)(97736004)(105586002)(92566002)(5007970100001)(107886002)(69596002)(5008740100001)(101416001)(4001430100002)(5001960100002)(19580405001)(33646002)(87976001)(50226001)(86152002)(50986999)(5003940100001)(86362001)(19580395003)(110136002)(229853001)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB1507;H:linuxheads99.altera.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;BLUPR03MB1507;23:u8fWAFc5vrBhEtRxUo0t9gzjByXa6cQYySlpbu/UX?= =?us-ascii?Q?f1J83o+CYtjmLrpATodqxEjhwMXEm4s7PHIUdbieFyLya/sNQQl10RDcxEFL?= =?us-ascii?Q?7utS+fOki0m9mcyBqKCA3m3ju/icvsy8f8I0yZugC0uOvtBzDK+m7Lb8Fwl0?= =?us-ascii?Q?VFeLasvFMcL4HYYEvXH+1JAMsF8B1zFQI/yI4TK9zQFqQ5Y6B/Q4iO+uXVoI?= =?us-ascii?Q?FCx3Y3Kb3WgIfIijCV7OoFXEWZMTbJ36NqPJUsKO2k5XesWrSi0aAhRqKJAW?= =?us-ascii?Q?+/iUETOFDwIEEEfDTWi1d1SteXfPDFbPWlIGBqVi6lKkJOQjhitHPCr43bat?= =?us-ascii?Q?62iloNjO6LJ6F3sVezG86WzSsnu9mwY5iuiWR4G7VYNhoAgmbLAz1WlA+USR?= =?us-ascii?Q?JDldEhePVJca1GsphGxiIg928riVP8zDsyA0hj520iDyuU0c63evy5gA4iUM?= =?us-ascii?Q?WcPC8ezhvA/rSTye7pZjL3ZrVA1IDY5BZJRgirdNWFfAnBbFApn1cwSdrccS?= =?us-ascii?Q?wtC/Z8pOkO/lRpzwCHdCQHoIk7AFDOfBv9+IzkqJiZXpHVY6GvRPY4SlY7uE?= =?us-ascii?Q?Fbr1rWHLCavbqoRrM5LiKxwqIIeKa18h9z/EzGd48fcANPOxCR7iaWLWnla8?= =?us-ascii?Q?iD0Z9KKEwUAVgPMe0xhGpjuGS4xXpSMyi2BP8sl7TRUMTnOAyUvXw/1LglVx?= =?us-ascii?Q?+dj+I6hxsF32XunzlmaTbcQRnmUGTywMbFrEhg3aaUfq9oWrZ7DEfsQSa/NW?= =?us-ascii?Q?SsTmgYqBiPDSm9o8wkUPuhBS7teiiZSvH9HForIetGTdq8iDJjkyPK8ptM0I?= =?us-ascii?Q?ZH3A0lK/lG3ShDrX+UZ8bRNxPwXLc9A7/wuhwCw0pJFLRhGt9rrf0EMiqGTD?= =?us-ascii?Q?xqrPMj2M6FWQww6WTB2bkUEsEyGdAAbb+USvREKEzZCeYg0XMH31wQ7YDwEZ?= =?us-ascii?Q?AqiLtSyFSk8Zn3/qrQpi4cmNaQ6nXXQ8u0L+Xt564ajHUKhvMGUztjo19Gfb?= =?us-ascii?Q?ji8yRmYL1l47JenghT+Z9eKKvs6fRmKKBApwY3GajIrh66KVi2EnK6je9rvA?= =?us-ascii?Q?MKQaEo=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BLUPR03MB1507;5:x9u5HpNa4RnV0/DaQPN7F82z8nX5rHCNIr8AjTQnhCYDJS5zt+oo6BQIiBMjyjTLabNyaYFvs56NI+LdmHvytwu0pdODWKo3nUdrRrshJd3FQt6JH5uEl+pzFW9aCZ/3gbXSDv5PrSrKy9oB2lgA1A==;24:IWlb8foXrGVQbZIgjBxsT4ddK4C7dsiHPxc6UGa85Z/D8toRdAVDi8Z1KhnHBzOlAbwoPYWEgI7DxQvMEN/RnhqMMxYks8uuUiu4GMLgqeo=;20:NvE4hBWVp37QDXFtNkgDQpgfu0B9nEohs8QP4F9urDq9+zaticMipd2Tjp2H0jpwIuwnAhVqAaQyPrKOLzZT0pLM3PIQuQ05aZ/+SRiuWx7iDzlh1pIoV111WPE6byiMR8aRzkrNgDOwZ2OWKSynh9zRNDlmF2uXnaqZFPR8Mtw= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1507 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1AFFO11FD050.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD050;1:x/3EnI0vYYRnVrRQi9UmHeyWW2JNCZ1qJLtAlN5ndwaqMUyWptkW8YK3Oilf8VGH/VYboHY8H9qQhWCT0JCGYnO4Jrkl9nTt0shFd233H0YkwqGdj0hLFszUPCd1q20Bl7SkRQ0aNhGotwoumOVPpI7YkWaMkgjC9motQ69E6mIDEDg+sy5VcNLYAuJyew4BOdBsasllWnKszOZZ5lL0aOkIOG9aLOPCeIASHuLsKgFCFqOX8nY71akRjV7AQ1bPN+INyxi2Ec+BQbot/aoHvvvLKDhdJ2/iAzNRfsRZGU2NpL+K9+EtOWs1rtZFj2N8ZFC7ofCw1rcU13OV/NaiPmxadBSCA4UZ/1e4hWHGblEXqVrYhwbmB8usIDe0t1qKf+der0MpOb4LTB+DCWLm2w== X-Forefront-Antispam-Report: CIP:66.35.236.236;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(77096005)(50226001)(122386002)(33646002)(50986999)(40100003)(6070500001)(47776003)(189998001)(66066001)(5008740100001)(97736004)(81156007)(92566002)(85426001)(6806005)(16796002)(229853001)(5003940100001)(106466001)(107886002)(5001960100002)(87936001)(4001430100002)(105606002)(86152002)(11100500001)(5007970100001)(5004730100002)(86362001)(48376002)(53416004)(19580395003)(19580405001)(50466002)(21840400001)(110136002)(7099028)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR03MB383;H:sj-itexedge04.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB383;2:9HVFvWYANffCTzbTMU4gnjjWaxZh5NyxC0jc8RlA4A2AM3TfHZevRw4lbiAAsJQpNFfRnbcPodwYv43vHLKpjj0t6CF5b06qbFsWtv2nqWmIgm7QpCAJpGqln0wynFrPLwguXQwszegelZrK8/JT8qm5caZG55M5WXKurctcYiI=;3:j2cCrfhY5lBJsPQRuYcJzNW3DhljZpumi4bIJ8ophfCBOHLo6qrb/egXPIuJaNIY+9sz4Om6ScQt62LjFPBR2t72rYxCYUUAtHaOz2Sbdh9EIDyavQg8ugRW7ku/nMp7U9QCq6zBdMM6Q87nlUdWEemDHbISmnUYj/qE2Md9laRwzZkHq+Z1EShnczLeh3gZnd0O5vocBH1Jd7Hs8Fr9jIHqosKBNQvwTpnNZiNgtPU=;25:ZDvMZ8pVVj4V0oG2GaS6yyhnO2wrxuRLzR2zUbMUEllDuWblHt4EquKAFMEiL4XTUz4CXIFcHZkxcnXdxJfcIZ0MIieIOsu+BrSbhHn28fNsCR+3gGr2LaD5Qf58pFUSZvsJd3mqO2sC+jHetn0GT97JPgqqRwcwNDajJ440ukhVHeOTpGHXVFtWmaj21bEPrH+9ojOA1/FiSZUfXVpGz0YwyaVbsYXX36eUvPeN99ZxeOoteAF8UG2n1xWpSejc;20:siZzFHpmfd8kkwT/8awx8VQlMkkp+LU4pcKGg9r+AnHC7xysevFu/dmyPPXTBSBFyWg8jbOnsWpVAW0BpRiVVuwfX6qI+FV9TCVpAipz8kKIDnC8DYg5bp3kg1a4s0U6TOuunpxMPBIyZKBMjkkUy7ck/xPilHtwsZhOhwkrCII= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB383; X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB383;4:bQA2TB3eCY155FuC0HPh7JSvRZ+Xryt7vdBxj6U5d3XfMRJwFG3FB0HZhZc9BHsq42TvOqpEJIKWiGjVmCbCv0DJB3GwDnX3S/FuCsM9ukHHoBE9AcmJy0WKDEpr6gODoZjRaxWVjFpQNvAOXVZ2mP51LGrghLlsR1YQHQTZCaWvSYRCJEERlIruFCQwHqDmK3zCkZ2MrIOZ1ruc5ub6G3amq+00L5Qk8xJRTepeUZPdKoTuG7hCS/+XVd9fNWt42Mo4bi5fY0LyaJZUHxmec9j+zrK9rMoL45WoV8Tn+1AuQdbfjlJwuM1034gq8ROb/dl6XKWCB2RwyW1MSFyDC6U74XeaFmF6kbUDCxNiibUmBDB4posUVZ+mNCZu7cj3 X-Forefront-PRVS: 0749DC2CE6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR03MB383;23:fhUmObfj5LGkX0+NAG9xDkDVUB58t5uLU7JXlccQrr?= =?us-ascii?Q?bibSLy6zAsLIuPsbTvaE7XahPd8zwJ/Q45znGWaZTI/9Le6CTpdOIOb/7KnV?= =?us-ascii?Q?27SrQFvEba4ZE9VADulY+PwWoUBY0pmfASaTTrlbG7fN02NUMx1xI9zfoL7R?= =?us-ascii?Q?0NOuotEEKFRKH2M3agPpZhDIp5IDq2Rq5Xu19duhfD4KVxZZ7xw0uauOk5Nd?= =?us-ascii?Q?hduB0/04K1Ff8/KCWb3iCJk/Q7FNaJoMh4gv5Irz/ijJXGDsmREynDtYOhla?= =?us-ascii?Q?L/rsIsLm4arD1+rII+zei2AzOpdqiWDft7GRhhDdwWFggmT43lIyTw/kBJwb?= =?us-ascii?Q?27BtY17Gr+rV2Mm2yq1C36jPGsoCUYcJSCXSS0LGwTtvGYld6XK3o522ed+w?= =?us-ascii?Q?gG+eze1g6KAt91u9QC5jsZRK3duG1FewwgU+NAbK9T1sWAuxPrZPVv5wN0qf?= =?us-ascii?Q?AOYxtKuwvYdIdQjMw02zdZiob1E1+xjpUtO7rMuXKJaZAfstNQjN04VBtTgi?= =?us-ascii?Q?27Ij/pgvrCHF/AxB8+MUvZXuYsQqdQaWi1bTLxLCvfDWIzhD1XTFxcukCdHo?= =?us-ascii?Q?7sBvZ2CBecUfliepTvcZW09VwmZ8wXNeWfBKdNb1LsC5svQ/EbZSwdpGRqel?= =?us-ascii?Q?KWUag766WUCrIHrU4O9If37veU8N4c6g0m16lsqD9pJfRnV0s5szG5Gkh8bS?= =?us-ascii?Q?ONZVfz0g+HVbPOzNoMf5iWa/C9DC9/HXO24NZ4lr96aAW7fCUfMN9bseU8DJ?= =?us-ascii?Q?O0MRqcNvM1u07SU+vZPEWMiDyCGhgadt6SFwTQeJIeEB25FvxOTdiWrGEiaG?= =?us-ascii?Q?AjvbNaWahtdrcvUE5Bzp5b/WUWP3eCm1NLy7p36pTbd7js0ZxK4sp8s4+bAa?= =?us-ascii?Q?+DMD7Z4saXSwZ5vs7FHtJ0dBem2gWUG0iszRpeVeXXIeO5ItYCk9SJIh+zfJ?= =?us-ascii?Q?ySHCptbH6O1vOcgV85ZHJNq6uv+nADiVXHStNu18I3F7j9P384zXNIw7ZvgU?= =?us-ascii?Q?af4MeXwX2TSo8wx8BlkzU6RVXrxMopewAY0lEWAs7n4tZ8RIH39IVf2IncrY?= =?us-ascii?Q?H21EgG2DSzyOD+iH2mWOEH07thHwbGyExghn43qDm1fRrk0nUPa2wy+6u6OE?= =?us-ascii?Q?u07y07VkO6oli52um5mmAB8gAKnOU7AiztxeJ0tD6K865P4zmzjlXQ8H+H7q?= =?us-ascii?Q?M1xYFuCAz6CcRZRXoPH34u4WCG76i2AqnR5x2KwsC0/Ia6s9dTFpdqHw=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB383;5:7MmDfWYxsYN8eAC6kqHfbUyEwR85itE9fpliOAeKwbulffJb5wzMI1Q5Izw0uYANSARlTFOdhToeC5XWMrVLcCTnTOrNEupEm3UE1A0dBa4Z5Cqx8Ys4p22bmm2iFK7ORb/1z/gGDaf+DBwIoTYB3A==;24:v1ELXUb6pcgtSbdqfLn14LAOONBEa5k+zU+v07DhUtC5v2D0XVbIzyyymYy4qHezOBhnyimTLBpUuRUn2i2neNW/NHEuO9DUUdJGttBV2K8=;20:DZqzMq5/LRAH5NOrhF9B+GhoAfKTHia7lgW/EF3jOVASyR7vuvu5kwTHFdoM3uGiy4YjqSkeJXUcD/wLHAvqVq4YGu4V5WXnKS0bB3/f0A7JqO4qXZkW3Jckom2ofFj1+eVOkOggXiy+1g1uFwrLRcjBX+Ori8ERNrIMYKLfr38= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2015 17:18:08.3659 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.236];Helo=[sj-itexedge04.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR03MB383 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2656 Lines: 56 From: Alan Tull These patches are too late for this merge window; I'm submitting them for those who are reviewing, especially the bindings. Changes since v12: Change DT property from "init-val" to "bridge-enable" Use proposed DT common property "firmware-name" instead of "fpga-firmware" Clean up cruft from simple-fpga-bus DT bindings example Support Simple FPGA Bus when FPGA Bridges are compiled out. Cleanup and nits The Simple FPGA Bus provides a manufacturer-agnostic interface for reprogramming FPGAs using Device Tree Overlays. It uses the FPGA Bridge Framework and the upstreamed FPGA Manager Framework. In the case where FPGA Bridges are not needed, they don't need to be specified in the DT and can compiled out, if desired. Alan Tull (6): fpga: add usage documentation for simple fpga bus fpga: add bindings document for simple fpga bus fpga: add simple-fpga-bus fpga: add fpga bridge framework ARM: socfpga: add bindings document for fpga bridge drivers ARM: socfpga: fpga bridge driver support .../bindings/fpga/altera-fpga2sdram-bridge.txt | 15 + .../bindings/fpga/altera-hps2fpga-bridge.txt | 31 ++ .../devicetree/bindings/fpga/simple-fpga-bus.txt | 74 +++++ Documentation/fpga/simple-fpga-bus.txt | 58 ++++ drivers/fpga/Kconfig | 21 ++ drivers/fpga/Makefile | 7 + drivers/fpga/altera-fpga2sdram.c | 185 ++++++++++++ drivers/fpga/altera-hps2fpga.c | 233 +++++++++++++++ drivers/fpga/fpga-bridge.c | 229 +++++++++++++++ drivers/fpga/simple-fpga-bus.c | 323 +++++++++++++++++++++ include/linux/fpga/fpga-bridge.h | 74 +++++ 11 files changed, 1250 insertions(+) create mode 100644 Documentation/devicetree/bindings/fpga/altera-fpga2sdram-bridge.txt create mode 100644 Documentation/devicetree/bindings/fpga/altera-hps2fpga-bridge.txt create mode 100644 Documentation/devicetree/bindings/fpga/simple-fpga-bus.txt create mode 100644 Documentation/fpga/simple-fpga-bus.txt create mode 100644 drivers/fpga/altera-fpga2sdram.c create mode 100644 drivers/fpga/altera-hps2fpga.c create mode 100644 drivers/fpga/fpga-bridge.c create mode 100644 drivers/fpga/simple-fpga-bus.c create mode 100644 include/linux/fpga/fpga-bridge.h -- 1.9.1 -- 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/