From nobody Sat Sep 28 22:42:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1548701484242448.3784693063419; Mon, 28 Jan 2019 10:51:24 -0800 (PST) Received: from localhost ([127.0.0.1]:36993 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1goC0B-0001a7-AY for importer@patchew.org; Mon, 28 Jan 2019 13:51:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41168) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1goBNd-00038t-5P for qemu-devel@nongnu.org; Mon, 28 Jan 2019 13:11:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1goBNc-0000Xl-70 for qemu-devel@nongnu.org; Mon, 28 Jan 2019 13:11:33 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:56072) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1goBNb-0000L7-Vv for qemu-devel@nongnu.org; Mon, 28 Jan 2019 13:11:32 -0500 Received: by mail-wm1-x333.google.com with SMTP id y139so14913878wmc.5 for ; Mon, 28 Jan 2019 10:11:16 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id b18sm97910681wrw.83.2019.01.28.10.11.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 Jan 2019 10:11:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=7LfPJAlqVpZ1EVfMdQKU6XxBBLcXbTeo3SylN/1FKzk=; b=WmEIoJuClb13Z3zMTdgO0HywOGookjHXZW+Yy0j0RbytgykJqDF4SlKhZGgd1qsqh6 zIrldd/oKICAqIr+AwmiUivvSq9ylMyPLFRFaJvcCaOUFvLCDuyGlA46XZH+Lt21Drjv wp4tbKau7ZyGkmJTPLonBx7Itg7hPQssol6Ys= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7LfPJAlqVpZ1EVfMdQKU6XxBBLcXbTeo3SylN/1FKzk=; b=ImXVM8IpLJhE4KpHxcvIWEeMeQWhthgt5+tYBb84d4ZbJEdfVZqOk1nl5zeitVNKZe rkCM46b4UNZpo4DuT8BfsGHwyE+ie+Fa/XIle6yopOcHpSjnu8PF0ORADCWZQ0agqttW FVbQoepsDAiIT5T1dLqRTvZTH+Tp4420N3uZ++x86/kHi/Gvqs/E1e/3chonRW6XwDPO qBUSO5wvQpn5fvzOraL1j+PZptNLRmIkAhzGr/VLQb6+ei130GZxsA99udOtoLHozUTx muWL4/28zRZcJNLc4qKrulSCMBXaC2MelIAAKjvHZTPbbYoOgTKWxEarG+Bt5bYtYoBe 7UQA== X-Gm-Message-State: AJcUukegUq0mekiS5HBvGgsQxth/mkGReijiZaUiOmOhYl9HJFpHPfvn 4kTArGCxulCTaeyw91P2TNGMDwWKxC5o7A== X-Google-Smtp-Source: ALg8bN7fYqLEyQxyOOuxRX7KfEgLeGPCytH2y21aSQuKCGpzudqx0v8k71RaZGJSvsefxwRrfIF1+w== X-Received: by 2002:a1c:b456:: with SMTP id d83mr18801108wmf.115.1548699074810; Mon, 28 Jan 2019 10:11:14 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Date: Mon, 28 Jan 2019 18:10:41 +0000 Message-Id: <20190128181047.20781-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190128181047.20781-1-peter.maydell@linaro.org> References: <20190128181047.20781-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::333 Subject: [Qemu-devel] [PULL 20/26] aspeed/smc: Add dummy data register X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: C=C3=A9dric Le Goater The SMC controllers have a register containing the byte that will be used as dummy output. It can be modified by software. Signed-off-by: C=C3=A9dric Le Goater Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: Joel Stanley Message-id: 20190124140519.13838-4-clg@kaod.org Signed-off-by: Peter Maydell --- hw/ssi/aspeed_smc.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c index 6045ca11b96..9f3b6f4b450 100644 --- a/hw/ssi/aspeed_smc.c +++ b/hw/ssi/aspeed_smc.c @@ -98,8 +98,8 @@ /* Misc Control Register #1 */ #define R_MISC_CTRL1 (0x50 / 4) =20 -/* Misc Control Register #2 */ -#define R_MISC_CTRL2 (0x54 / 4) +/* SPI dummy cycle data */ +#define R_DUMMY_DATA (0x54 / 4) =20 /* DMA Control/Status Register */ #define R_DMA_CTRL (0x80 / 4) @@ -529,7 +529,7 @@ static void aspeed_smc_flash_setup(AspeedSMCFlash *fl, = uint32_t addr) */ if (aspeed_smc_flash_mode(fl) =3D=3D CTRL_FREADMODE) { for (i =3D 0; i < aspeed_smc_flash_dummies(fl); i++) { - ssi_transfer(fl->controller->spi, 0xFF); + ssi_transfer(fl->controller->spi, s->regs[R_DUMMY_DATA] & 0xff= ); } } } @@ -664,6 +664,7 @@ static uint64_t aspeed_smc_read(void *opaque, hwaddr ad= dr, unsigned int size) addr =3D=3D s->r_timings || addr =3D=3D s->r_ce_ctrl || addr =3D=3D R_INTR_CTRL || + addr =3D=3D R_DUMMY_DATA || (addr >=3D R_SEG_ADDR0 && addr < R_SEG_ADDR0 + s->ctrl->max_slaves= ) || (addr >=3D s->r_ctrl0 && addr < s->r_ctrl0 + s->ctrl->max_slaves))= { return s->regs[addr]; @@ -697,6 +698,8 @@ static void aspeed_smc_write(void *opaque, hwaddr addr,= uint64_t data, if (value !=3D s->regs[R_SEG_ADDR0 + cs]) { aspeed_smc_flash_set_segment(s, cs, value); } + } else if (addr =3D=3D R_DUMMY_DATA) { + s->regs[addr] =3D value & 0xff; } else { qemu_log_mask(LOG_UNIMP, "%s: not implemented: 0x%" HWADDR_PRIx "\= n", __func__, addr); --=20 2.20.1