From patchwork Fri Jun 2 20:30:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joshua Clayton X-Patchwork-Id: 9763391 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 5D729602BF for ; Fri, 2 Jun 2017 20:31:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4E7B4205A4 for ; Fri, 2 Jun 2017 20:31:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 433B428588; Fri, 2 Jun 2017 20:31:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C1B89205A4 for ; Fri, 2 Jun 2017 20:31:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=tHAphakI5RMPCJcy2nx14yLAWh7+QDAx25gu2AKNEHc=; b=g1Hkl/Cw6Wg45aRAHWClQg1uM1 kvu8tV8mjYT96CkBOUtlCRBAtHDyMJDR4PeY2e5FBV0avEC4RQRHGWzIPnN0Mfdn4i3XwZk32Kx60 dAzRATlfwvOQjrMM7fAvW8WREsWapfKwvQneL2hx01vNk2p0bHtJ3Qy76d2YkCFLN4FnqbWxsGT68 6IvcLrvMfT7uEiHdplPsd3OtRh8FfRFuxAwkDZWa3HP1Nh1kj9iU+bPfqaMEWn4vSlKKGq1uB3EvV gVF7D/poIQNDjDz/IlF5c80m6smIONv2Nt6HBP2M0dW7CGio7m/MykMB6I8Qydj+wvtGaeC+3wTjS xQKKp2gw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dGtEG-0007c7-Uf; Fri, 02 Jun 2017 20:31:28 +0000 Received: from mail-pg0-x244.google.com ([2607:f8b0:400e:c05::244]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dGtEE-0007bG-3y for linux-arm-kernel@lists.infradead.org; Fri, 02 Jun 2017 20:31:28 +0000 Received: by mail-pg0-x244.google.com with SMTP id f127so2839117pgc.2 for ; Fri, 02 Jun 2017 13:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=z8vn2t6TdAFnDGHgAzM0aUP0KyYOYyY1SxaQ3iK24gY=; b=da7Z79Uwf4AxvQO1bd9mLogeGG1V46X4u32iEVZqHD9zkq3SWjhGnQHtepHSU1A5Pg /YOvwlfX9+8hfsYoOkzSQ2NI9lZ2TZQiQq1B2u8I4+dYSb/2cg9xbvEJWCP5OSxj89AK 5tDJWszBK7Ce9WrjIhrsMUUurRLRwiJDyHgoFsVFfD4SvsXjf6SyoXKXziJugIKJ5CXC fedNzC4aK784LcwT3ymcW8NDNdH9x/MAYFIEDVftSEE7vLI8P5BUz8uAU9ZYpNu/qatR XKWrjv/ge9AtktKFKxNilZXIhd63IfF2wxjP93yHm6WZ3C9htH+qi48C2IFwKhP/3TQY Gxpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=z8vn2t6TdAFnDGHgAzM0aUP0KyYOYyY1SxaQ3iK24gY=; b=pMP8K7z1wL2OuAGNmgWAx8oP5F8Fbbc15IUKIhWdm/TwxBYJBVh7rlSNcImos6x5LD wxgbtX8+Ftmvq8Qb4JpckltK1jsDbWIYuFJYeUEJCpK7BgOa5ar+UoG+1GxU/XkK7k+G cEl+f8Z362Aqe8S884ZP5V0LuaesKrfmr6A5g3iJrJltv9WI4T0yhAAUtXuD1217IkhK xkqjP8+m72AGjZcQDdRKMUfQRnQyUx4kS+4orOqgsUKs++0L5B9pezuqOOYggR+qTVKe XnKwYaxrjmEpQAI87XmHBhk27b68DcjxmYyRJXo+zkCRo2KcMtAmsgbZoIJsw5j2/VnD C/bg== X-Gm-Message-State: AODbwcA3T33aeQ8hpe5ZiU81BuBdGoQSyFB6s96qfi5DTW350uXQqR2r Dg5XWkndCQ7xkg== X-Received: by 10.98.196.86 with SMTP id y83mr4650175pff.97.1496435465073; Fri, 02 Jun 2017 13:31:05 -0700 (PDT) Received: from localhost.localdomain (68-185-59-186.static.knwc.wa.charter.com. [68.185.59.186]) by smtp.gmail.com with ESMTPSA id c4sm6967218pfg.31.2017.06.02.13.31.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Jun 2017 13:31:04 -0700 (PDT) From: Joshua Clayton To: Alan Tull , Moritz Fischer , Anatolij Gustschin , Bastian Stender , Shawn Guo , Joshua Clayton Subject: [PATCH v12 1/6] fpga: Add flag to indicate SPI bitstream is bit-reversed Date: Fri, 2 Jun 2017 13:30:47 -0700 Message-Id: <684ea151ba9aa2c6555a299daf56552ddc11f596.1496434383.git.stillcompiling@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170525172911.11467-1-stillcompiling@gmail.com> References: <20170525172911.11467-1-stillcompiling@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170602_133126_217552_FC75ABB7 X-CRM114-Status: GOOD ( 12.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, linux-fpga@vger.kernel.org, Russell King , linux-kernel@vger.kernel.org, Rob Herring , Sascha Hauer , Fabio Estevam , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Anatolij Gustschin Add a flag that is passed to the write_init() callback, indicating that the SPI bitstream starts with LSB first. SPI controllers usually send data with MSB first. If an FPGA expects bitstream data as LSB first, the data must be reversed either by the SPI controller or by the driver. Alternatively the bitstream could be prepared as bit-reversed to avoid the bit-swapping while sending. This flag indicates such bit-reversed SPI bitstream. The low-level driver will deal with the flag and perform bit-reversing if needed. Signed-off-by: Anatolij Gustschin Signed-off-by: Joshua Clayton Signed-off-by: Alan Tull --- Changes from v11 (all in patch 4/4) - Change "Altera V FPGA" to simply "Altera FPGA" - Change the devicetree name to a generic "fpga: fpga@0" from "fpga_spi: cyclonespi@0" include/linux/fpga/fpga-mgr.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/fpga/fpga-mgr.h b/include/linux/fpga/fpga-mgr.h index b4ac24c4411d..01c348ca38b7 100644 --- a/include/linux/fpga/fpga-mgr.h +++ b/include/linux/fpga/fpga-mgr.h @@ -67,10 +67,12 @@ enum fpga_mgr_states { * FPGA Manager flags * FPGA_MGR_PARTIAL_RECONFIG: do partial reconfiguration if supported * FPGA_MGR_EXTERNAL_CONFIG: FPGA has been configured prior to Linux booting + * FPGA_MGR_BITSTREAM_LSB_FIRST: SPI bitstream bit order is LSB first */ #define FPGA_MGR_PARTIAL_RECONFIG BIT(0) #define FPGA_MGR_EXTERNAL_CONFIG BIT(1) #define FPGA_MGR_ENCRYPTED_BITSTREAM BIT(2) +#define FPGA_MGR_BITSTREAM_LSB_FIRST BIT(3) /** * struct fpga_image_info - information specific to a FPGA image