From patchwork Tue Nov 14 14:15:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 837872 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=monstr-eu.20150623.gappssmtp.com header.i=@monstr-eu.20150623.gappssmtp.com header.b="UPcknsKF"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3ybqSk3JzMz9s74 for ; Wed, 15 Nov 2017 01:21:42 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 17615C21DE1; Tue, 14 Nov 2017 14:18:04 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 50D71C21D84; Tue, 14 Nov 2017 14:17:03 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 97CA3C21D65; Tue, 14 Nov 2017 14:16:12 +0000 (UTC) Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by lists.denx.de (Postfix) with ESMTPS id DDA0BC21D75 for ; Tue, 14 Nov 2017 14:16:08 +0000 (UTC) Received: by mail-wm0-f66.google.com with SMTP id z3so22340534wme.5 for ; Tue, 14 Nov 2017 06:16:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monstr-eu.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=sfklENDe0pp4xQQm7vyy4GHABrL5JeoMYh8c2QGtDJM=; b=UPcknsKFr6Q1JUGulkn/RmgQxZZmEBHSrQ+iGV2b45UVMlXHri7N5TWNYV7wfx8JrN ElCrbOT5EUFNROqLOXC585sqFGbSoMSIM7LYlWjxTsNpow4l6l2Cozg4SkG0icaXeqtP 2lJ6ow+f32DyXKYTwOU1FFPiv6PpsoMfsWQzFYbr619XchdYYoLrWih26YY4UxblHEu3 oSBiuwwd3VbGKGuDeP5lfB+E5azOs6tUAJjj3XMY1To7fGXcvEud52gpGUSy5u/nJARr YrMPJ1hscOC+b8BY5GXmK2W5G/1CFWDk+qXONVPAErhiGxjzIm+xnSbZ3uwXnzhpIOXS aS2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:in-reply-to:references; bh=sfklENDe0pp4xQQm7vyy4GHABrL5JeoMYh8c2QGtDJM=; b=mysx5PvevL1UxG7Q2ypBGOyQkHr+gL3sFl1AVNu1yONdzXVWCfGwD/ueKdKXw+z++G +jWImiW5NXN5++s5Edv9ONeuS00DVy+MtN+EmNB85pjDoMEs74OZoJqSt31z2h4Icgcl 5lj2aaA1Z1ScP3PDes8vO2VKOSPF8KANmkoRpmmvMYT7fu3EEKyTCJgg/mw0+jJ5JeiU rjhaeDlGM6Bya1Sl0A87XnNi2bevpddwfxtcRof25hr04JrT9NGQBgkJIrITNBNF23XZ xrrv01tj427U1lXKeu5WhQ7ZOLwbDYtOKkVBuyiAe3EvPJftuCka7LAJ0EIF9ycLJy52 mynw== X-Gm-Message-State: AJaThX6is6uYHVfAFS8s3iu+1EOXkIG9PaIat0VjUmZvH48x4ogqPG9t eytY806W4iTxi3rXs2TZRGmNaJR0 X-Google-Smtp-Source: AGs4zMY+o/h2QIJSgaQh22X5Z+tz8YweL+HN8YXGAlTZcc8vevxM4oeqYpzdbnVwx4rvpVPgMXwAIA== X-Received: by 10.28.10.68 with SMTP id 65mr7998526wmk.55.1510668968270; Tue, 14 Nov 2017 06:16:08 -0800 (PST) Received: from localhost (nat-35.starnet.cz. [178.255.168.35]) by smtp.gmail.com with ESMTPSA id y84sm5970182wmg.39.2017.11.14.06.16.07 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 14 Nov 2017 06:16:07 -0800 (PST) From: Michal Simek To: u-boot@lists.denx.de Date: Tue, 14 Nov 2017 15:15:39 +0100 Message-Id: <5370a974511755d5181078af4a3e67ed9d7d5b11.1510668929.git.michal.simek@xilinx.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: References: In-Reply-To: References: Subject: [U-Boot] [PATCH v2 8/9] arm: zynq: Add support for EMIT_WRITE operation X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add proper support for EMIT_WRITE operation which is write only. Do not use EMIT_MASKWRITE which is read-modify-write. Signed-off-by: Michal Simek --- Changes in v2: - Add own opcode for write operation - Change commit message (was Convert EMIT_WRITE to EMIT_MASKWRITE) - requested by Mike arch/arm/mach-zynq/include/mach/ps7_init_gpl.h | 2 ++ arch/arm/mach-zynq/ps7_spl_init.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/arch/arm/mach-zynq/include/mach/ps7_init_gpl.h b/arch/arm/mach-zynq/include/mach/ps7_init_gpl.h index fa5d486afb0c..0af4165a3ef1 100644 --- a/arch/arm/mach-zynq/include/mach/ps7_init_gpl.h +++ b/arch/arm/mach-zynq/include/mach/ps7_init_gpl.h @@ -13,6 +13,7 @@ #define OPCODE_MASKWRITE 0U #define OPCODE_MASKPOLL 1U #define OPCODE_MASKDELAY 2U +#define OPCODE_WRITE 3U #define OPCODE_ADDRESS_MASK (~3U) /* Sentinel */ @@ -21,6 +22,7 @@ #define EMIT_MASKWRITE(addr, mask, val) OPCODE_MASKWRITE | addr, mask, val #define EMIT_MASKPOLL(addr, mask) OPCODE_MASKPOLL | addr, mask #define EMIT_MASKDELAY(addr, mask) OPCODE_MASKDELAY | addr, mask +#define EMIT_WRITE(addr, val) OPCODE_WRITE | addr, val /* Returns codes of ps7_init* */ #define PS7_INIT_SUCCESS (0) diff --git a/arch/arm/mach-zynq/ps7_spl_init.c b/arch/arm/mach-zynq/ps7_spl_init.c index 069827880d10..6dc4e0364d8b 100644 --- a/arch/arm/mach-zynq/ps7_spl_init.c +++ b/arch/arm/mach-zynq/ps7_spl_init.c @@ -108,6 +108,12 @@ int __weak ps7_config(unsigned long *ps7_config_init) iowrite((ioread(addr) & ~mask) | (val & mask), addr); break; + case OPCODE_WRITE: + numargs = 2; + val = ptr[1]; + iowrite(val, addr); + break; + case OPCODE_MASKPOLL: numargs = 2; mask = ptr[1];