From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308201756894.0684805396819; Thu, 18 Jan 2018 12:43:21 -0800 (PST) Received: from localhost ([::1]:53802 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH1n-0001VX-2g for importer@patchew.org; Thu, 18 Jan 2018 15:43:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44904) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecGzq-0000M9-DU for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecGzp-0007Q8-59 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:14 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:32824) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecGzp-0007Pw-0v for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:13 -0500 Received: by mail-qt0-x241.google.com with SMTP id e2so33616952qti.0 for ; Thu, 18 Jan 2018 12:41:12 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yeRo+RPVyrVONtyt8QDDsY3ss2WM8izRLHxR09zzdTY=; b=FO/uS8UC6f22npBOcj9Wm0ww5mYrfIVMdbkVQiLD2/q3ByenlFbCgbnA7CV60Q6fws xS/j6EwJq2PHxFH/+/9fxYZ5MHv4bT3cpfMWhQpS0yBkPYk0ODWBHwaLkWExGXHh8mbU T7GT7jgg1ytUXRtK0gRXRE+1UReTGzY8owxI3kqsoRH4Cj2m+oqYsULywDr0DOkswumT TnEepxmrXyxEADW1+DZtQ8f8C7ug4jyY+YIk66OC3CREFXylLcg/8+7M7QJngahIsinX ITONS4oYetYVrPBiRRMqUfLvvs0pfuzy012WzMZ0R+yJ0wnVimoy6L0954HqezJzBe9A gFxw== 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:mime-version:content-transfer-encoding; bh=yeRo+RPVyrVONtyt8QDDsY3ss2WM8izRLHxR09zzdTY=; b=oD2fWaoWZOdeAKHLnH8XgdQ0xulGHmQc4NYtpbsgoLi2088eJiS+TB3TR0daJTO7wy MAq2duy+s/2gx6q5HWU91skYZHJhOmyIMjfzrQrd+B+wCnJEEpQasUzqeTf/7ohIPl5Y qj85yjyVSN/80eiOI+wk5yFYY4zfjMBzc2TpD0PYqs+PRMLLtqm3MSaAxs0pYumhV8H/ pio3JZNzxqR6TYxA0z02B6BiJQLok1zSefTFbEkKtCgh6V4xfYPo4Wa0AW6LO4M7oqUu s2Si3LA0IzAnHieYaFUtyUn2IqOeFOqDslUyVhvdigGQUEh14p06Z8X7YzmObJAuPbig 4EDA== X-Gm-Message-State: AKwxytfPf/tXCF30a4hbYuJNsYlbS1kn1SQbiehGlJKbu6JoJhs6s4mE SC6/xavfA0upqmtlidlzQLI= X-Google-Smtp-Source: ACJfBouMMd2ALL73gCeGuSH9yznGbn7zQU79G8Z+Sf8Wxrzix9Ta0jWIOaHAKThKhNRsbXoH+2wrbQ== X-Received: by 10.237.40.97 with SMTP id r88mr26107542qtd.233.1516308072516; Thu, 18 Jan 2018 12:41:12 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:45 -0300 Message-Id: <20180118204058.5768-2-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH v7 01/14] sdhci: add v3 capabilities 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci-internal.h | 21 +++++++++++++++++++++ include/hw/sd/sdhci.h | 5 +++++ hw/sd/sdhci.c | 24 ++++++++++++++++++++++-- 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index 4ed9727ec3..ac4704eb61 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -43,6 +43,7 @@ #define SDHC_TRNS_DMA 0x0001 #define SDHC_TRNS_BLK_CNT_EN 0x0002 #define SDHC_TRNS_ACMD12 0x0004 +#define SDHC_TRNS_ACMD23 0x0008 /* since v3 */ #define SDHC_TRNS_READ 0x0010 #define SDHC_TRNS_MULTI 0x0020 #define SDHC_TRNMOD_MASK 0x0037 @@ -183,12 +184,23 @@ FIELD(SDHC_ACMD12ERRSTS, TIMEOUT_ERR, 1, 1); FIELD(SDHC_ACMD12ERRSTS, CRC_ERR, 2, 1); FIELD(SDHC_ACMD12ERRSTS, INDEX_ERR, 4, 1); =20 +/* Host Control Register 2 (since v3) */ +#define SDHC_HOSTCTL2 0x3E +FIELD(SDHC_HOSTCTL2, UHS_MODE_SEL, 0, 3); +FIELD(SDHC_HOSTCTL2, V18_ENA, 3, 1); /* UHS-I only */ +FIELD(SDHC_HOSTCTL2, DRIVER_STRENGTH, 4, 2); /* UHS-I only */ +FIELD(SDHC_HOSTCTL2, EXECUTE_TUNING, 6, 1); /* UHS-I only */ +FIELD(SDHC_HOSTCTL2, SAMPLING_CLKSEL, 7, 1); /* UHS-I only */ +FIELD(SDHC_HOSTCTL2, ASYNC_INT, 14, 1); +FIELD(SDHC_HOSTCTL2, PRESET_ENA, 15, 1); + /* HWInit Capabilities Register 0x05E80080 */ #define SDHC_CAPAB 0x40 FIELD(SDHC_CAPAB, TOCLKFREQ, 0, 6); FIELD(SDHC_CAPAB, TOUNIT, 7, 1); FIELD(SDHC_CAPAB, BASECLKFREQ, 8, 8); FIELD(SDHC_CAPAB, MAXBLOCKLENGTH, 16, 2); +FIELD(SDHC_CAPAB, EMBEDDED_8BIT, 18, 1); /* since v3 */ FIELD(SDHC_CAPAB, ADMA2, 19, 1); /* since v2 */ FIELD(SDHC_CAPAB, ADMA1, 20, 1); /* v1 only? */ FIELD(SDHC_CAPAB, HIGHSPEED, 21, 1); @@ -198,6 +210,15 @@ FIELD(SDHC_CAPAB, V33, 24, 1); FIELD(SDHC_CAPAB, V30, 25, 1); FIELD(SDHC_CAPAB, V18, 26, 1); FIELD(SDHC_CAPAB, BUS64BIT, 28, 1); /* since v2 */ +FIELD(SDHC_CAPAB, ASYNC_INT, 29, 1); /* since v3 */ +FIELD(SDHC_CAPAB, SLOT_TYPE, 30, 2); /* since v3 */ +FIELD(SDHC_CAPAB, BUS_SPEED, 32, 3); /* since v3 */ +FIELD(SDHC_CAPAB, DRIVER_STRENGTH, 36, 3); /* since v3 */ +FIELD(SDHC_CAPAB, DRIVER_TYPE_A, 36, 1); /* since v3 */ +FIELD(SDHC_CAPAB, DRIVER_TYPE_C, 37, 1); /* since v3 */ +FIELD(SDHC_CAPAB, DRIVER_TYPE_D, 38, 1); /* since v3 */ +FIELD(SDHC_CAPAB, TIMER_RETUNNING, 40, 4); /* since v3 */ +FIELD(SDHC_CAPAB, SDR50_TUNNING, 45, 1); /* since v3 */ =20 /* HWInit Maximum Current Capabilities Register 0x0 */ #define SDHC_MAXCURR 0x48 diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 7e624135f0..bf3bf243d7 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -115,6 +115,11 @@ typedef struct SDHCIState { ***********/ bool adma1, adma2; bool bus64; + + /*********** + * Spec v3 + ***********/ + uint8_t slot_type, sdr, strength; } cap; } SDHCIState; =20 diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index e2379d610f..946dff0fac 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -65,6 +65,18 @@ static uint64_t sdhci_init_capareg(SDHCIState *s, Error = **errp) uint32_t val; =20 switch (s->spec_version) { + case 3: + val =3D FIELD_EX64(capareg, SDHC_CAPAB, SLOT_TYPE); + if (val) { + error_setg(errp, "slot-type not supported"); + return 0; + } + capareg =3D FIELD_DP64(capareg, SDHC_CAPAB, SLOT_TYPE, val); + capareg =3D FIELD_DP64(capareg, SDHC_CAPAB, BUS_SPEED, s->cap.sdr); + capareg =3D FIELD_DP64(capareg, SDHC_CAPAB, DRIVER_STRENGTH, + s->cap.strength); + + /* fallback */ case 2: /* default version */ capareg =3D FIELD_DP64(capareg, SDHC_CAPAB, ADMA1, s->cap.adma1); capareg =3D FIELD_DP64(capareg, SDHC_CAPAB, ADMA2, s->cap.adma2); @@ -1175,8 +1187,11 @@ static void sdhci_init_readonly_registers(SDHCIState= *s, Error **errp) uint64_t capab; Error *local_err =3D NULL; =20 - if (s->spec_version !=3D 2) { - error_setg(errp, "Only Spec v2 is supported"); + switch (s->spec_version) { + case 2 ... 3: + break; + default: + error_setg(errp, "Only Spec v2/v3 are supported"); return; } s->version =3D (SDHC_HCVER_VENDOR << 8) | (s->spec_version - 1); @@ -1219,6 +1234,11 @@ static void sdhci_init_readonly_registers(SDHCIState= *s, Error **errp) DEFINE_PROP_BOOL("adma2", _state, cap.adma2, true), \ DEFINE_PROP_BOOL("64bit", _state, cap.bus64, false), \ \ + /* Spec v3 properties */ \ + DEFINE_PROP_UINT8("slot-type", _state, cap.slot_type, 0), \ + DEFINE_PROP_UINT8("bus-speed", _state, cap.sdr, 0), \ + DEFINE_PROP_UINT8("driver-strength", _state, cap.strength, 0), \ + \ /* deprecated: Capabilities registers provide information on supported * features of this specific host controller implementation */ \ DEFINE_PROP_UINT64("capareg", _state, capareg, UINT64_MAX), \ --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308205719887.685064989105; Thu, 18 Jan 2018 12:43:25 -0800 (PST) Received: from localhost ([::1]:53804 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH1r-0001Zc-ON for importer@patchew.org; Thu, 18 Jan 2018 15:43:19 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44920) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecGzt-0000O7-Ft for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecGzs-0007RP-Be for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:17 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:41763) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecGzs-0007RD-7a for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:16 -0500 Received: by mail-qt0-x244.google.com with SMTP id i1so16769430qtj.8 for ; Thu, 18 Jan 2018 12:41:16 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wxVbnZCfxKYhpJYr5Znp8CfS6nQEKo7LDY4/PhY7mtg=; b=nwOixcBwq5svDDAZmqrKjWzu5KAb1BOtnAvaQKM4hcd67ZTJ1izmBLh2uSl4Oxrtkg ZX3qamuXObqkg94/UFNh5gbxjlfvMvWwjKcpCrbKbCl+dSM0CMFLOeZZ/dWRmE6WKw1V ATCJcIXzZ2KYO8QlBxYdHOnt+KZCDsiUJ75M8sNh4qTZhIU+GN48oXj1qnp1nFD2lDSD Tb32wNKymOSM79uTwsRnNahHgFdpIC9AyyeZSUF7hRprHIBW40TRaUyB6FewxsgXHQia 1sJsR7NObNyNsVi8GoNTkbEyQHb8ZrjskfOZ9rmx25J+Xno6wkgS4vumjVDHbrst5mM4 wMAw== 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:mime-version:content-transfer-encoding; bh=wxVbnZCfxKYhpJYr5Znp8CfS6nQEKo7LDY4/PhY7mtg=; b=Fn1EJ7p8JlGgAN3NhqbAIoBVEymCLSF7C0wF0FMSEMzYA+AoAv2OzEtERpFGFZrY66 wvE10CDD9mrvcw6lKXxR6rmZvTToR9PWGsC8iKDnVy8NYAW4xlCTxbQqG0Swn7CKTFTj GU1cFj2Nuxat+/Llkf031yRLRmsvdNiEMMEwncWuyr7mU9xykG7KFH8aq4A9eimGzA1/ 55Gny1voyWl/htdoRa4B7e/J6mgotxr4hi0nZH1HGyKGP3DJFpSx7L7RqNa2Ke8vzG0i XrbK7kCdesz4MdTQBu6r3PnircSzd7XaFfM1qgClKpUFWCBvlBEvLLrIIXJwjy5FBOSC iGiw== X-Gm-Message-State: AKwxytfnKI6nyPdc5iyObyv1/hQrePYTVDEsOrlznj8rZ9Gh7qtvP57Z 4LIClTHji/gvhQmpDqWUUO8= X-Google-Smtp-Source: ACJfBosGZxslsMcUqwzpv3KaRmIew1aNGxMgfoxxJOmMAGwR5wTSFE/bHqujDatvO9Zz/EEwoLCgcw== X-Received: by 10.200.54.138 with SMTP id a10mr4648831qtc.123.1516308075717; Thu, 18 Jan 2018 12:41:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:46 -0300 Message-Id: <20180118204058.5768-3-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v7 02/14] sdhci: rename the hostctl1 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 As per the Spec v3.00 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- include/hw/sd/sdhci.h | 2 +- hw/sd/sdhci.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index bf3bf243d7..98edcc1048 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -57,7 +57,7 @@ typedef struct SDHCIState { uint16_t cmdreg; /* Command Register */ uint32_t rspreg[4]; /* Response Registers 0-3 */ uint32_t prnsts; /* Present State Register */ - uint8_t hostctl; /* Host Control Register */ + uint8_t hostctl1; /* Host Control Register */ uint8_t pwrcon; /* Power control Register */ uint8_t blkgap; /* Block Gap Control Register */ uint8_t wakcon; /* WakeUp Control Register */ diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 946dff0fac..ec7430c83c 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -598,7 +598,7 @@ static void get_adma_description(SDHCIState *s, ADMADes= cr *dscr) uint32_t adma1 =3D 0; uint64_t adma2 =3D 0; hwaddr entry_addr =3D (hwaddr)s->admasysaddr; - switch (SDHC_DMA_TYPE(s->hostctl)) { + switch (SDHC_DMA_TYPE(s->hostctl1)) { case SDHC_CTRL_ADMA2_32: dma_memory_read(s->dma_as, entry_addr, (uint8_t *)&adma2, sizeof(adma2)); @@ -787,7 +787,7 @@ static void sdhci_data_transfer(void *opaque) SDHCIState *s =3D (SDHCIState *)opaque; =20 if (s->trnmod & SDHC_TRNS_DMA) { - switch (SDHC_DMA_TYPE(s->hostctl)) { + switch (SDHC_DMA_TYPE(s->hostctl1)) { case SDHC_CTRL_SDMA: if ((s->blkcnt =3D=3D 1) || !(s->trnmod & SDHC_TRNS_MULTI)) { sdhci_sdma_transfer_single_block(s); @@ -896,7 +896,7 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset,= unsigned size) ret =3D s->prnsts; break; case SDHC_HOSTCTL: - ret =3D s->hostctl | (s->pwrcon << 8) | (s->blkgap << 16) | + ret =3D s->hostctl1 | (s->pwrcon << 8) | (s->blkgap << 16) | (s->wakcon << 24); break; case SDHC_CLKCON: @@ -1014,7 +1014,7 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) MASKED_WRITE(s->sdmasysad, mask, value); /* Writing to last byte of sdmasysad might trigger transfer */ if (!(mask & 0xFF000000) && TRANSFERRING_DATA(s->prnsts) && s->blk= cnt && - s->blksize && SDHC_DMA_TYPE(s->hostctl) =3D=3D SDHC_CTRL_S= DMA) { + s->blksize && SDHC_DMA_TYPE(s->hostctl1) =3D=3D SDHC_CTRL_= SDMA) { if (s->trnmod & SDHC_TRNS_MULTI) { sdhci_sdma_transfer_multi_blocks(s); } else { @@ -1066,7 +1066,7 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val= , unsigned size) if (!(mask & 0xFF0000)) { sdhci_blkgap_write(s, value >> 16); } - MASKED_WRITE(s->hostctl, mask, value); + MASKED_WRITE(s->hostctl1, mask, value); MASKED_WRITE(s->pwrcon, mask >> 8, value >> 8); MASKED_WRITE(s->wakcon, mask >> 24, value >> 24); if (!(s->prnsts & SDHC_CARD_PRESENT) || ((s->pwrcon >> 1) & 0x7) <= 5 || @@ -1322,7 +1322,7 @@ const VMStateDescription sdhci_vmstate =3D { VMSTATE_UINT16(cmdreg, SDHCIState), VMSTATE_UINT32_ARRAY(rspreg, SDHCIState, 4), VMSTATE_UINT32(prnsts, SDHCIState), - VMSTATE_UINT8(hostctl, SDHCIState), + VMSTATE_UINT8(hostctl1, SDHCIState), VMSTATE_UINT8(pwrcon, SDHCIState), VMSTATE_UINT8(blkgap, SDHCIState), VMSTATE_UINT8(wakcon, SDHCIState), --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308377818426.7204345849425; Thu, 18 Jan 2018 12:46:17 -0800 (PST) Received: from localhost ([::1]:53833 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH4i-000490-Tq for importer@patchew.org; Thu, 18 Jan 2018 15:46:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44932) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecGzz-0000T2-9R for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecGzw-0007Sy-62 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:23 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:39366) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecGzw-0007So-1p; Thu, 18 Jan 2018 15:41:20 -0500 Received: by mail-qt0-x241.google.com with SMTP id f4so12713507qtj.6; Thu, 18 Jan 2018 12:41:19 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TO+UjhDYmNYUT5347vMorHWZVMV/hSTmwoKB3PiqHqE=; b=Gg+hEdgUGwJqxqAfx8pzzT8EupAbmtn/XA9G0gRDv7WtGnY+aGQzhOtq2XrFTJF8Mi dYxtoUOxrD5LpMIugx8sb5EV8sDucX0VWVCyzNfV4i3A727sqT41TH2Pf8GLz+zjK3Rx IapdxUIUnQXhQ2Zdy+1IvXSt/nGjyzTxg22F5MneMfYk1gkXR1Cs6JZIx0R+ncwDHlnd yO5hEk6GPTnqs+bZemNK//getII5//ReYkh3NmzwqsOEvvBEvRH3XjzIzUfVQwqP5IF9 r7TGWFvYa24VKbFRuI5FlTXmODJnH6RFVunqmcJ0alwCet+kkDeJfnMq9tH3Wka2T7WB yN8Q== 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:mime-version:content-transfer-encoding; bh=TO+UjhDYmNYUT5347vMorHWZVMV/hSTmwoKB3PiqHqE=; b=FDUQPYoSL2ZMLIRYH5KnTt7ARlNxUyXMXj0UR5kDveRyqL7mr0QTirekbtCy+ty9lq 2R9AirztGqEf1zoZTmp7GmNIT4SHNhShcs9D9KanD4BkP0Hpw+alnhx8P79VrnSaFPWf 7oycXq77pLTklOK/lu/OV90NlNSobnz3MV3kqT6ECYw/yx+6B9xnZqlPK4OjDL3+pW3O iLkZAMzWakp8DTnDfYnqf05Og455//+GIbt7JOVAFm08OU7H5c6JnL4MpEGD6pyC5Uq0 hx1ujMldNtqQiE9MFB76MaXWj1PCzJ222C82hEsWc/rtRvZXfBKc/1x0O7DL0WBjC68b xmHg== X-Gm-Message-State: AKwxytfSzJW2A6ywWKyZIK3cRVMQXL+tDP3kMYOqCHmIX1lwObExRB94 e0fhljdEkqo0g3QOadZYsT0= X-Google-Smtp-Source: ACJfBosIDGDci/fmI7KFa6F+8wum/BKa1ikUH0qj9epJRyfAIFXfzHwD4hyRPqrPtWyuLa8PloDMTg== X-Received: by 10.200.41.123 with SMTP id z56mr9262033qtz.189.1516308079558; Thu, 18 Jan 2018 12:41:19 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:47 -0300 Message-Id: <20180118204058.5768-4-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH v7 03/14] hw/arm/bcm2835_peripherals: implement SDHCI Spec v3 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , "open list:ARM" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2835_peripherals.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 12e0dd11af..79d680cb1b 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -18,9 +18,6 @@ /* Peripheral base address on the VC (GPU) system bus */ #define BCM2835_VC_PERI_BASE 0x7e000000 =20 -/* Capabilities for SD controller: no DMA, high-speed, default clocks etc.= */ -#define BCM2835_SDHC_CAPAREG 0x52034b4 - static void bcm2835_peripherals_init(Object *obj) { BCM2835PeripheralState *s =3D BCM2835_PERIPHERALS(obj); @@ -254,14 +251,27 @@ static void bcm2835_peripherals_realize(DeviceState *= dev, Error **errp) memory_region_add_subregion(&s->peri_mr, RNG_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->rng), 0)); =20 - /* Extended Mass Media Controller */ - object_property_set_int(OBJECT(&s->sdhci), BCM2835_SDHC_CAPAREG, "capa= reg", - &err); - if (err) { - error_propagate(errp, err); - return; - } - + /* Extended Mass Media Controller + * + * Compatible with: + * - SD Host Controller Specification Version 3.0 Draft 1.0 + * - SDIO Specification Version 3.0 + * - MMC Specification Version 4.4 + * + * - 32-bit access only + * - default clocks + * - no DMA + * - SD high-speed (SDHS) card + * - maximum block size: 1kB + * + * For the exact details please refer to the Arasan documentation: + * SD3.0_Host_AHB_eMMC4.4_Usersguide_ver5.9_jan11_10.pdf =C2=AF\_(= =E3=83=84)_/=C2=AF + */ + object_property_set_uint(OBJECT(&s->sdhci), 3, "sd-spec-version", &err= ); + object_property_set_uint(OBJECT(&s->sdhci), 52, "timeout-freq", &err); + object_property_set_uint(OBJECT(&s->sdhci), 52, "max-frequency", &err); + object_property_set_bool(OBJECT(&s->sdhci), false, "adma1", &err); + object_property_set_bool(OBJECT(&s->sdhci), true, "1v8", &err); object_property_set_bool(OBJECT(&s->sdhci), true, "pending-insert-quir= k", &err); if (err) { --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308568421619.8028315384796; Thu, 18 Jan 2018 12:49:28 -0800 (PST) Received: from localhost ([::1]:53861 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH7h-0006jI-Pb for importer@patchew.org; Thu, 18 Jan 2018 15:49:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44944) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH00-0000U3-GT for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecGzz-0007Ty-Mm for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:24 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:42367) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecGzz-0007Tn-IA; Thu, 18 Jan 2018 15:41:23 -0500 Received: by mail-qt0-x244.google.com with SMTP id c2so33611413qtn.9; Thu, 18 Jan 2018 12:41:23 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RPyxVCPTqw6yAvuy3WrDw0s7InlJ5TOtAXbOqVImte8=; b=h1B/Whde1z3TN3DvWE5majUjfrURb+4GAR3y+xq6tEXAEKsn3OrOKl7xZs7uVe6naC MGvy6VkhnYVXINfq4TuOXm/kxB4fq5U13Rq3tc6KOTvaxER1hfkt/5Q1XUxF4Ieoeukf 2HVWqHYpx/r8l2aEjif66HLrIXmG5eVAVYNV+TL/bXWy53QCzkPJA9UE9t3uUTIqHHt3 VYc/gxdu6t9yn++3j9kN6iWiLOCMq7YEJWkRwZNzn6baL0eJothH8Z4wweTiyQN8uB/y T13T8vwj8kS/abAsS81PjK6qBEI3pns/SvdY+t2WT370i605EB8H+6BbnN0jE5jN06KG h7zA== 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:mime-version:content-transfer-encoding; bh=RPyxVCPTqw6yAvuy3WrDw0s7InlJ5TOtAXbOqVImte8=; b=hjgJFpCo3gS01/VUVXPIqeR8yUMwyeerMwhu3u70IMtCuQPKQMnsxY2VjOhYKOHh6e n3s95fJEnn2f3h2D4vSjX5j1/2neI5kGlIg9NsHgwGZWOa2I3yYEEnS/IaPnqK+fc2N8 aS2X7lxVP8us+pdqBh/xo6BUzywmxleW3JLEq5vnEvO0vTpdoXInQXfHeSzvowm5nrtz F1W1ROIGa8yB8NmocgKC2vPBwYB+BkIRw3r6ao26wg9r0RReQR8RHF70lqQoINiFsj1H QNLgSjHHrn6hAbXS6yqEWJbSnSvXk7RDXuoeqeYc0loN+cZsWESMkwG8xV3HzCmJH8Oq ckrw== X-Gm-Message-State: AKwxyteCnGeNZ2FrSlzVdG2MZUui79nZAo5UvCDEcD8ci4ZfDka1ARLg wU4IyreRwrHLWTwGlm/x1Sg= X-Google-Smtp-Source: ACJfBou71RkcUEeH1yHTCu9JThKCqe3P57KMy+hsVKHIkFox8uCbbxjvt+HyxYx3vrONjCE+3ZiQ1A== X-Received: by 10.200.0.18 with SMTP id a18mr18298629qtg.162.1516308083098; Thu, 18 Jan 2018 12:41:23 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:48 -0300 Message-Id: <20180118204058.5768-5-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v7 04/14] hw/arm/bcm2835_peripherals: change maximum block size to 1kB 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , "open list:ARM" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 following the datasheet. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2835_peripherals.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 79d680cb1b..72d4dd73b5 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -272,6 +272,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) object_property_set_uint(OBJECT(&s->sdhci), 52, "max-frequency", &err); object_property_set_bool(OBJECT(&s->sdhci), false, "adma1", &err); object_property_set_bool(OBJECT(&s->sdhci), true, "1v8", &err); + object_property_set_uint(OBJECT(&s->sdhci), 1024, "max-block-length", = &err); object_property_set_bool(OBJECT(&s->sdhci), true, "pending-insert-quir= k", &err); if (err) { --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308745330349.6775049906141; Thu, 18 Jan 2018 12:52:25 -0800 (PST) Received: from localhost ([::1]:53937 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecHAe-000181-Gf for importer@patchew.org; Thu, 18 Jan 2018 15:52:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH04-0000XJ-30 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH03-0007VK-BW for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:28 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:39369) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH03-0007V9-6O; Thu, 18 Jan 2018 15:41:27 -0500 Received: by mail-qt0-x243.google.com with SMTP id f4so12714267qtj.6; Thu, 18 Jan 2018 12:41:27 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vSz663hxt9kCgV2WJCKUifLEv6n3AWYNiInFUzwPrDE=; b=PUOqfWVU5sTxwLcbF0Zq9oVJzZQ48fbSJZR3n9u92RfUASwtM4uETT5ZGL9cwlNpfg ROveU3vjhQQ/+riLEKicY5mmoK6VM1IfWqyEcnIiqtNAXg1CNmwdf7iDnV8ipt0TFtvC m7Ohv88OImDdVsklpAZ1/y4E/5jmAUOR6ak9DsrNzRg1A0HPnWGM/ZeCiOqpVWuW5D4u vqC7WFKDxxCqJzXo8kpf2awQcoedHh/j7PYxzKfCJT3Wo6g+s5rsgppxRxjiUjtH03WN 6KIiR3OiAflI8LlYJD/VHbzs305n4S0dUgWNe9DR5q2FKlj3H9FqnWVd9rgO7aq+V9W6 F95w== 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:mime-version:content-transfer-encoding; bh=vSz663hxt9kCgV2WJCKUifLEv6n3AWYNiInFUzwPrDE=; b=e42Gse3aNYo88s/q+aXEfy12JOMDFTO7F0DqIL4jLjXPL8MTk7RLTLyakPe6D7pSKg dgRN4/HnGnIc7jCYD/PwyzSAfQPecIjUknN93CzYrx/So9Tn1rX1fUoRvOGRfspi2/J5 VUa9nNp446B31qpVowfbgBKBxxvgvITD2DDKbjfXaZeIOlr7nDS42MGPANEc3gf2E/bO QJsU49I+GQmqAiJ7xsgbhyQotRPCj94hb0DnAU0AAPkLIOIcN318UDbt1627iYXrM+o5 jAT2PVgxI7ktCIP2z4tqgGtmxWqjMq+kmwJ4Bb/pl8b+D2JY+NpB3QxcxRHydOqWGM5m B7vg== X-Gm-Message-State: AKwxytfvVL1nkgXw5YDTdC7PWUGUSe0Wvu2XqIrbLkBKbd6VBdE5QFeL ebmE3l0vUXLj9WU26k8ze8c= X-Google-Smtp-Source: ACJfBou8nnQLvJIZJJvP7sximwWWLecP1/qIjyPm3HGvfJQBwtJ4qRTlj+2tY11Qt4Qd+j/4i9cCbw== X-Received: by 10.237.40.97 with SMTP id r88mr26108637qtd.233.1516308086696; Thu, 18 Jan 2018 12:41:26 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:49 -0300 Message-Id: <20180118204058.5768-6-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH v7 05/14] hw/arm/fsl-imx6: implement SDHCI Spec v3 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , "open list:ARM" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/fsl-imx6.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index b0d4088290..e7d13d54e6 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -348,6 +348,19 @@ static void fsl_imx6_realize(DeviceState *dev, Error *= *errp) { FSL_IMX6_uSDHC4_ADDR, FSL_IMX6_uSDHC4_IRQ }, }; =20 + /* UHS-I SDIO3.0 SDR104 1.8V ADMA */ + object_property_set_uint(OBJECT(&s->esdhc[i]), 3, "sd-spec-version= ", + &err); + object_property_set_uint(OBJECT(&s->esdhc[i]), 52, "timeout-freq", + &err); + object_property_set_uint(OBJECT(&s->esdhc[i]), 52, "max-frequency", + &err); + object_property_set_bool(OBJECT(&s->esdhc[i]), true, "adma1", &err= ); + object_property_set_bool(OBJECT(&s->esdhc[i]), true, "1v8", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &= err); if (err) { error_propagate(errp, err); --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308219318655.4287107043335; Thu, 18 Jan 2018 12:43:39 -0800 (PST) Received: from localhost ([::1]:53805 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH2A-0001qP-Gf for importer@patchew.org; Thu, 18 Jan 2018 15:43:38 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45012) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH08-0000aO-H8 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH07-0007Xo-20 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:32 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:40936) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH06-0007XN-Tt; Thu, 18 Jan 2018 15:41:30 -0500 Received: by mail-qt0-x241.google.com with SMTP id s39so16481351qth.7; Thu, 18 Jan 2018 12:41:30 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VcznwnAQCLddMsbntcQbOsipL+gOjhUaYYE70CPpa8c=; b=Vwso8dwAoYd+/X27NnQgMDkQ7dqJPnI0tRr8bt/jUc+eoAAd2jDYtge8zNssTtezoG X/Sl3E9DyCcCJwbPpoYFBDLcKi6Zl9H9KTRpfBcv67aF4AusmT/upQE+Fqdx/piMh37d k7FNSLVzaKdmoG2bHRn8Tp12iBY4VGBJwbfiL+wDOz3bBorGcmp2QC7Qaj9O7lU8aEHU sQxgSvtpzmOIARdj42LvBW+wZyl0XUEonI/4hXQ4ZwVDQwCOZqhVQdVhND/g9hbAW24t 2O8ov7TAr+am7Z9b5taoBiwLI30OCXZoWclHw3d3pIjGqdij7GjhMTdc3/bcvvKnLV4+ mlyg== 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:mime-version:content-transfer-encoding; bh=VcznwnAQCLddMsbntcQbOsipL+gOjhUaYYE70CPpa8c=; b=fyOWNNbyk9SOut1eByPTBvZ9TjvTPzQRbD8YCzUfWEh+hJBmSYW6Xs1rjt1IFM1Bg6 JyjDCNh0FrPyN9u67QZrDcmIjMfxpWsORdDHint0Ruiw+jLG72ZpdHwIwa9hH4xt9zYT U7zFwyhkphU0BbX/LQA8d979xW0mkUFS7DvSl36NwLgUCwnAuNAGoB4qQTqDAQuEXWPW jrPZPUtB1HdettUhZP4DRPAWnifnX2c4OH9ec3993aLtqFTLR0gnnroqKM3tdlsIrZbw qOL9evm//8MLjbbxff6pWZfqohoOkDCjrFjeuDUsoYMjz3NuyFtRYu7q0tXx3pF1dqd9 iZyQ== X-Gm-Message-State: AKwxytfLc1DhZIUi3h0s6mgWukkQWXHILsW9K7IrLgQ3k5neGFbuF0// EO7gTw1AU4D/J65O241b9oQ= X-Google-Smtp-Source: ACJfBoum0J58v9PrZ1+GE17X7JMeOPWTdiqDOBB9UYZQsPnzTCdYWoIFHplDEhUYZIO6JG76oO1wPA== X-Received: by 10.200.44.251 with SMTP id 56mr15185529qtx.55.1516308090404; Thu, 18 Jan 2018 12:41:30 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:50 -0300 Message-Id: <20180118204058.5768-7-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH v7 06/14] hw/arm/xilinx_zynqmp: implement SDHCI Spec v3 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu , "open list:Xilinx ZynqMP" , "Edgar E. Iglesias" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/xlnx-zynqmp.c | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index 325642058b..c4f6638ab7 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -381,22 +381,40 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Err= or **errp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->sata), 0, gic_spi[SATA_INTR]); =20 for (i =3D 0; i < XLNX_ZYNQMP_NUM_SDHCI; i++) { - char *bus_name; - - object_property_set_bool(OBJECT(&s->sdhci[i]), true, - "realized", &err); + char *bus_name =3D g_strdup_printf("sd-bus%d", i); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(&s->sdhci[i]); + Object *sdhci =3D OBJECT(&s->sdhci[i]); + + /* Compatible with: + * - SD Host Controller Specification Version 3.00 + * - SDIO Specification Version 3.0 + * - eMMC Specification Version 4.51 + * + * Host clock rate variable between 0 and 208 MHz + * Transfers the data in SDR104, SDR50, DDR50 modes + * (SDR104 mode: up to 832Mbits/s using 4 parallel data lines) + * Transfers the data in 1 bit and 4 bit SD modes + * UHS speed modes, 1.8V + * voltage switch, tuning commands + */ + object_property_set_uint(sdhci, 3, "sd-spec-version", &err); + object_property_set_uint(sdhci, 0, "timeout-freq", &err); + object_property_set_uint(sdhci, 0, "max-frequency", &err); + object_property_set_bool(sdhci, true, "suspend", &err); + object_property_set_bool(sdhci, false, "adma1", &err); + object_property_set_bool(sdhci, true, "64bit", &err); + object_property_set_uint(sdhci, 0b111, "bus-speed", &err); + object_property_set_uint(sdhci, 0b111, "driver-strength", &err); + object_property_set_bool(sdhci, true, "realized", &err); if (err) { error_propagate(errp, err); return; } - sysbus_mmio_map(SYS_BUS_DEVICE(&s->sdhci[i]), 0, - sdhci_addr[i]); - sysbus_connect_irq(SYS_BUS_DEVICE(&s->sdhci[i]), 0, - gic_spi[sdhci_intr[i]]); + sysbus_mmio_map(sbd, 0, sdhci_addr[i]); + sysbus_connect_irq(sbd, 0, gic_spi[sdhci_intr[i]]); + /* Alias controller SD bus to the SoC itself */ - bus_name =3D g_strdup_printf("sd-bus%d", i); - object_property_add_alias(OBJECT(s), bus_name, - OBJECT(&s->sdhci[i]), "sd-bus", + object_property_add_alias(OBJECT(s), bus_name, sdhci, "sd-bus", &error_abort); g_free(bus_name); } --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308396819946.8127507777208; Thu, 18 Jan 2018 12:46:36 -0800 (PST) Received: from localhost ([::1]:53834 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH52-0004RH-3i for importer@patchew.org; Thu, 18 Jan 2018 15:46:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45038) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH0B-0000cO-EX for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH0A-0007bH-P9 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:35 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:40939) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH0A-0007b0-KN for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:34 -0500 Received: by mail-qt0-x244.google.com with SMTP id s39so16481815qth.7 for ; Thu, 18 Jan 2018 12:41:34 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KPtToSFx+HAPzYk3upx3H56xE/V7Y0YLXSBvz2PUVAg=; b=kyd/5B6gcqX/CWyZ/01hHdcDwWH0fETInzXMpF0J9l4gnYuR+LkPBEcVugQObMYu1+ iqKE/xZ9bM2SXtr+pC/t2W0JwybRKO3N++Ceut4FhEvFgd1Fjmd8F+tTJG4p+2RHSvkx qiVkOd6fayf7Ke+17mKwS5dEuXbzB6OYm6SEFVOtOYhAWd6I5ZmZYYX9Eu0pdZNHKOg/ zCIg15GEP8p0ZcDHXZT+9lECJ8mDsMMEGXQmFvAG1w7HszVmAzdsujGIhVAA2DxWJMr2 eecJMSfW9vJ1d7OF8HFXN/tukZvdDmZP/4hkWdqdyQ2TcV48OlInaoODeRCzXL24gRug UsVQ== 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:mime-version:content-transfer-encoding; bh=KPtToSFx+HAPzYk3upx3H56xE/V7Y0YLXSBvz2PUVAg=; b=OewRChERWwuufH1F2IJKTpmmtIs8V2Po8uHS2YOcYj94u0AxWUCPXj0DzQAK6kSYJE fwMXhk4NlEiE6RnQ3sNm6xDSPlvbpNEkmXLx4Is73ZFswIynAKQbJHdoglAtjburtYAn 8ykUjOJ7shq8JYCMfgm/ZhPgocXlh5K4TRnWmGaey+KRkyNSitopqEGHgbJ+PaxOwkJs 6JNDuwkw4D2tFkv0pMXFuZLn9xhVfy05nr1NT+sHLM86OFscSxGLZH0pAMt7XAr7wMrP 5Mu0wz3OmCVxu0a6PKX2Ae+FGe/m1q5qgyy5INP/VKOrqyeXtNPfc84o09KCywctBWST Tmng== X-Gm-Message-State: AKwxytccFlBDNllkmR07CBBkudADtJkEK1x//wLAvb3mEbBAtwFTe6Zw S1H3i7NDcNJpn5/lyAOJZLM= X-Google-Smtp-Source: ACJfBou7k1kBg87qsUzOJSKS7/rFIAeNnRkPicsbMuHBM98TgqqLZ5662+uDCH3kNMHNDIltlh9Stw== X-Received: by 10.200.38.243 with SMTP id 48mr18802899qtp.163.1516308094165; Thu, 18 Jan 2018 12:41:34 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:51 -0300 Message-Id: <20180118204058.5768-8-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v7 07/14] sdhci: check Spec v3 capabilities qtest 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- tests/sdhci-test.c | 12 ++++++++++++ tests/Makefile.include | 1 + 2 files changed, 13 insertions(+) diff --git a/tests/sdhci-test.c b/tests/sdhci-test.c index 44ee5651c4..dd01a47839 100644 --- a/tests/sdhci-test.c +++ b/tests/sdhci-test.c @@ -42,9 +42,21 @@ static const struct sdhci_t { { "arm", "smdkc210", {0x12510000, 2, 0, {1, 0x5e80080} } }, =20 + /* i.MX 6 */ + { "arm", "sabrelite", + {0x02190000, 3, 0, {1, 0x057834b4} } }, + + /* BCM2835 */ + { "arm", "raspi2", + {0x3f300000, 3, 52, {0, 0x52034b4} } }, + /* Zynq-7000 */ { "arm", "xilinx-zynq-a9", {0xe0100000, 2, 0, {1, 0x01790080} } }, + + /* ZynqMP */ + { "aarch64", "xlnx-zcu102", + {0xff160000, 3, 0, {1, 0x7715e80080} } }, }; =20 static struct { diff --git a/tests/Makefile.include b/tests/Makefile.include index 756725b0f9..74cae947cb 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -367,6 +367,7 @@ check-qtest-arm-y +=3D tests/boot-serial-test$(EXESUF) check-qtest-arm-y +=3D tests/sdhci-test$(EXESUF) =20 check-qtest-aarch64-y =3D tests/numa-test$(EXESUF) +check-qtest-aarch64-y +=3D tests/sdhci-test$(EXESUF) =20 check-qtest-microblazeel-y =3D $(check-qtest-microblaze-y) =20 --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308588037561.1593775941234; Thu, 18 Jan 2018 12:49:48 -0800 (PST) Received: from localhost ([::1]:53889 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH87-00079j-8c for importer@patchew.org; Thu, 18 Jan 2018 15:49:47 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45070) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH0H-0000i8-4z for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH0E-0007da-1w for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:41 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:46804) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH0D-0007dM-TV for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:37 -0500 Received: by mail-qt0-x241.google.com with SMTP id o35so23493883qtj.13 for ; Thu, 18 Jan 2018 12:41:37 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=B/Dj4ooWTtxu2gvLfvvJB+hj0BvCQAuwP7NiB4pOGvU=; b=U07/oY2+VrjFyTXv8UMJTQ9IxefsJH1+ibzegtq5L58oy2Z6++yiry6WATIv1Hf6kO ubC4LCYZzjz/rrJR2pX03sFoJNMzVz3iOpGkiWAC0bh2+0D70DLr6U+f0mGxw41LAEq2 yecjDZb3yz2eOf1OIE5zUbRfF+6xMoKPXyQA3DJQj2q+U1eCLOZjCksZfirGGBkOJbjm HqAakQ3cwzE/6hDHpIYUM9N3RcgJEc2ZigqQCqsAzRmm5ph0422uLY+BIACvhF+z8pxE KBuhdEMCZ0/VaCwXGFwSHehrjMNCdEbFVwOjdPLNAY2fZUNTEZRLwxj87IoQ8QWB2Xhy LTcA== 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:mime-version:content-transfer-encoding; bh=B/Dj4ooWTtxu2gvLfvvJB+hj0BvCQAuwP7NiB4pOGvU=; b=WEFjdaTDm9Htz8YvtY6r6p0n9+EC38fER/2+HK8KRbTraF3QNwg5zRjNjAWHVC93to 2VIuMKfY0wrliliarP4m+4OY4cW/bYqhhh1ZNo0kQ498p/lkivNpGfSTpuFjunUOt5aW X0/F/kVnAExZmlCY2ZL+OAemNS4ggYC5oYnxNVPU0+heydbXWZuN2RF32uFLPFAm6PTd zv+zZb84HvaMZTP69+nRnvWthEbAaT2kYM8Hag16k0lbP+6WTDu/cxYB/J0zj34C30TK tQVk1NeVjOiQwjJRACQJRnyVJbe44riSh2lJybgQlKTZ/n16vmwWqTho/dfNVpVD0AgG gH/g== X-Gm-Message-State: AKwxyteJV7PmGbhuvU/dXAMECbmWUgoOEe9Lk2h7YFjO1L1wg46k4mFH pauLCfvSuk0Iv/IT59TSUNU= X-Google-Smtp-Source: AH8x226GagWPiUCkLaoS5TVvUkJdpUSN7ED+hdljcdfMHe30/pq2muIHQ1bhngKuoaKC1rrF2UrOyg== X-Received: by 10.55.123.69 with SMTP id w66mr1275342qkc.326.1516308097437; Thu, 18 Jan 2018 12:41:37 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:52 -0300 Message-Id: <20180118204058.5768-9-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH v7 08/14] sdhci: add a check_capab_v3() qtest 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Hajnoczi --- tests/sdhci-test.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/sdhci-test.c b/tests/sdhci-test.c index dd01a47839..51eaed6df8 100644 --- a/tests/sdhci-test.c +++ b/tests/sdhci-test.c @@ -16,6 +16,8 @@ #define SDHC_CAPAB 0x40 FIELD(SDHC_CAPAB, BASECLKFREQ, 8, 8); /* since v2 */ FIELD(SDHC_CAPAB, SDMA, 22, 1); +FIELD(SDHC_CAPAB, SDR, 32, 3); /* since v3 */ +FIELD(SDHC_CAPAB, DRIVER, 36, 3); /* since v3 */ #define SDHC_HCVER 0xFE =20 static const struct sdhci_t { @@ -159,6 +161,20 @@ static void check_capab_sdma(uintptr_t addr, bool supp= orted) g_assert_cmpuint(capab_sdma, =3D=3D, supported); } =20 +static void check_capab_v3(uintptr_t addr, uint8_t version) +{ + uint64_t capab, capab_v3; + + if (version < 3) { + /* before v3 those fields are RESERVED */ + capab =3D sdhci_readq(addr, SDHC_CAPAB); + capab_v3 =3D FIELD_EX64(capab, SDHC_CAPAB, SDR); + g_assert_cmpuint(capab_v3, =3D=3D, 0); + capab_v3 =3D FIELD_EX64(capab, SDHC_CAPAB, DRIVER); + g_assert_cmpuint(capab_v3, =3D=3D, 0); + } +} + static void machine_start(const struct sdhci_t *test) { if (test->pci.vendor_id) { @@ -201,6 +217,7 @@ static void test_machine(const void *data) check_specs_version(test->sdhci.addr, test->sdhci.version); check_capab_capareg(test->sdhci.addr, test->sdhci.capab.reg); check_capab_readonly(test->sdhci.addr); + check_capab_v3(test->sdhci.addr, test->sdhci.version); check_capab_sdma(test->sdhci.addr, test->sdhci.capab.sdma); check_capab_baseclock(test->sdhci.addr, test->sdhci.baseclock); =20 --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308401736862.7284857911593; Thu, 18 Jan 2018 12:46:41 -0800 (PST) Received: from localhost ([::1]:53835 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH57-0004VO-0k for importer@patchew.org; Thu, 18 Jan 2018 15:46:41 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45081) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH0I-0000jJ-EW for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH0H-0007g1-GF for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:42 -0500 Received: from mail-qt0-x241.google.com ([2607:f8b0:400d:c0d::241]:42368) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH0H-0007fp-Bq for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:41 -0500 Received: by mail-qt0-x241.google.com with SMTP id c2so33613431qtn.9 for ; Thu, 18 Jan 2018 12:41:41 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yeQgdEbmUtoGW6TfkItmkbaMHecl7p4ijlt2eKoKlIA=; b=PlrCKdXHGwbjzrzQa9IC4fQ3aIVA1dzZr5FmIJwK9obF8h5UHOSRVmQ11R3W0WkJA1 K/KyiolMD13n3LXmG/MsTBcyWZMqB1YTo3rXj1490YQoTDC+NTXlOrG46/9Ht2vOhRfQ O3uIRR+O1Prgi5gewz72r+ZMcocL36LC3ox0QOn86JcV+tcDtF5mv/lIUxYPgilcmpVq fHCuimsJHUOcOB1fgVv7tG9+5cjfaEMdS6CPIR4pfmlYRq2Z3aS6cFJQ2t+2tSLFo8is tmafXFxEXbp1pad04+Ua4ryUSyKoCSOSUsYrqGRFBFOEU2Pqwu/TWJ/skPHdv8DVuhh7 BwgA== 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:mime-version:content-transfer-encoding; bh=yeQgdEbmUtoGW6TfkItmkbaMHecl7p4ijlt2eKoKlIA=; b=UUJES0WQxjbqwqLXLcAGkd4iG0G2P4yNL+l8Wt6ELFPHbHwz6qBgJ5qkZHBaWupsME RwIOFCc6ubfpKkh/ZKamzrUj7vxrAj2k1ubxtcSrI5RN3GZc0Xcm+sYVdw9bTCuzK1sm Y0kHcbhFEXoY2GxdgmluIye33CV4w60efQCQgUiZoAVgaZF/vBzQb9DAguNaG1FlQwJD 1Jma7yUi8NNX52tJxHQ16CKtqe4SRv0/662NQ3IqUqklkyQXvQoK1575f0Z6h74RL3i3 U+G0ucAUAWW+FPgD+GorTqBnUO7rBObOljnjX/Y+jwODe0o7cAfqExjSUyUHYB+U+qQK TXZQ== X-Gm-Message-State: AKwxytcD6cwNeJUBnOUhC0ONMZBqnR16GzxoUtW+oGzCZbNbFlY5jutg uxmw/b8d/6XLtOmeM0fr+kg= X-Google-Smtp-Source: ACJfBouPcJiWvyTD37gYUYL5oozx4bGHCcEuJghg5+zl3YbWypE6oB2sjYQ64CztTLDiXSj0Bj0/6A== X-Received: by 10.200.53.6 with SMTP id y6mr40456947qtb.191.1516308100895; Thu, 18 Jan 2018 12:41:40 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:53 -0300 Message-Id: <20180118204058.5768-10-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::241 Subject: [Qemu-devel] [PATCH v7 09/14] sdhci: remove the deprecated 'capareg' property 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 All SDHCI consumers have been upgraded to set correct properties. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index ec7430c83c..651f523089 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1184,7 +1184,6 @@ static inline unsigned int sdhci_get_fifolen(SDHCISta= te *s) =20 static void sdhci_init_readonly_registers(SDHCIState *s, Error **errp) { - uint64_t capab; Error *local_err =3D NULL; =20 switch (s->spec_version) { @@ -1196,20 +1195,11 @@ static void sdhci_init_readonly_registers(SDHCIStat= e *s, Error **errp) } s->version =3D (SDHC_HCVER_VENDOR << 8) | (s->spec_version - 1); =20 - capab =3D sdhci_init_capareg(s, &local_err); + s->capareg =3D sdhci_init_capareg(s, &local_err); if (local_err) { error_propagate(errp, local_err); return; } - if (s->capareg =3D=3D UINT64_MAX) { - s->capareg =3D capab; - } else { - capab =3D s->capareg & ~capab; - if (capab) { - error_setg(errp, "missing capability mask: 0x%" PRIx64, capab); - return; - } - } } =20 /* --- qdev common --- */ @@ -1239,9 +1229,6 @@ static void sdhci_init_readonly_registers(SDHCIState = *s, Error **errp) DEFINE_PROP_UINT8("bus-speed", _state, cap.sdr, 0), \ DEFINE_PROP_UINT8("driver-strength", _state, cap.strength, 0), \ \ - /* deprecated: Capabilities registers provide information on supported - * features of this specific host controller implementation */ \ - DEFINE_PROP_UINT64("capareg", _state, capareg, UINT64_MAX), \ DEFINE_PROP_UINT64("maxcurr", _state, maxcurr, 0) =20 static void sdhci_initfn(SDHCIState *s) --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308375796813.796517887194; Thu, 18 Jan 2018 12:46:15 -0800 (PST) Received: from localhost ([::1]:53832 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH4d-00043b-TH for importer@patchew.org; Thu, 18 Jan 2018 15:46:11 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45097) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH0M-0000md-0f for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH0L-0007hf-1S for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:46 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:38035) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH0K-0007hV-TD for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:44 -0500 Received: by mail-qt0-x243.google.com with SMTP id z10so5493436qti.5 for ; Thu, 18 Jan 2018 12:41:44 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jwIi8hhkaiczVtYTAemhmxRrB1k5uipIoPUa+X3/6Ok=; b=O84bhaJAf/ROOTddvjUckVj1pCIKIGR/DezD3SNYSUWU1uatrMRwLInsJbS8OSeyMY wT6psuEagajRi4kH7wJjh1IzPSSyhqioHGi82Uy0KP/AUX55M61Z423cU0g1/Dfo9rXn mKqJHtFUiHnDlwI26C5JrUXvVoJfr9higDXjuj1y6PkklpAvyGppiVQ3kPJmHuJU66dX Qqt7kKuTymm9GUsCiE6L+PAYuBH2WUvZJEGHaRLp5EKisVIIx4pvF7KdFvYnur8aw2Bp F2YHAY5XzPYeLQN6bUFKjtva+gzLIYVMoIoaSZxy4xst1i6LY3rA3QdQvhLz71llDLqN GcfQ== 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:mime-version:content-transfer-encoding; bh=jwIi8hhkaiczVtYTAemhmxRrB1k5uipIoPUa+X3/6Ok=; b=kAw43f+U8PSLtoU64n5A1OnzsbKb1GSU6/wt3UlcrhC65X6YWlN9nChbPzWR59T8A/ VlGFIzV44fiQY5nHMKJc7CiHQUW+CdV/Doyiw+rYin6qNhGyg/iVJ6lBOVDyJlV15fBw IcvL59mdRcW6tJZZgk1qnfDh17E9zPi4lzQmPVdIOZR9jeLFavohnxcTst8GM6iTCBEC +f77NlJDPzpA0HTRc1s62k08bp90L5xvhtbpbReMdoiwLdCFNMnq0VifvbQoM6wbv57M 5q4jgjhzv3ajveN9IgeFeyUiI9pPzlTgybDl/jzMnmHL5HtLykKBhf/5M+FL5kkE4qKa fjXQ== X-Gm-Message-State: AKwxytd9rX/JunAFEJ24k0sghkyn46dEJ28w0+NoIRKY3IvViwBJDlcD OAj7gYvbKQ/dwn2l0CHY1i8= X-Google-Smtp-Source: ACJfBot/LjIhc8Xp3N/pfhBhfaAbyOKa2N2WRa3rdkg7NJSynfyF/yI53ZYHxJ2cQ2CE8SQ66K1gqg== X-Received: by 10.200.57.228 with SMTP id v91mr22131735qte.121.1516308104418; Thu, 18 Jan 2018 12:41:44 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:54 -0300 Message-Id: <20180118204058.5768-11-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH v7 10/14] sdhci: add Spec v4.2 register definitions 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Alistair Francis --- hw/sd/sdhci-internal.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index ac4704eb61..b82e847636 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -191,6 +191,10 @@ FIELD(SDHC_HOSTCTL2, V18_ENA, 3, 1); /* UHS-I= only */ FIELD(SDHC_HOSTCTL2, DRIVER_STRENGTH, 4, 2); /* UHS-I only */ FIELD(SDHC_HOSTCTL2, EXECUTE_TUNING, 6, 1); /* UHS-I only */ FIELD(SDHC_HOSTCTL2, SAMPLING_CLKSEL, 7, 1); /* UHS-I only */ +FIELD(SDHC_HOSTCTL2, UHS_II_ENA, 8, 1); /* since v4 */ +FIELD(SDHC_HOSTCTL2, ADMA2_LENGTH, 10, 1); /* since v4 */ +FIELD(SDHC_HOSTCTL2, CMD23_ENA, 11, 1); /* since v4 */ +FIELD(SDHC_HOSTCTL2, VERSION4, 12, 1); /* since v4 */ FIELD(SDHC_HOSTCTL2, ASYNC_INT, 14, 1); FIELD(SDHC_HOSTCTL2, PRESET_ENA, 15, 1); =20 @@ -219,12 +223,16 @@ FIELD(SDHC_CAPAB, DRIVER_TYPE_C, 37, 1); /* sinc= e v3 */ FIELD(SDHC_CAPAB, DRIVER_TYPE_D, 38, 1); /* since v3 */ FIELD(SDHC_CAPAB, TIMER_RETUNNING, 40, 4); /* since v3 */ FIELD(SDHC_CAPAB, SDR50_TUNNING, 45, 1); /* since v3 */ +FIELD(SDHC_CAPAB, CLK_MUL, 48, 8); /* since v4.20 */ +FIELD(SDHC_CAPAB, ADMA3, 59, 1); /* since v4.20 */ +FIELD(SDHC_CAPAB, V18_VDD2, 60, 1); /* since v4.20 */ =20 /* HWInit Maximum Current Capabilities Register 0x0 */ #define SDHC_MAXCURR 0x48 FIELD(SDHC_MAXCURR, V33_VDD1, 0, 8); FIELD(SDHC_MAXCURR, V30_VDD1, 8, 8); FIELD(SDHC_MAXCURR, V18_VDD1, 16, 8); +FIELD(SDHC_MAXCURR, V18_VDD2, 32, 8); /* since v4.20 */ =20 /* W Force Event Auto CMD12 Error Interrupt Register 0x0000 */ #define SDHC_FEAER 0x50 --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308987636368.4597264059814; Thu, 18 Jan 2018 12:56:27 -0800 (PST) Received: from localhost ([::1]:54013 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecHE1-0004u5-1L for importer@patchew.org; Thu, 18 Jan 2018 15:55:53 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45118) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH0R-0000sy-Nf for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH0O-0007k4-K7 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:51 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:42372) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH0O-0007jy-F9 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:48 -0500 Received: by mail-qt0-x242.google.com with SMTP id c2so33614225qtn.9 for ; Thu, 18 Jan 2018 12:41:48 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jvk24fOZB1Cqnp1BZd85W9+FTl0g7X7Oa9KeY0ANaoI=; b=YEK3D+j0l/4TANuU4GyKQFO58B1Wll3Wz9Q8YSj7ubXqijy3Sq8Xd7gNAi7NgtzJxc jf48GE6yR29WXedcM/rrtb1h7go5AurcR/JwKfUd93ViTf7TyzvJci2dzCKsrZLDZy7Q QE6iekSdCzbzA8UEDPxBtjA6UZ5n31yQSi1z4E+A0nkvRND0Hxv2665K4cMkPdhMbM1h ih+fXKguGBzPWA/m6pE/J05ADY5MOZz5YN2rdz2HoIr6oPGPdQ2ZMWY8id4x8MnzwNY1 rRVuIHD3T0rKoSF1ZEW29mIjopAit4XmSmA16QGMI/KUMfIHtWnc0brF6UPVsj5+Owcy aPiw== 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:mime-version:content-transfer-encoding; bh=jvk24fOZB1Cqnp1BZd85W9+FTl0g7X7Oa9KeY0ANaoI=; b=W1VBVMsL/nbFC428DTUrVlr8HmyTYjwOraIUR2+nQBJk2LT2wC0i3CPPal5WZlQAU9 u5L0YJ/NYhjo2sBlA3EJmm+BUad7NobXR96GArNYR10Mw73AhbAIWlBsD/4tpT1xcNcb okGbVthcgOL6g0B5wRtSCZvK/z/ysATy6BmxyG9/6YsYNWBdeKxb17Enj2Wr5sHiHzFD FM6G3lFmWkmj7lJidVwdR6hmaMNZgbFsFES0uAvYoW7GNzvivTG0b+2taXdY8aw+K1yJ hWXtg/pcCyXqEZAj9K6azvScfitsvjDqPmCUFZKqoyWsojAEeKS6hqyekxCY1xORHMfe 1Pyg== X-Gm-Message-State: AKwxytdmK/XLZ4IPsDOR+exRTgVxpAtJPjMhPZx3gKz0Meg+aTLapQe7 4acMM8nZgTW7Rjcl6DILSL+s4oni X-Google-Smtp-Source: ACJfBouz/UAsc9Dwn1TWq/htoJ5D6kkfXJWD86JHeXTPk+jjx7cigEwYQwy6TdP2K3IsbKLxNyx4Nw== X-Received: by 10.55.78.74 with SMTP id c71mr4047478qkb.59.1516308107961; Thu, 18 Jan 2018 12:41:47 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:55 -0300 Message-Id: <20180118204058.5768-12-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH v7 11/14] sdhci: implement the Host Control 2 register for the tunning sequence 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 [based on a patch from Alistair Francis from qemu/xilinx tag xilinx-v2015.2] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sdhci.h | 1 + hw/sd/sdhci.c | 22 +++++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 98edcc1048..9d3f656441 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -71,6 +71,7 @@ typedef struct SDHCIState { uint16_t norintsigen; /* Normal Interrupt Signal Enable Register */ uint16_t errintsigen; /* Error Interrupt Signal Enable Register */ uint16_t acmd12errsts; /* Auto CMD12 error status register */ + uint16_t hostctl2; /* Host Control 2 */ uint64_t admasysaddr; /* ADMA System Address Register */ =20 /* Read-only registers */ diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 651f523089..37b3b265ef 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -315,14 +315,29 @@ static void sdhci_end_transfer(SDHCIState *s) static void sdhci_read_block_from_card(SDHCIState *s) { int index =3D 0; + uint8_t data; + const uint16_t blk_size =3D s->blksize & BLOCK_SIZE_MASK; =20 if ((s->trnmod & SDHC_TRNS_MULTI) && (s->trnmod & SDHC_TRNS_BLK_CNT_EN) && (s->blkcnt =3D=3D 0)) { return; } =20 - for (index =3D 0; index < (s->blksize & BLOCK_SIZE_MASK); index++) { - s->fifo_buffer[index] =3D sdbus_read_data(&s->sdbus); + for (index =3D 0; index < blk_size; index++) { + data =3D sdbus_read_data(&s->sdbus); + if (!FIELD_EX32(s->hostctl2, SDHC_HOSTCTL2, EXECUTE_TUNING)) { + /* Device is not in tunning */ + s->fifo_buffer[index] =3D data; + } + } + + if (FIELD_EX32(s->hostctl2, SDHC_HOSTCTL2, EXECUTE_TUNING)) { + /* Device is in tunning */ + s->hostctl2 &=3D ~R_SDHC_HOSTCTL2_EXECUTE_TUNING_MASK; + s->hostctl2 |=3D R_SDHC_HOSTCTL2_SAMPLING_CLKSEL_MASK; + s->prnsts &=3D ~(SDHC_DAT_LINE_ACTIVE | SDHC_DOING_READ | + SDHC_DATA_INHIBIT); + goto read_done; } =20 /* New data now available for READ through Buffer Port Register */ @@ -347,6 +362,7 @@ static void sdhci_read_block_from_card(SDHCIState *s) } } =20 +read_done: sdhci_update_irq(s); } =20 @@ -912,7 +928,7 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset,= unsigned size) ret =3D s->norintsigen | (s->errintsigen << 16); break; case SDHC_ACMD12ERRSTS: - ret =3D s->acmd12errsts; + ret =3D s->acmd12errsts | (s->hostctl2 << 16); break; case SDHC_CAPAB: ret =3D (uint32_t)s->capareg; --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151630877546580.59077496378279; Thu, 18 Jan 2018 12:52:55 -0800 (PST) Received: from localhost ([::1]:53947 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecHB5-0001Y5-5S for importer@patchew.org; Thu, 18 Jan 2018 15:52:51 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45132) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH0S-0000uP-Tr for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH0R-0007nK-Ut for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:52 -0500 Received: from mail-qt0-x242.google.com ([2607:f8b0:400d:c0d::242]:38036) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH0R-0007n6-Q0 for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:41:51 -0500 Received: by mail-qt0-x242.google.com with SMTP id z10so5494183qti.5 for ; Thu, 18 Jan 2018 12:41:51 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ydqMLYPL8mZf4X4L58+PNGmXrTS2z41Avy1lgtju11k=; b=DewWC8EQ3XqnHYV5O0d0ETvm8rSQdXVB8ZBdwPdSfwnfqWCMXe941rJbkzhFZmU+yq fqVN5NZkocY2mrlxh4UWBstg8/az/KVME/lxovshj90d8yTGSXCmaT0zFbikKXodJxCK RH4YHlvRzWNxEJ1TQoSaGDRHGdamVGUeY3NW7v1S3Yqiovnu0kQUTwNE/K3GxhiPrTE0 b/18i2lxwFUTp8KY/en5zu/5tc9VnSvccWoWfjUkPF5qyIszsMnBBuhweFtqMRwwlqeQ JPEf/q8B8Ipud+Djvl8UqtC0FnEvywbrcpa85Walb2Kfts01RvpZJsdHVfaoqtXLApSg w/BA== 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:mime-version:content-transfer-encoding; bh=ydqMLYPL8mZf4X4L58+PNGmXrTS2z41Avy1lgtju11k=; b=mKHDqGekc9FMWOcn+bZZUCUF9EAAnsfhr/OYbrdf/hnsTi7Sd/DfZB/egtub0y7kD0 KOfzeVovZ6ze/kStcNM+hpgBta9WfU8hByqUV1OQ7s9uU48tyg+94ngUkNPEWLLOpJ94 7hf4/HWRVmRsMMT6iH+US8f3YN6JTtKdEM7o0NeoCDY1otOQuboI56fgeztn7+KsMhcS 6OxxKeF3D6WNZyPQ5hIq5libJoW6/gF9fiuOuEJqRs5kKifIg7y2TgYdcjhzzpMg5frg Fxp2Iioovda6Nvp5DOtA+JXg5FwyEnkwIKEJygTal0YlQdwMQfomHaOhBNj8Nz8P9xcq vx0g== X-Gm-Message-State: AKwxytelAqK2+6/PsceRURTPiE+3Pj96HucwukGt1HO2CWnRCTUSdgA+ SeHj7CqZr0Td04bib5ATx8d7QTLV X-Google-Smtp-Source: ACJfBot8acaBm/PjBVDY7goaczQUU4XhZUSB0NZcFOfyxPQfS4nX3+TgmPF8A/J1M9dKbdS53SqKmA== X-Received: by 10.55.6.145 with SMTP id 139mr57780399qkg.285.1516308111299; Thu, 18 Jan 2018 12:41:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:56 -0300 Message-Id: <20180118204058.5768-13-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::242 Subject: [Qemu-devel] [PATCH v7 12/14] sdbus: add trace events 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/core.c | 14 ++++++++++++-- hw/sd/trace-events | 5 +++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/hw/sd/core.c b/hw/sd/core.c index 295dc44ab7..498284f109 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -23,6 +23,12 @@ #include "hw/qdev-core.h" #include "sysemu/block-backend.h" #include "hw/sd/sd.h" +#include "trace.h" + +static inline const char *sdbus_name(SDBus *sdbus) +{ + return sdbus->qbus.name; +} =20 static SDState *get_card(SDBus *sdbus) { @@ -39,6 +45,7 @@ int sdbus_do_command(SDBus *sdbus, SDRequest *req, uint8_= t *response) { SDState *card =3D get_card(sdbus); =20 + trace_sdbus_command(sdbus_name(sdbus), req->cmd, req->arg, req->crc); if (card) { SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 @@ -52,6 +59,7 @@ void sdbus_write_data(SDBus *sdbus, uint8_t value) { SDState *card =3D get_card(sdbus); =20 + trace_sdbus_write(sdbus_name(sdbus), value); if (card) { SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 @@ -62,14 +70,16 @@ void sdbus_write_data(SDBus *sdbus, uint8_t value) uint8_t sdbus_read_data(SDBus *sdbus) { SDState *card =3D get_card(sdbus); + uint8_t value =3D 0; =20 if (card) { SDCardClass *sc =3D SD_CARD_GET_CLASS(card); =20 - return sc->read_data(card); + value =3D sc->read_data(card); } + trace_sdbus_read(sdbus_name(sdbus), value); =20 - return 0; + return value; } =20 bool sdbus_data_ready(SDBus *sdbus) diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 0a121156a3..c0f51f11d4 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -1,5 +1,10 @@ # See docs/devel/tracing.txt for syntax documentation. =20 +# hw/sd/core.c +sdbus_command(const char *bus_name, uint8_t cmd, uint32_t arg, uint8_t crc= ) "@%s CMD%02d arg 0x%08x crc 0x%02x" +sdbus_read(const char *bus_name, uint8_t value) "@%s value 0x%02x" +sdbus_write(const char *bus_name, uint8_t value) "@%s value 0x%02x" + # hw/sd/sdhci.c sdhci_set_inserted(const char *level) "card state changed: %s" sdhci_send_command(uint8_t cmd, uint32_t arg) "CMD%02u ARG[0x%08x]" --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516309129554772.1156174973132; Thu, 18 Jan 2018 12:58:49 -0800 (PST) Received: from localhost ([::1]:54034 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecHGp-0007QS-Lw for importer@patchew.org; Thu, 18 Jan 2018 15:58:47 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45260) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH0h-00017Z-Qt for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:42:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH0e-0007vt-NI for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:42:07 -0500 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:43434) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH0e-0007vg-HW for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:42:04 -0500 Received: by mail-qt0-x243.google.com with SMTP id s3so33590238qtb.10 for ; Thu, 18 Jan 2018 12:42:04 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.41.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:41:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BxKiZHGByoJWOYnXqTeTxukzMR69ct1qeGtE2uhHY24=; b=n4kXeH14QWNarB35RxnDi/bBKeF3/QcY9XbJUsKYNQ32DNCZWnE3V+OCYxHH7WL9Wf /vEgYy4U3QW8RDYEU1Znb6APtfIkWoqQtfvG7I4aZPfqUUCJqOGTg0gBnveR5gPZVEEl 0waoEnq73cOT/xADNuY6iQ9xttX/3j27KIztXI1x8CuEwx3akvknkIade9xJPs4JpFL6 3viIXgoVtAldURkXPs77wufpRGiWpYV1kDxRMvvdzgH1mqf1P5YPvMXqoUcstzP80XPX KY3tyYMJp6J3TD4qsTnC1SH0SsSqmeWjdDJb9tT0QwDWCS3UaRjKDtPOEsYwaK0AF4gT I/CQ== 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:mime-version:content-transfer-encoding; bh=BxKiZHGByoJWOYnXqTeTxukzMR69ct1qeGtE2uhHY24=; b=bE+HChLhkl1shr4LQnQcpcVUizEaYftOWp8+BsGt0cg6ia1m7BUYEULcgGXrT8sFu6 sTUOQlKTlE/7uyE9ALmJ95EgTAdP7JRliV9UZebX2Leo68Do48sNPqP6JnD18o92DY1D 2kzulOVmzNjnJO1pyW3DlleVs/uKW50mRkrQvGuASL2hdL7G59vEF252zFjqth21509G 7dnw80NkZCjP4WiyZsIe1H2htwBhUg0gGnTB2oFDvY+S0wHhFtKp8hZsNzFLQzPnu/PL UIdqwsRHFrKC3pd3T9ICxDmh9q1W9kUZrfNoY2Jyq2p1GbsnGVBWR8pThMQKyxqmj0QH /wRQ== X-Gm-Message-State: AKwxytc5KasXy4h1nPs3CMlr3MlHto2WW6oWP8yzQgD8Pemg1jO27WNg KUwNJEMLbZXGcgkLF+AhqNs= X-Google-Smtp-Source: ACJfBovsb7R6HQtPOT74KqO3jJncliV7OsRL88hU5T2op04rztcYd9gKdgFa5/F0jexm5gKkpNVGsw== X-Received: by 10.200.56.170 with SMTP id f39mr22449046qtc.243.1516308123968; Thu, 18 Jan 2018 12:42:03 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:57 -0300 Message-Id: <20180118204058.5768-14-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::243 Subject: [Qemu-devel] [PATCH v7 13/14] sdhci: implement UHS-I voltage switch 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 [based on a patch from Alistair Francis from qemu/xilinx tag xilinx-v2015.2] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/sd/sd.h | 16 ++++++++++++++++ include/hw/sd/sdhci.h | 1 + hw/sd/core.c | 13 +++++++++++++ hw/sd/sd.c | 13 +++++++++++++ hw/sd/sdhci.c | 12 +++++++++++- hw/sd/trace-events | 1 + 6 files changed, 55 insertions(+), 1 deletion(-) diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index 96caefe373..f086679493 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -55,6 +55,20 @@ #define AKE_SEQ_ERROR (1 << 3) #define OCR_CCS_BITN 30 =20 +typedef enum { + SD_VOLTAGE_0_4V =3D 400, /* currently not supported */ + SD_VOLTAGE_1_8V =3D 1800, + SD_VOLTAGE_3_0V =3D 3000, + SD_VOLTAGE_3_3V =3D 3300, +} sd_voltage_mv_t; + +typedef enum { + UHS_NOT_SUPPORTED =3D 0, + UHS_I =3D 1, + UHS_II =3D 2, /* currently not supported */ + UHS_III =3D 3, /* currently not supported */ +} sd_uhs_mode_t; + typedef enum { sd_none =3D -1, sd_bc =3D 0, /* broadcast -- no response */ @@ -88,6 +102,7 @@ typedef struct { void (*write_data)(SDState *sd, uint8_t value); uint8_t (*read_data)(SDState *sd); bool (*data_ready)(SDState *sd); + void (*set_voltage)(SDState *sd, uint16_t millivolts); void (*enable)(SDState *sd, bool enable); bool (*get_inserted)(SDState *sd); bool (*get_readonly)(SDState *sd); @@ -134,6 +149,7 @@ void sd_enable(SDState *sd, bool enable); /* Functions to be used by qdevified callers (working via * an SDBus rather than directly with SDState) */ +void sdbus_set_voltage(SDBus *sdbus, uint16_t millivolts); int sdbus_do_command(SDBus *sd, SDRequest *req, uint8_t *response); void sdbus_write_data(SDBus *sd, uint8_t value); uint8_t sdbus_read_data(SDBus *sd); diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h index 9d3f656441..5951b3fb2d 100644 --- a/include/hw/sd/sdhci.h +++ b/include/hw/sd/sdhci.h @@ -121,6 +121,7 @@ typedef struct SDHCIState { * Spec v3 ***********/ uint8_t slot_type, sdr, strength; + uint8_t uhs_mode; } cap; } SDHCIState; =20 diff --git a/hw/sd/core.c b/hw/sd/core.c index 498284f109..6d198ea775 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -41,6 +41,19 @@ static SDState *get_card(SDBus *sdbus) return SD_CARD(kid->child); } =20 +void sdbus_set_voltage(SDBus *sdbus, uint16_t millivolts) +{ + SDState *card =3D get_card(sdbus); + + trace_sdbus_set_voltage(sdbus_name(sdbus), millivolts); + if (card) { + SDCardClass *sc =3D SD_CARD_GET_CLASS(card); + + assert(sc->set_voltage); + sc->set_voltage(card, millivolts); + } +} + int sdbus_do_command(SDBus *sdbus, SDRequest *req, uint8_t *response) { SDState *card =3D get_card(sdbus); diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 35347a5bbc..609b2da14f 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -128,6 +128,18 @@ struct SDState { bool enable; }; =20 +static void sd_set_voltage(SDState *sd, uint16_t millivolts) +{ + switch (millivolts) { + case 3001 ... 3600: /* SD_VOLTAGE_3_3V */ + case 2001 ... 3000: /* SD_VOLTAGE_3_0V */ + break; + default: + qemu_log_mask(LOG_GUEST_ERROR, "SD card voltage not supported: %.3= fV", + millivolts / 1000.f); + } +} + static void sd_set_mode(SDState *sd) { switch (sd->state) { @@ -1925,6 +1937,7 @@ static void sd_class_init(ObjectClass *klass, void *d= ata) dc->reset =3D sd_reset; dc->bus_type =3D TYPE_SD_BUS; =20 + sc->set_voltage =3D sd_set_voltage; sc->do_command =3D sd_do_command; sc->write_data =3D sd_write_data; sc->read_data =3D sd_read_data; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 37b3b265ef..3846182371 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1162,7 +1162,16 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t va= l, unsigned size) sdhci_update_irq(s); break; case SDHC_ACMD12ERRSTS: - MASKED_WRITE(s->acmd12errsts, mask, value); + MASKED_WRITE(s->acmd12errsts, mask, value & UINT16_MAX); + if (s->cap.uhs_mode >=3D UHS_I) { + MASKED_WRITE(s->hostctl2, mask >> 16, value >> 16); + + if (FIELD_EX32(s->hostctl2, SDHC_HOSTCTL2, V18_ENA)) { + sdbus_set_voltage(&s->sdbus, SD_VOLTAGE_1_8V); + } else { + sdbus_set_voltage(&s->sdbus, SD_VOLTAGE_3_3V); + } + } break; =20 case SDHC_CAPAB: @@ -1244,6 +1253,7 @@ static void sdhci_init_readonly_registers(SDHCIState = *s, Error **errp) DEFINE_PROP_UINT8("slot-type", _state, cap.slot_type, 0), \ DEFINE_PROP_UINT8("bus-speed", _state, cap.sdr, 0), \ DEFINE_PROP_UINT8("driver-strength", _state, cap.strength, 0), \ + DEFINE_PROP_UINT8("uhs", _state, cap.uhs_mode, UHS_NOT_SUPPORTED), \ \ DEFINE_PROP_UINT64("maxcurr", _state, maxcurr, 0) =20 diff --git a/hw/sd/trace-events b/hw/sd/trace-events index c0f51f11d4..f874489980 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -4,6 +4,7 @@ sdbus_command(const char *bus_name, uint8_t cmd, uint32_t arg, uint8_t crc= ) "@%s CMD%02d arg 0x%08x crc 0x%02x" sdbus_read(const char *bus_name, uint8_t value) "@%s value 0x%02x" sdbus_write(const char *bus_name, uint8_t value) "@%s value 0x%02x" +sdbus_set_voltage(const char *bus_name, uint16_t millivolts) "@%s %u (mV)" =20 # hw/sd/sdhci.c sdhci_set_inserted(const char *level) "card state changed: %s" --=20 2.15.1 From nobody Wed May 8 23:50:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1516308564124847.4239759713915; Thu, 18 Jan 2018 12:49:24 -0800 (PST) Received: from localhost ([::1]:53860 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH7e-0006gf-LD for importer@patchew.org; Thu, 18 Jan 2018 15:49:18 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ecH0k-000199-5Z for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:42:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ecH0i-00081J-RY for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:42:10 -0500 Received: from mail-qt0-x244.google.com ([2607:f8b0:400d:c0d::244]:39377) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ecH0i-00080x-Na for qemu-devel@nongnu.org; Thu, 18 Jan 2018 15:42:08 -0500 Received: by mail-qt0-x244.google.com with SMTP id f4so12719141qtj.6 for ; Thu, 18 Jan 2018 12:42:08 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id 24sm5484621qkv.64.2018.01.18.12.42.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 12:42:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+Ala6uhUp8lwaaJzvLv+JorWwig/DcEJUAjnjzR+yIQ=; b=us2ztv6W0q6SNGLi8b2RrNVD/JIarKSKDYhI6JD4Awxy1FiwkPg/jy2n0DsJhCBILC FOqKgHagFsDRbFP1uREs14mnmesXEgUOwGJkGA+kctW5ZAyvzQIFp1fW8CIZW5GjoVJu pXoXsOZrvvmlS3ZUOrAS+tvjugOGB8F1w7fmnEUTmpw2qbJIHoVHJw6gNJBQFfmEy1lA VNdnlAGAQfgOCuBXu3CqVwhOveWLDGbF8Nn58zEdGNWFIX0hKx6nSWUD5qZZqFTD086f aC/CGQERPYf+WOp006R1Gmkuq2XfYli3Y14t9C1tctQ8ySMvJHXniF3QvLcNYmpViXFN +BKg== 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:mime-version:content-transfer-encoding; bh=+Ala6uhUp8lwaaJzvLv+JorWwig/DcEJUAjnjzR+yIQ=; b=JJUxoZFskOv8HEqESuxsh0oy1hy9v0TyX7n/FNTseAq2KSfeNthRh4dE7h0en/BqbV JzrXvJKKQCn2huOGJreN/O3GaZL7YZBVaF4CNhdc25UKIblFvhUPP3YMpD+jk57REJoA bP7gMWsd4b3pI8ADLxGhTBwcy1BNxJf9uJMmx6hZ5xYHOpkqLZLeHIK1u8caclFo6lF/ vVrumaqS06WZ4AplEsKCjhkmkRlKsIeqnsu1TJoDM4Eqt6znjxDue7JsJ/c6gAHUa5PP q3AqHPpalmAfC8+fsGw9OH6E/RMbNn1bCbtfJxjVQDxLVhe7FRcq0jR3pKStaoB8Teci Fnpg== X-Gm-Message-State: AKwxyteCsxtBkV2Vna/ybQ6nfwQvFEfGQrc9mNZSUTPsrYyRL8Y6NpeX GJtPbWbmu/lAizK8vqQlj94= X-Google-Smtp-Source: AH8x225OW74E/9v+C5uFKre9zLiQzT9uCEgLG/1LAXkm2xIWdVgoC8lF1D3xJBoN+TvHvdQhWQ8C1A== X-Received: by 10.55.123.69 with SMTP id w66mr1277686qkc.326.1516308128195; Thu, 18 Jan 2018 12:42:08 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 18 Jan 2018 17:40:58 -0300 Message-Id: <20180118204058.5768-15-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180118204058.5768-1-f4bug@amsat.org> References: <20180118204058.5768-1-f4bug@amsat.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: 2607:f8b0:400d:c0d::244 Subject: [Qemu-devel] [PATCH v7 14/14] sdhci: implement CMD/DAT[] fields in the Present State 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: , Cc: "Edgar E . Iglesias" , Prasad J Pandit , Peter Crosthwaite , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Sai Pavan Boddu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 [based on a patch from Alistair Francis from qemu/xilinx tag xilinx-v2015.2] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sdhci-internal.h | 2 ++ include/hw/sd/sd.h | 4 ++++ hw/sd/core.c | 34 ++++++++++++++++++++++++++++++++++ hw/sd/sd.c | 16 ++++++++++++++++ hw/sd/sdhci.c | 4 ++++ hw/sd/trace-events | 2 ++ 6 files changed, 62 insertions(+) diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h index b82e847636..8bcca39310 100644 --- a/hw/sd/sdhci-internal.h +++ b/hw/sd/sdhci-internal.h @@ -82,6 +82,8 @@ #define SDHC_CARD_PRESENT 0x00010000 #define SDHC_CARD_DETECT 0x00040000 #define SDHC_WRITE_PROTECT 0x00080000 +FIELD(SDHC_PRNSTS, DAT_LVL, 20, 4); +FIELD(SDHC_PRNSTS, CMD_LVL, 24, 1); #define TRANSFERRING_DATA(x) \ ((x) & (SDHC_DOING_READ | SDHC_DOING_WRITE)) =20 diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index f086679493..bf1eb0713c 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -103,6 +103,8 @@ typedef struct { uint8_t (*read_data)(SDState *sd); bool (*data_ready)(SDState *sd); void (*set_voltage)(SDState *sd, uint16_t millivolts); + uint8_t (*get_dat_lines)(SDState *sd); + bool (*get_cmd_line)(SDState *sd); void (*enable)(SDState *sd, bool enable); bool (*get_inserted)(SDState *sd); bool (*get_readonly)(SDState *sd); @@ -150,6 +152,8 @@ void sd_enable(SDState *sd, bool enable); * an SDBus rather than directly with SDState) */ void sdbus_set_voltage(SDBus *sdbus, uint16_t millivolts); +uint8_t sdbus_get_dat_lines(SDBus *sdbus); +bool sdbus_get_cmd_line(SDBus *sdbus); int sdbus_do_command(SDBus *sd, SDRequest *req, uint8_t *response); void sdbus_write_data(SDBus *sd, uint8_t value); uint8_t sdbus_read_data(SDBus *sd); diff --git a/hw/sd/core.c b/hw/sd/core.c index 6d198ea775..3c6eae6c88 100644 --- a/hw/sd/core.c +++ b/hw/sd/core.c @@ -41,6 +41,40 @@ static SDState *get_card(SDBus *sdbus) return SD_CARD(kid->child); } =20 +uint8_t sdbus_get_dat_lines(SDBus *sdbus) +{ + SDState *slave =3D get_card(sdbus); + uint8_t dat_lines =3D 0b1111; /* 4 bit bus width */ + + if (slave) { + SDCardClass *sc =3D SD_CARD_GET_CLASS(slave); + + if (sc->get_dat_lines) { + dat_lines =3D sc->get_dat_lines(slave); + } + } + trace_sdbus_get_dat_lines(sdbus_name(sdbus), dat_lines); + + return dat_lines; +} + +bool sdbus_get_cmd_line(SDBus *sdbus) +{ + SDState *slave =3D get_card(sdbus); + bool cmd_line =3D true; + + if (slave) { + SDCardClass *sc =3D SD_CARD_GET_CLASS(slave); + + if (sc->get_cmd_line) { + cmd_line =3D sc->get_cmd_line(slave); + } + } + trace_sdbus_get_cmd_line(sdbus_name(sdbus), cmd_line); + + return cmd_line; +} + void sdbus_set_voltage(SDBus *sdbus, uint16_t millivolts) { SDState *card =3D get_card(sdbus); diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 609b2da14f..ab9be561d2 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -126,8 +126,20 @@ struct SDState { BlockBackend *blk; =20 bool enable; + uint8_t dat_lines; + bool cmd_line; }; =20 +static uint8_t sd_get_dat_lines(SDState *sd) +{ + return sd->enable ? sd->dat_lines : 0; +} + +static bool sd_get_cmd_line(SDState *sd) +{ + return sd->enable ? sd->cmd_line : false; +} + static void sd_set_voltage(SDState *sd, uint16_t millivolts) { switch (millivolts) { @@ -457,6 +469,8 @@ static void sd_reset(DeviceState *dev) sd->blk_len =3D 0x200; sd->pwd_len =3D 0; sd->expecting_acmd =3D false; + sd->dat_lines =3D 0xf; + sd->cmd_line =3D true; sd->multi_blk_cnt =3D 0; } =20 @@ -1938,6 +1952,8 @@ static void sd_class_init(ObjectClass *klass, void *d= ata) dc->bus_type =3D TYPE_SD_BUS; =20 sc->set_voltage =3D sd_set_voltage; + sc->get_dat_lines =3D sd_get_dat_lines; + sc->get_cmd_line =3D sd_get_cmd_line; sc->do_command =3D sd_do_command; sc->write_data =3D sd_write_data; sc->read_data =3D sd_read_data; diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 3846182371..01e608b6f8 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -910,6 +910,10 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset= , unsigned size) break; case SDHC_PRNSTS: ret =3D s->prnsts; + ret =3D FIELD_DP32(ret, SDHC_PRNSTS, DAT_LVL, + sdbus_get_dat_lines(&s->sdbus)); + ret =3D FIELD_DP32(ret, SDHC_PRNSTS, CMD_LVL, + sdbus_get_cmd_line(&s->sdbus)); break; case SDHC_HOSTCTL: ret =3D s->hostctl1 | (s->pwrcon << 8) | (s->blkgap << 16) | diff --git a/hw/sd/trace-events b/hw/sd/trace-events index f874489980..82efd79bea 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -5,6 +5,8 @@ sdbus_command(const char *bus_name, uint8_t cmd, uint32_t a= rg, uint8_t crc) "@%s sdbus_read(const char *bus_name, uint8_t value) "@%s value 0x%02x" sdbus_write(const char *bus_name, uint8_t value) "@%s value 0x%02x" sdbus_set_voltage(const char *bus_name, uint16_t millivolts) "@%s %u (mV)" +sdbus_get_dat_lines(const char *bus_name, uint8_t dat_lines) "@%s dat_line= s: %u" +sdbus_get_cmd_line(const char *bus_name, bool cmd_line) "@%s cmd_line: %u" =20 # hw/sd/sdhci.c sdhci_set_inserted(const char *level) "card state changed: %s" --=20 2.15.1