From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.220.193 as permitted sender) client-ip=209.85.220.193; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qk0-f193.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.220.193 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qk0-f193.google.com (mail-qk0-f193.google.com [209.85.220.193]) by mx.zohomail.com with SMTPS id 1518732815683502.3401097881774; Thu, 15 Feb 2018 14:13:35 -0800 (PST) Received: by mail-qk0-f193.google.com with SMTP id o7so1600630qkc.1 for ; Thu, 15 Feb 2018 14:13:35 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13:34 -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=X6r1Lr+WqLcAkN/z10LaYSD3k/6fsub4nKFXwBth+tI=; b=bXtFcF3ZRH2oK4bVMz2HYwd/tPdP8tTKE3vgp48ti5+3y3Zoh576hYuRZlMQrPnvZh qrrNntaNPz+SdgfUS2ipp6zEAG0gEwaTsvSQ0Ipek5u0HTtSvRkWlDTzYkh4XKD+yJ9y Fm3KrxfAXFzIbZ5rRnPLbklSP3MblHCC20br8BUSifRuyOMS45iGUAinBVWLo8T0Fhsl u/j62xMcTTwIWs9qPn4igeJtn5QKUXFxIzDsEFI4A+YXGjUFuKOTSPHB6nUdUssVZg/m w6dKpAxGlub6J+NkPj7scFXC4MgWSvuNAv7luPT9/15uCefL+lqXHXTYl+iPHxWhRDhw /d7g== 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=X6r1Lr+WqLcAkN/z10LaYSD3k/6fsub4nKFXwBth+tI=; b=AH+y7CmI6E3Nt8fC4iymq49vzdGh52gsXr5tAK46qcz+m+OhImrHg5cKJrOBvzmLlJ DIO4wG7xquBofYgh476afcwvbviXAPEz1DSbxfn+iV+3QeimmT/gHcUPey5mE0es2/u8 FEilrj9NKWWKCAQWo/ZFFs45HqE8Vg9m9TmmbdLbhVzLst750VSqhlNMbQEBiTerFwBb b2+JH1eQ2Lb8msKSGHERpwIna0DziPU9SsrlmU4+gJuyn5MlbmpOz8qBFiG3MkuNE6G+ 5gj6/MIuQrcCXjqHnjc1vPGDFZMPewWGpQgKparxa+SGF53BQKuT/Dwdtp602WBXkyVC Qaqw== X-Gm-Message-State: APf1xPCl097ybCgAhJA9/GLv4DzPW5UMwqexyEm4ToP2uz8PPWA/9FeD 8wBgUujRJsRMWk6XTSTkYjg= X-Google-Smtp-Source: AH8x227rgFvImNvTzRiMvOI7b9xzN8aDatBlbq68BB79+OT3cGU3Vkp+ADECYFsBckRKpVPn0jJLgg== X-Received: by 10.55.190.65 with SMTP id o62mr6759669qkf.348.1518732814831; Thu, 15 Feb 2018 14:13:34 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 01/20] sdcard: Don't always set the high capacity bit Date: Thu, 15 Feb 2018 19:13:06 -0300 Message-Id: <20180215221325.7611-2-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 Don't set the high capacity bit by default as it will be set if required in the sd_set_csd() function. [based on a patch from Alistair Francis and Peter Ogden from qemu/xilinx tag xilinx-v2015.4] Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index fbee87afef..9dfbd65ac8 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -291,6 +291,10 @@ static void sd_ocr_powerup(void *opaque) =20 /* card power-up OK */ sd->ocr =3D FIELD_DP32(sd->ocr, OCR, CARD_POWER_UP, 1); + + if (sd->size > 1 * G_BYTE) { + sd->ocr =3D FIELD_DP32(sd->ocr, OCR, CARD_CAPACITY, 1); + } } =20 static void sd_set_scr(SDState *sd) @@ -395,7 +399,6 @@ static void sd_set_csd(SDState *sd, uint64_t size) sd->csd[13] =3D 0x40; sd->csd[14] =3D 0x00; sd->csd[15] =3D 0x00; - sd->ocr |=3D 1 << 30; /* High Capacity SD Memory Card */ } } =20 --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.216.194 as permitted sender) client-ip=209.85.216.194; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qt0-f194.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.216.194 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by mx.zohomail.com with SMTPS id 151873281854366.49692938008377; Thu, 15 Feb 2018 14:13:38 -0800 (PST) Received: by mail-qt0-f194.google.com with SMTP id a9so1617422qtj.8 for ; Thu, 15 Feb 2018 14:13:38 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13:37 -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=pi94/C0kJxIXKC2F9WAbcHN0C/EVO11wGCO88vvwDt8=; b=NwiPrkv58DMpG9cteCkRdiM5RiYN7jHpMypgMyiZPjLCtzi9d824BECejiE/2IJeHX nnFVVIJ6dgj3JeiXdOBJFwvd37PZAT/J7vLQwBd3izeDliYFt67AuOZgDAxSHSwcVrvI 5WxPltMst4ynP4JioP4scbcIjbXvWulJZ5P+jIipi7GWKCYQJwr6HeDyy+EQ6CXGFpkE 5qcvQXzDca3Z2NJ0ovFJXMu8mlfrxbAnlKh53eYP3pGgP/GPUjxywhAOINP6w93TD7Yf TCdjC3n9uT0sERkObh0Q0NMFxNOU30lqFuSVxfZpLCm/2mfAJZh5CcX4snQe7JP7A9h1 b08A== 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=pi94/C0kJxIXKC2F9WAbcHN0C/EVO11wGCO88vvwDt8=; b=aerN3RtyB4BQfyjMyV9lNVw0O8KYx0qT1TIhjc1Ub9nRGDZeMgy3M/85GKpnYUs+Nu GGqGW8BBA8zemYU2WiC17zPVRPo67kScMXSjEj35rwUdXz0ydHKhFZ7e2XRJ4Ui+/DGs /ThMdIoELVf5ZPLWqdpuSJq3R4c76EDnvE63GplY6iBNGekLRcCahlRw1S1JJOaCHTAa orfzh/+3WEhu/ekKo964fyXlhFPOOPNnMZVSf5t49q1b+GUdQ5CRTp4EK+8j8SiS0o6c rAspxDaFPbA2zeNxcs1lARy9OIHhXTD/cREr4ab3hk6Grks1fDDd6lKv5Y/Dvi7nUJ4O 5NXA== X-Gm-Message-State: APf1xPCp4B9PQGMZF8WyEA6A5WHqZi6eFVxewrFdJdAFFSKfDIw/qAsR TZA8Ik3IXW5WjoGyCIl/ZwI= X-Google-Smtp-Source: AH8x227yA8W6hLQNH7dkMZ4qjWwUMm11rfdF2ZCzs65AV/k3AWTcHQoUoJiWOYYa5Gt0J5A3bd1c/g== X-Received: by 10.200.12.2 with SMTP id k2mr6606856qti.201.1518732817647; Thu, 15 Feb 2018 14:13:37 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 02/20] sdcard: update the CSD CRC register regardless the CSD structure version Date: Thu, 15 Feb 2018 19:13:07 -0300 Message-Id: <20180215221325.7611-3-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 9dfbd65ac8..c1ba098d86 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -379,7 +379,6 @@ static void sd_set_csd(SDState *sd, uint64_t size) sd->csd[13] =3D 0x20 | /* Max. write data block length */ ((HWBLOCK_SHIFT << 6) & 0xc0); sd->csd[14] =3D 0x00; /* File format group */ - sd->csd[15] =3D (sd_crc7(sd->csd, 15) << 1) | 1; } else { /* SDHC */ size /=3D 512 * 1024; size -=3D 1; @@ -398,8 +397,8 @@ static void sd_set_csd(SDState *sd, uint64_t size) sd->csd[12] =3D 0x0a; sd->csd[13] =3D 0x40; sd->csd[14] =3D 0x00; - sd->csd[15] =3D 0x00; } + sd->csd[15] =3D (sd_crc7(sd->csd, 15) << 1) | 1; } =20 static void sd_set_rca(SDState *sd) --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.216.195 as permitted sender) client-ip=209.85.216.195; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qt0-f195.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.216.195 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by mx.zohomail.com with SMTPS id 1518732821382322.4616947336755; Thu, 15 Feb 2018 14:13:41 -0800 (PST) Received: by mail-qt0-f195.google.com with SMTP id u6so1590470qtg.13 for ; Thu, 15 Feb 2018 14:13:41 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13:39 -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=Uwu8xbn0x717akfoKyI3g/RO1GgukW1qatBlfGgGfRg=; b=FbZSGB5zeayDbF6LYrrHlSpE//3P1A0MEsNeSKSI0HE/azCyhfee985HPWd5KpldcJ DywsZrChv7zazOAdeaym2PyMRPpOnDHE2UNADh+OgP/9qwNyG8HFCYSwzg4NH689Iffc 3B1+6fnwgCOYTQTc7GHtM0LwviTmfGtfR+FfmEbr8C+kP45lryi1yH592vQAxOVK0aR4 T3iZjb9JaoTCrOv1e+IyYmXsR2tY98wvX53qIqnoyENIOvWO1EB4qJEjojyXf95Z4juN ufm13b1zFrsY6yrAgAM2nkBVWPJ2+UALOsGviWmA14kg2nSx9m1PMDzZIgQ4sckGZz0E HBSg== 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=Uwu8xbn0x717akfoKyI3g/RO1GgukW1qatBlfGgGfRg=; b=lOsh90+ZcZFAw3+ENDJaYq9QC4CcBMIFO4QY3na9roF9adrou8fkcyBv+t2Gb4CEj0 KDOpwwX/JH7pvx6zx9je94BDAVHPJzbqZDMp9wyXONd79H7utu7f9PCL+BoTZJWnLwcz Da9GNzMTpeVWkhkfNaCZ2DhmhH8nN4hgwpqNPuk1v+AYyqZiXNNconEUoecqUBURq65F R/MMn/k86W1fXHflniT1dZOQ7Epkmq9hUdYnjHl6G74KMwtkVwrQHLnSkKaYm+f5bfTV BlXXdSQ/zvmrkEXQ2Q+TmRsgpKW5fTtenY1Mrn0yB+tCg2szsM8VrO4DitIfO6dUmwl3 ajew== X-Gm-Message-State: APf1xPBSqI+kPQPDqd9JqainrjBxpntrP+fuS+E2rOPG/xV903uSr6Eq RVoN/vEo6NUQtjFTfLzPlto= X-Google-Smtp-Source: AH8x225It0sHThOk/Ws1xfdZOKYY2RmcYF4+X53RVlBk4+0N9VCNnYekSOyuYsKkf1xHxJ4xkNqavA== X-Received: by 10.200.11.204 with SMTP id p12mr1646981qti.113.1518732820489; Thu, 15 Feb 2018 14:13:40 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 03/20] sdcard: fix the 'maximum data transfer rate' to 25MHz Date: Thu, 15 Feb 2018 19:13:08 -0300 Message-Id: <20180215221325.7611-4-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 To comply with Spec v1.10 (and 2.00, 3.01): . TRAN_SPEED for current SD Memory Cards that field must be always 0_0110_010b (032h) wh= ich is equal to 25MHz - the mandatory maximum operating frequency of SD Memory Car= d. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index c1ba098d86..14c1cb1332 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -358,7 +358,7 @@ static void sd_set_csd(SDState *sd, uint64_t size) sd->csd[0] =3D 0x00; /* CSD structure */ sd->csd[1] =3D 0x26; /* Data read access-time-1 */ sd->csd[2] =3D 0x00; /* Data read access-time-2 */ - sd->csd[3] =3D 0x5a; /* Max. data transfer rate */ + sd->csd[3] =3D 0x32; /* Max. data transfer rate: 25 MHz */ sd->csd[4] =3D 0x5f; /* Card Command Classes */ sd->csd[5] =3D 0x50 | /* Max. read data block length */ HWBLOCK_SHIFT; --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.216.195 as permitted sender) client-ip=209.85.216.195; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qt0-f195.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.216.195 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by mx.zohomail.com with SMTPS id 1518732824305935.4849115895726; Thu, 15 Feb 2018 14:13:44 -0800 (PST) Received: by mail-qt0-f195.google.com with SMTP id d14so1646292qtg.1 for ; Thu, 15 Feb 2018 14:13:44 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13:42 -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=BzvP41FXfx+hLp5BJ2liuCmK4mWYkQNn8z2DqUMJE2g=; b=PSWGBvnFihaVr68E+pNrOZ+zydYkb1VCye6e4inMbGiwR/t3fAtCojnLYfB1BkMDRw FDmVjpPWcpPjIdXsrDofYxPiqJPT6ykx76gC3te/NpKsri8PnCz2/l1gMGRPtVTI+SfC zuB18luKq2CPGzBOH8h46tOyD97vQraX39p6rYJVPEkEFN4akxrW073O9JPq3JKSyzPg sWBz5qUifT5onLrqwWDgNli1N80OVoFpWhhJ4snrPfKyFGzLW8GrKzQFgIj4N+Eo9xJS LGTByiFEjA9bu/naXj2FV1l8UcMF8LKuCCLzMVJ0pItjyuSzCbGhW2eYCziA2uwrdEcL pjdA== 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=BzvP41FXfx+hLp5BJ2liuCmK4mWYkQNn8z2DqUMJE2g=; b=Qa4lA52Ht0RAnKd2DCH4/8fuKbjJaKhoR5kWhCHojDYqkIDsTfczyORsVosxhdOFUF 4I/PEXQDYfjVUUG3NYRmcubyWkRZ4gPsEYkCaMvSoybiwj4GZefiXvHtdQOxmVOm97YE m83BTtsSZBHDr+NJj8pjDmPaIty73Z3y23OFxFM4qHVDIV+tQ/Z8MIg9e/K/1R9ULMZP coFl+N6ODTS3FfGD7ZGbOycvBAmNpIFZqvCTlF95uTWNQzL80QrZ9On5brg2qqyZE42Z G5x6ChkI2zRqK22OytREZZ66cani2IOHEqET24aIc79FEm8FvhZgGBYO7XToMKpOYxun MD6g== X-Gm-Message-State: APf1xPCOm48u98rSuAZ7STkTIQlayRYJg6OZV8+A1vSBg4mYuFWbNNIB WkW94bO4wtpjqxVhyz/e4NI= X-Google-Smtp-Source: AH8x226ULApYTUC7YkDsCplnNedoaguVWkUB8kCmZxRtg67bIOsrt/Au4oJZO4xUbqQPRYL61hVCjQ== X-Received: by 10.200.47.101 with SMTP id k34mr6952332qta.151.1518732823448; Thu, 15 Feb 2018 14:13:43 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 04/20] sdcard: clean the SCR register and add few comments Date: Thu, 15 Feb 2018 19:13:09 -0300 Message-Id: <20180215221325.7611-5-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 14c1cb1332..41fac9a4aa 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -299,10 +299,13 @@ static void sd_ocr_powerup(void *opaque) =20 static void sd_set_scr(SDState *sd) { - sd->scr[0] =3D 0x00; /* SCR Structure */ - sd->scr[1] =3D 0x2f; /* SD Security Support */ - sd->scr[2] =3D 0x00; + sd->scr[0] =3D (0 << 4) /* SCR version 1.0 */ + | 0; /* Spec Versions 1.0 and 1.01 */ + sd->scr[1] =3D (2 << 4) /* SDSC Card (Security Version 1.01) */ + | 0b0101; /* 1-bit or 4-bit width bus modes */ + sd->scr[2] =3D 0x00; /* Extended Security is not supported. */ sd->scr[3] =3D 0x00; + /* reserved for manufacturer usage */ sd->scr[4] =3D 0x00; sd->scr[5] =3D 0x00; sd->scr[6] =3D 0x00; --=20 2.16.1 From nobody Sun May 19 14:14:19 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 1518733405816517.9921711577254; Thu, 15 Feb 2018 14:23:25 -0800 (PST) Received: from localhost ([::1]:37135 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emRw4-0007Es-U1 for importer@patchew.org; Thu, 15 Feb 2018 17:23:24 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58391) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emRmm-0004rp-UI for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:13:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emRml-000581-3R for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:13:48 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:36888) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1emRmk-00057l-VN for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:13:47 -0500 Received: by mail-qk0-x242.google.com with SMTP id c128so1585957qkb.4 for ; Thu, 15 Feb 2018 14:13:46 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13:45 -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=3sYbU26YPtj8djs+HVB+zlcp/q5gQEltkqA7k7Ht120=; b=eREG+zj3BGJ58PqNrsVwIZIVjgbzGKR6N+tKUvaAJydIbL3e2bek6tKAVkW6GfwLM2 7mFqFFE8TaOqqm+1f5Tuh0dwCUP8jKYu1aFjQZo7gyF4y0X2jkuEFdz/JuGLjNnG9WIw uDStMSGqn514PPhAm3qkqlIG9VdUJgMxHSALt+xtZM3iqJ9EMhWFNLqmDRruk5FMX65W dsnBsEsyQpeLfToyiawPVKY82EAEY8+DIFym7vU7bL6UGk+6pYo0zdDMV7nsRETiivc+ TDS+mX4YyKFn86v58BTm3JLPG+xnzhYsph6TV7skO5NaUZODVIG1jGRIF6Bm7pAVoNCf dP3w== 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=3sYbU26YPtj8djs+HVB+zlcp/q5gQEltkqA7k7Ht120=; b=Q5a21LCANzT3b0xgHG9Y7N2/TAm/P4ttvyz23+2thZuehtXxKyah+vbep984zKFno/ j10EYtCngAHE1nDeshleqpPex/LUmbmTijrjQXD3CZivF7Vy6J29xqeAmHG7o8VLYW2w ljkpssHKyd7arUlqwpQM1n1pMyPCM2pDLfKpEYI2U6yXl4oGBn0gSbc7jpR6r01u3pnx 3tTxAAFAZs3bT74fv7qUGI+w2MqZADioRcKFbzQ89sfQ0IQfXJM2q4t2i7obKPgRUSZf hQbH1lTwlmQanaLXPgXj/AYJiFJVFHRm10E/9psli6jazMslvuMXaPZ5bZZphdnPzwzO tx9g== X-Gm-Message-State: APf1xPCkzlIEkI39iZgvTiqSlkGX+fm5OIgT/mCbNaJac5qfm5P9TqwY hgIWgjghu7mYYvKMPlZWjWY= X-Google-Smtp-Source: AH8x2245DjHKrvWWju3FNVFdZxzxTozNOH0qS/IKavl9+y+D1qNMr5AHX80Dtfl6FFra702qfv2p6g== X-Received: by 10.55.130.195 with SMTP id e186mr6753260qkd.346.1518732826568; Thu, 15 Feb 2018 14:13:46 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Thu, 15 Feb 2018 19:13:10 -0300 Message-Id: <20180215221325.7611-6-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-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:c09::242 Subject: [Qemu-devel] [PATCH v4 05/20] sdcard: remove commands from unsupported old MMC specification 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 , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org 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 This device does not model MMCA Specification previous to v4.2 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 41fac9a4aa..4267919ce0 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1041,24 +1041,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) } break; =20 - case 11: /* CMD11: READ_DAT_UNTIL_STOP */ - if (sd->spi) - goto bad_cmd; - switch (sd->state) { - case sd_transfer_state: - sd->state =3D sd_sendingdata_state; - sd->data_start =3D req.arg; - sd->data_offset =3D 0; - - if (sd->data_start + sd->blk_len > sd->size) - sd->card_status |=3D ADDRESS_ERROR; - return sd_r0; - - default: - break; - } - break; - case 12: /* CMD12: STOP_TRANSMISSION */ switch (sd->state) { case sd_sendingdata_state: @@ -1871,21 +1853,6 @@ uint8_t sd_read_data(SDState *sd) sd->state =3D sd_transfer_state; break; =20 - case 11: /* CMD11: READ_DAT_UNTIL_STOP */ - if (sd->data_offset =3D=3D 0) - BLK_READ_BLOCK(sd->data_start, io_len); - ret =3D sd->data[sd->data_offset ++]; - - if (sd->data_offset >=3D io_len) { - sd->data_start +=3D io_len; - sd->data_offset =3D 0; - if (sd->data_start + io_len > sd->size) { - sd->card_status |=3D ADDRESS_ERROR; - break; - } - } - break; - case 13: /* ACMD13: SD_STATUS */ ret =3D sd->sd_status[sd->data_offset ++]; =20 --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.220.196 as permitted sender) client-ip=209.85.220.196; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qk0-f196.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.220.196 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by mx.zohomail.com with SMTPS id 15187328304631017.4910305109072; Thu, 15 Feb 2018 14:13:50 -0800 (PST) Received: by mail-qk0-f196.google.com with SMTP id f25so1599476qkm.0 for ; Thu, 15 Feb 2018 14:13:50 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13:49 -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=+o/tOAGRIQrxcfEw3+duf8s/pqAsMrbZpOfd+DdBACU=; b=PaIi9N6w1i8HLVKr5yE7wV11noXZgkNHgGBjGXchHTbB/mD4KGHl8Gg+rOYDXsNkNS /ctXHjHL5LoTD71RGhilp0EzF2PL1ZSGLmC8n9+i7EwH0On8MGt93lJtqtx4HZyvYdcb 6pN1+hmDeRaVNgJbHuU6ERC/7rce1JiTaPPOBWODe45QyKZX3iPE6U0cdZOwk+pufVat /ixMmfpxxprhJ8lQCcx371V5TecWM2b7JI0m0YiTVYqHwn8Eq9L8oU3IbKI9ZMA5ArNE sauo7ZPjY4CALcbmFcr/GobZUvf25QXwitN3Rgf7xcYk7/M4FqYeD+MN+bInb3q7uRYZ +lBw== 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=+o/tOAGRIQrxcfEw3+duf8s/pqAsMrbZpOfd+DdBACU=; b=J/S8+cFuFAa7rBM3agi0zzxNuu5Jil3DK7bM12ToU4JT+SwTuxDYUh0z+hv5hXjojr w+9dq00ZEM2g/bL0zB2Qz60oDHnEoT4e9KUHzzlcE1N7AHSkZO/3UAIU/jahaP/g1Ezs McRYPm7A0v2mSD2KhCuuid5Xgez2bI32YRXWerw0ZqH6HF85OmVaB80VEpAhn4OMck/2 k4ZUJXt2lPL+t5VjxBzK2TFXTLGflaYCrXHhNEDOlwZ39jb022HBZPxUsq99ZYV0af9t WivHBR5np7p88RoYTYiefopAc8PRzhQYCyxJEcgdHexhTUfhmI5PKX/Khh13DtgzILBM ZZnw== X-Gm-Message-State: APf1xPAUHxvyijOX15uIPK5wqhMvQavjUjsxawPgNfA1WcCBUSI40K/1 lrwEmbB25ZUqbALO/2Wuwa0= X-Google-Smtp-Source: AH8x226hTt2cGxSl7KC8mWMToq+EVd0wxsPR/S3wVJwgUDDXeGUcQ+zeWIOoQKix9pcH4wz0F415+w== X-Received: by 10.55.142.71 with SMTP id q68mr6582779qkd.40.1518732829560; Thu, 15 Feb 2018 14:13:49 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 06/20] sdcard: simplify using the ldst API Date: Thu, 15 Feb 2018 19:13:11 -0300 Message-Id: <20180215221325.7611-7-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 the code is easier to review/refactor. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 4267919ce0..b43baa2edd 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -432,57 +432,39 @@ static int sd_req_crc_validate(SDRequest *req) { uint8_t buffer[5]; buffer[0] =3D 0x40 | req->cmd; - buffer[1] =3D (req->arg >> 24) & 0xff; - buffer[2] =3D (req->arg >> 16) & 0xff; - buffer[3] =3D (req->arg >> 8) & 0xff; - buffer[4] =3D (req->arg >> 0) & 0xff; + stl_be_p(&buffer[1], req->arg); return 0; return sd_crc7(buffer, 5) !=3D req->crc; /* TODO */ } =20 static void sd_response_r1_make(SDState *sd, uint8_t *response) { - uint32_t status =3D sd->card_status; + stl_be_p(response, sd->card_status); + /* Clear the "clear on read" status bits */ sd->card_status &=3D ~CARD_STATUS_C; - - response[0] =3D (status >> 24) & 0xff; - response[1] =3D (status >> 16) & 0xff; - response[2] =3D (status >> 8) & 0xff; - response[3] =3D (status >> 0) & 0xff; } =20 static void sd_response_r3_make(SDState *sd, uint8_t *response) { - response[0] =3D (sd->ocr >> 24) & 0xff; - response[1] =3D (sd->ocr >> 16) & 0xff; - response[2] =3D (sd->ocr >> 8) & 0xff; - response[3] =3D (sd->ocr >> 0) & 0xff; + stl_be_p(response, sd->ocr); } =20 static void sd_response_r6_make(SDState *sd, uint8_t *response) { - uint16_t arg; uint16_t status; =20 - arg =3D sd->rca; status =3D ((sd->card_status >> 8) & 0xc000) | ((sd->card_status >> 6) & 0x2000) | (sd->card_status & 0x1fff); sd->card_status &=3D ~(CARD_STATUS_C & 0xc81fff); - - response[0] =3D (arg >> 8) & 0xff; - response[1] =3D arg & 0xff; - response[2] =3D (status >> 8) & 0xff; - response[3] =3D status & 0xff; + stw_be_p(response + 0, sd->rca); + stw_be_p(response + 2, status); } =20 static void sd_response_r7_make(SDState *sd, uint8_t *response) { - response[0] =3D (sd->vhs >> 24) & 0xff; - response[1] =3D (sd->vhs >> 16) & 0xff; - response[2] =3D (sd->vhs >> 8) & 0xff; - response[3] =3D (sd->vhs >> 0) & 0xff; + stl_be_p(response, sd->vhs); } =20 static inline uint64_t sd_addr_to_wpnum(uint64_t addr) @@ -728,7 +710,7 @@ static uint32_t sd_wpbits(SDState *sd, uint64_t addr) =20 static void sd_function_switch(SDState *sd, uint32_t arg) { - int i, mode, new_func, crc; + int i, mode, new_func; mode =3D !!(arg & 0x80000000); =20 sd->data[0] =3D 0x00; /* Maximum current consumption */ @@ -752,9 +734,7 @@ static void sd_function_switch(SDState *sd, uint32_t ar= g) sd->data[14 + (i >> 1)] =3D new_func << ((i * 4) & 4); } memset(&sd->data[17], 0, 47); - crc =3D sd_crc16(sd->data, 64); - sd->data[65] =3D crc >> 8; - sd->data[66] =3D crc & 0xff; + stw_be_p(sd->data + 65, sd_crc16(sd->data, 64)); } =20 static inline bool sd_wp_addr(SDState *sd, uint64_t addr) --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.216.195 as permitted sender) client-ip=209.85.216.195; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qt0-f195.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.216.195 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by mx.zohomail.com with SMTPS id 1518732833166702.4605128370656; Thu, 15 Feb 2018 14:13:53 -0800 (PST) Received: by mail-qt0-f195.google.com with SMTP id k13so1634077qtg.5 for ; Thu, 15 Feb 2018 14:13:52 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13:51 -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=v8J0cgJfZiMQFBGPXVMglqaG+uomzPi6vpMeIWRfanc=; b=tiKmr2RNgvTANHgpXZ9vpGTJ1XeNLdRy7uZOaecrLpMJfHe8HNY1KG0wugxDcUaH+1 mosnTcVJMHiM4WS8udPtrL55uornEPzjD4jZQdWQIu41afadkTdMr/R4VpFU1hSAjHqr O+BU+d9kL92rZCyb77HWSxFx9J2vNVMNz3mp2FrRWZNLg/zwbqgalw6g+nPVN/8GN2Ps eg4KaQkYi1+F6zC38+jPgtBl6uDWM8djUiRPVmrCWfgsnA6pKPmYDD0Aclh9+rrJq8P7 QB8NSpp9tUCWW8EyuvhxWAtA0muhTUpRlaot6qCRI8PEfASSxkxl+f3FAbvmQXxLFpxf 5fMQ== 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=v8J0cgJfZiMQFBGPXVMglqaG+uomzPi6vpMeIWRfanc=; b=U51GvmHE9SF5XgudAFd+7EbN4AaJSHg6Lo6CJ5R+zS8Sv4osTYVeUsL78DDwOtKzo8 sgKdUGlKbHhBU0UrPqbFshUtb4jIhxX+qMAnRwGH5W213JC8t528mDT2ca5wM2Kkq4qK iDJ3JZocUxUHFVLYvs+ypjG2UyZwLiH/BlsgM5cBm3eQtO32t7UeapffVJa+GZGkY8uG 8dv+LcPntIR8ZAwU+IrfYEct4nQU7nz+u8I5sU+V/j91VL6QKIsfSh9EPkNgXrn7ThH1 p3W2T1nWIU6EZupFnphIoEBGYNwNl5U4tWSXYnPFwifplFvwhw38MZKlw5rgpVzDF/zJ 60/Q== X-Gm-Message-State: APf1xPCSjurSBnjpU1966FnKzRrOpmY63jplnQ2DN0JywCD0Ol6v/Iv3 +amhlLkyWFZVVV+e6a5cQgU= X-Google-Smtp-Source: AH8x226c7xt1IhHH/kv6W5WsUrtVfD+L2Fi61m23mOVWu//dhBrZwqrbUTuvkGZBeOBdVYScatEkDQ== X-Received: by 10.200.13.9 with SMTP id q9mr6900798qti.133.1518732832330; Thu, 15 Feb 2018 14:13:52 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 07/20] sdcard: use the correct masked OCR in the R3 reply Date: Thu, 15 Feb 2018 19:13:12 -0300 Message-Id: <20180215221325.7611-8-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 use the registerfields API to access the OCR register Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index b43baa2edd..3970e590e6 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -47,8 +47,6 @@ =20 //#define DEBUG_SD 1 =20 -#define ACMD41_ENQUIRY_MASK 0x00ffffff - typedef enum { sd_r0 =3D 0, /* no response */ sd_r1, /* normal response command */ @@ -273,13 +271,26 @@ static uint16_t sd_crc16(void *message, size_t width) =20 #define OCR_POWER_DELAY_NS 500000 /* 0.5ms */ =20 +FIELD(OCR, VDD_VOLTAGE_WINDOW, 0, 24) +FIELD(OCR, VDD_VOLTAGE_WIN_LO, 0, 8) +FIELD(OCR, DUAL_VOLTAGE_CARD, 7, 1) +FIELD(OCR, VDD_VOLTAGE_WIN_HI, 8, 16) +FIELD(OCR, ACCEPT_SWITCH_1V8, 24, 1) /* Only UHS-I */ +FIELD(OCR, UHS_II_CARD, 29, 1) /* Only UHS-II */ FIELD(OCR, CARD_CAPACITY, 30, 1) /* 0:SDSC, 1:SDHC/SDXC */ FIELD(OCR, CARD_POWER_UP, 31, 1) =20 +#define ACMD41_ENQUIRY_MASK 0x00ffffff +#define ACMD41_R3_MASK (R_OCR_VDD_VOLTAGE_WIN_HI_MASK \ + | R_OCR_ACCEPT_SWITCH_1V8_MASK \ + | R_OCR_UHS_II_CARD_MASK \ + | R_OCR_CARD_CAPACITY_MASK \ + | R_OCR_CARD_POWER_UP_MASK) + static void sd_set_ocr(SDState *sd) { - /* All voltages OK, Standard Capacity SD Memory Card, not yet powered = up */ - sd->ocr =3D 0x00ffff00; + /* All voltages OK */ + sd->ocr =3D R_OCR_VDD_VOLTAGE_WIN_HI_MASK; } =20 static void sd_ocr_powerup(void *opaque) @@ -447,7 +458,7 @@ static void sd_response_r1_make(SDState *sd, uint8_t *r= esponse) =20 static void sd_response_r3_make(SDState *sd, uint8_t *response) { - stl_be_p(response, sd->ocr); + stl_be_p(response, sd->ocr & ACMD41_R3_MASK); } =20 static void sd_response_r6_make(SDState *sd, uint8_t *response) --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.216.193 as permitted sender) client-ip=209.85.216.193; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qt0-f193.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.216.193 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by mx.zohomail.com with SMTPS id 1518732836169143.49201972118317; Thu, 15 Feb 2018 14:13:56 -0800 (PST) Received: by mail-qt0-f193.google.com with SMTP id d26so1606228qtk.10 for ; Thu, 15 Feb 2018 14:13:55 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13: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=GR8wHPdHdpS5dBST2WtNwtDGIFZ+5svtP9pjrvMDJi8=; b=apb8XdiZJQMAzqjW8fKBoLdFrvKx1hJ7fojlNIBO4zLFftvbzTz2QBS5pMqjPfDSYk zh0t7jkFwgrAYUAItaMm0kbNBYq4GJZEHWkwSK3S8xVXZ3PyvwOlqtVNZPKjoCWysGRB Wl0ZEalXIvcSbwWnSoV0XjhDT/pm5RUKOpvEphRnuWRAhwt4f82l1dhk9BIKxFfw6fTu c8Ly4qnjvcg+ZhDwgLzDg1dtdeezYWvzt8F05tiXUnbAJMWf2648+WaMIowX3UoSHCpU AqkT99r3hsyVZtZnyajLUfYmIdUNTIsbPJm6M0RiqI2Cse+v7/6MSVi49Wt5oUSvLrAm 1aig== 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=GR8wHPdHdpS5dBST2WtNwtDGIFZ+5svtP9pjrvMDJi8=; b=L21BxIES1KM4U9PLidPNnj64MnvuCePmZTckDeYatvlZCYyhnVCD4HzQ2V8Kno7iYU cRvSZSDfjc7lQlMIHz6sXLD4zRugWTeXTBGkd4YrhktREbPJpYznn3LRFPUs8vUoDucB 1GCBsOGCOc2i6VKBCZ6RaElXspGrE6Zx1LjBHmZ5i3Iriou5MAHb4La4oGY2C8q+hnJl oFoQiUf8MzjFAynZ+Ut1eNDpg8Xc+fBtWXBJUu17n3pUj3kNOBs71IGuTT6JnOX0s6TI 0E16XVtVt98tzCPgO4ajAqi7sK/ghZnvq3wFGLidmi4vwarVYTHTpAted+1jHFHFBs3v DvNQ== X-Gm-Message-State: APf1xPDqOlxKG0iih8zZ4+6yLUJnGcCB4my5YXR5bPo4xtcjbrCjoOs2 9tfhFRtAEp601ohQV2vZTzM= X-Google-Smtp-Source: AH8x225aBNfi9qbDjUCXS+ddyUWdsUowChslwwrKqlbN1Ab/a62IpK5M5y0dj4UA/FeZzUaFYf1pYw== X-Received: by 10.237.48.196 with SMTP id 62mr6729665qtf.39.1518732835319; Thu, 15 Feb 2018 14:13:55 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 08/20] sdcard: use the registerfields API for the CARD_STATUS register masks Date: Thu, 15 Feb 2018 19:13:13 -0300 Message-Id: <20180215221325.7611-9-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Alistair Francis --- hw/sd/sd.c | 48 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 3970e590e6..b567c44da8 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -420,14 +420,56 @@ static void sd_set_rca(SDState *sd) sd->rca +=3D 0x4567; } =20 +FIELD(CSR, AKE_SEQ_ERROR, 3, 1) +FIELD(CSR, APP_CMD, 5, 1) +FIELD(CSR, FX_EVENT, 6, 1) +FIELD(CSR, READY_FOR_DATA, 8, 1) +FIELD(CSR, CURRENT_STATE, 9, 4) +FIELD(CSR, ERASE_RESET, 13, 1) +FIELD(CSR, CARD_ECC_DISABLED, 14, 1) +FIELD(CSR, WP_ERASE_SKIP, 15, 1) +FIELD(CSR, CSD_OVERWRITE, 16, 1) +FIELD(CSR, DEFERRED_RESPONSE, 17, 1) +FIELD(CSR, ERROR, 19, 1) +FIELD(CSR, CC_ERROR, 20, 1) +FIELD(CSR, CARD_ECC_FAILED, 21, 1) +FIELD(CSR, ILLEGAL_COMMAND, 22, 1) +FIELD(CSR, COM_CRC_ERROR, 23, 1) +FIELD(CSR, LOCK_UNLOCK_FAILED, 24, 1) +FIELD(CSR, CARD_IS_LOCKED, 25, 1) +FIELD(CSR, WP_VIOLATION, 26, 1) +FIELD(CSR, ERASE_PARAM, 27, 1) +FIELD(CSR, ERASE_SEQ_ERROR, 28, 1) +FIELD(CSR, BLOCK_LEN_ERROR, 29, 1) +FIELD(CSR, ADDRESS_ERROR, 30, 1) +FIELD(CSR, OUT_OF_RANGE, 31, 1) + /* Card status bits, split by clear condition: * A : According to the card current state * B : Always related to the previous command * C : Cleared by read */ -#define CARD_STATUS_A 0x02004100 -#define CARD_STATUS_B 0x00c01e00 -#define CARD_STATUS_C 0xfd39a028 +#define CARD_STATUS_A (R_CSR_READY_FOR_DATA_MASK \ + | R_CSR_CARD_ECC_DISABLED_MASK \ + | R_CSR_CARD_IS_LOCKED_MASK) +#define CARD_STATUS_B (R_CSR_CURRENT_STATE_MASK \ + | R_CSR_ILLEGAL_COMMAND_MASK \ + | R_CSR_COM_CRC_ERROR_MASK) +#define CARD_STATUS_C (R_CSR_AKE_SEQ_ERROR_MASK \ + | R_CSR_APP_CMD_MASK \ + | R_CSR_ERASE_RESET_MASK \ + | R_CSR_WP_ERASE_SKIP_MASK \ + | R_CSR_CSD_OVERWRITE_MASK \ + | R_CSR_ERROR_MASK \ + | R_CSR_CC_ERROR_MASK \ + | R_CSR_CARD_ECC_FAILED_MASK \ + | R_CSR_LOCK_UNLOCK_FAILED_MASK \ + | R_CSR_WP_VIOLATION_MASK \ + | R_CSR_ERASE_PARAM_MASK \ + | R_CSR_ERASE_SEQ_ERROR_MASK \ + | R_CSR_BLOCK_LEN_ERROR_MASK \ + | R_CSR_ADDRESS_ERROR_MASK \ + | R_CSR_OUT_OF_RANGE_MASK) =20 static void sd_set_cardstatus(SDState *sd) { --=20 2.16.1 From nobody Sun May 19 14:14:19 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 1518734379368716.5227748438608; Thu, 15 Feb 2018 14:39:39 -0800 (PST) Received: from localhost ([::1]:38355 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emSBm-0007MO-9l for importer@patchew.org; Thu, 15 Feb 2018 17:39:38 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58462) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emRmx-00056E-LH for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emRmw-0005EK-Q7 for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:13:59 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:32840) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1emRmw-0005Dy-L2 for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:13:58 -0500 Received: by mail-qk0-x242.google.com with SMTP id f25so1599883qkm.0 for ; Thu, 15 Feb 2018 14:13:58 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:13:57 -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=jjl46n0ins86gAcUJzilc1tDvB2wUCcovj5ZA8LfLYE=; b=B7aJr92dzats9TVDe/sIcN3eE5aIud+DpunGvIu44cTyg1j8BiG23pjDE4vgHKuqqd Vk1BolhkPEQS4t501g88DSKkGvX9/NeyfNUzE56G7WEzlnFZSoP6BmZ2i8PEKF15tdEE KTfG0HSftJ1iWoEHgR9DkKrGBJfkfCcV7fT/cXUx4Ej8HgtxREO7gD6JvPonhzru3Avd vhlfS+hx9DoI3L2yxhefVJH6os3yh3kqmoEO+B45NJrQ4XK/defXUVdOXck/z2U8mkH0 R2V06PoY4EswgJLxmCouuCs5hCOU79hrImk0XrXR79Eh1jGz9f3zWmg8oIUsj4mW/D2j yNEQ== 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=jjl46n0ins86gAcUJzilc1tDvB2wUCcovj5ZA8LfLYE=; b=tpVe6EfmJQkZsQp+S9kwJq2mIBn1+r/cfrqxoQL82CAt0PjMzfLhcv0VN8FcnA6hYq iJxCkr1DcaHQSDp/4iptcQ6u+80zys7ig8uEkss9gbXrKBFcti50vLxJW42THtuVocnz arnW3dyBOwZ72lyaYnYf/+zVjp4BWhqxjbFLaa4gEscWSZAcR65Xhq0/WvgkIewm2JyC odUKAa98vCfsse0PF1/i5mdnVAAVAqFsuBfmptArtWWV//RUZtOXLhd/62nSBIv3lc2N /E8P8e7e3mAS1BY2mZW44g3x2tbYUhoSMa1AUWMBiTeVf+tX1Jm4h+zDEsECR2EIGrxJ jJ9Q== X-Gm-Message-State: APf1xPCL3UfovVoGvON2Qg/kd0+P+3tapAd0IjSykb+sHZh1vxZSDG6K 90Xw63mwHcCCkbD/stnkr3E= X-Google-Smtp-Source: AH8x227fWwCqS89eCETqGf/h6KtRpt3ar51z6ZP/gZtu/T6M+lkSIYIsdviyMXEkVJ+8d43bv8mnDw== X-Received: by 10.55.21.16 with SMTP id f16mr6676805qkh.252.1518732838291; Thu, 15 Feb 2018 14:13:58 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Thu, 15 Feb 2018 19:13:14 -0300 Message-Id: <20180215221325.7611-10-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-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:c09::242 Subject: [Qemu-devel] [PATCH v4 09/20] sdcard: handle CMD54 (SDIO) 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 , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org 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 Linux uses it to poll the bus before polling for a card. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index b567c44da8..30acd04ad7 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1375,9 +1375,8 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) } break; =20 - case 52: - case 53: - /* CMD52, CMD53: reserved for SDIO cards + case 52 ... 54: + /* CMD52, CMD53, CMD54: reserved for SDIO cards * (see the SDIO Simplified Specification V2.0) * Handle as illegal command but do not complain * on stderr, as some OSes may use these in their --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.216.196 as permitted sender) client-ip=209.85.216.196; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qt0-f196.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.216.196 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qt0-f196.google.com (mail-qt0-f196.google.com [209.85.216.196]) by mx.zohomail.com with SMTPS id 1518732841902568.9719750403306; Thu, 15 Feb 2018 14:14:01 -0800 (PST) Received: by mail-qt0-f196.google.com with SMTP id d26so1606533qtk.10 for ; Thu, 15 Feb 2018 14:14:01 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.13.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:00 -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=ildAenVOawFXUoFEXHAmb1l0wJGsLSDRWrkb2M0bXKQ=; b=OBdDwowaC9fNe/q6LMReCKGesqsBcl8aGKBZN+DhlxtTwxM31Di+0zShguJaBn58NA ztGOiIVByiwRm/nftfvLsAqRMTpJGjv5BiWz2ceuLC4iSSBd8NZMGuJuuuJe2DHRaMUf FL33kZKuVEe2Kd7v7UUkfnr5h3vncO8oRoz99dufgSAWnK15TdHYWJqOY9oLjow7szvk eTk31ulGml1FNqjXDgDi+/ceXgKAKTDZr1KDpVPsd0eQ3fztfmOUEwmh3wZjaEDaElQn ALLdHD63ndlPRJePjrBfsU8n3QKFBhngJMV8A15oLOsacIRyySj2fj6GjtXlhCPb5b/w lA4w== 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=ildAenVOawFXUoFEXHAmb1l0wJGsLSDRWrkb2M0bXKQ=; b=X1/4VVbcY3jf6Ac2FjUxQgRZpjuhVUEqcd5q0O+yBQ7nLENXhlwqhCQRrOBDSYiapC APomC0jE/Lc48TCeR+3Yb7d2O0FnNglAGWC84dK8gd61YNrYbzqxyETFzykirMwY9SBi oEQP2CFCAAiPiyZiSBQv3WQwe2Qfdx3vU+MIaH7MaGyg6uPHA0bhR5lVpGRsbwH0xjvq h97InzkEX5CTq9YYFgzyWHrSLWb/mO2xHlhOyCM/PT7IfG28D8oWO33Tthe9ie2r1XQR 88skqaWTPpffnovB7+/3DEOBBeg21OxqUwUDw4bTxCclccSPDYbYADdD6p57IIQApA7T X2OQ== X-Gm-Message-State: APf1xPAE4VcY+lZQFATJc7UASKuaViIRYLSGaq5Cgsq/3WIGu1zRtpVm /0REWaAo+pENExcptuMWpms= X-Google-Smtp-Source: AH8x224v+fEV46xA8bovotOyCGSUzHUQjkkrdbI4QBP78Xcsgdloo1pA6ooEUmhmqdmf+FxL3aIWdQ== X-Received: by 10.237.50.196 with SMTP id z62mr623235qtd.290.1518732841093; Thu, 15 Feb 2018 14:14:01 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 10/20] sdcard: handle the Security Specification commands Date: Thu, 15 Feb 2018 19:13:15 -0300 Message-Id: <20180215221325.7611-11-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 returning sd_illegal, since they are not implemented. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 30acd04ad7..0457f5214b 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1551,6 +1551,17 @@ static sd_rsp_type_t sd_app_command(SDState *sd, } break; =20 + case 18: /* Reserved for SD security applications */ + case 25: + case 26: + case 38: + case 43 ... 49: + /* Refer to the "SD Specifications Part3 Security Specification" f= or + * information about the SD Security Features */ + qemu_log_mask(LOG_UNIMP, "SD: CMD%i Security not implemented\n", + req.cmd); + return sd_illegal; + default: /* Fall back to standard commands. */ return sd_normal_command(sd, req); --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.220.195 as permitted sender) client-ip=209.85.220.195; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qk0-f195.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.220.195 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qk0-f195.google.com (mail-qk0-f195.google.com [209.85.220.195]) by mx.zohomail.com with SMTPS id 1518732845397728.486596034236; Thu, 15 Feb 2018 14:14:05 -0800 (PST) Received: by mail-qk0-f195.google.com with SMTP id z197so1570469qkb.6 for ; Thu, 15 Feb 2018 14:14:05 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:03 -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=BrYAW1bXvzr/6v+KkvhAwMBpCPf3pi3j7ynugeYpjbg=; b=SrtFYfB8kDxB0WJKnzPnpimlDxUH7WS8mM1vJSG4P/rAIPFJVrscJjkJGEJzIDEib3 y+ExIMRRFctET1YxwEtgGHLscDhaByYYIo4o4exZ7nqSS/tHZwONrblkYRzc4Sklscs3 Irl/5zeBWGm4jPmmyRIhzBBlUq2jH7NSl3TY+UQaWQ1aK+pzZTVWy7W7LuaJrb3qOttu J6p+dw48aDmY2G/Jtm9kQsKz3zZPWAcLHo8K9yJyZyksvcR+DQ8fO2cYBBePNvarYEgG IdbI9MduJbjSWKLZ9gVtad1dEXghOq8llMd7IyK50q0agGqnF/3as2g9qanzHE4F9jf5 d26g== 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=BrYAW1bXvzr/6v+KkvhAwMBpCPf3pi3j7ynugeYpjbg=; b=mSFnIOR18k5uMMz5tCHqYjyhw2AALANpA9GMDmZ7ehx+u7hnfkjmOp45oEoFAskh4X h1qnnjB7a9vR6KiKOoOxnCYYCS7/MHGnPmLuFPteZJWmDojmPS8yEVJCgNQu4RE0A4I4 KAhHwZi5H3ajw9s99VZloiwPvoqhCBc4CkFzAS9G6ig6pLIwj207R1Ls/TgGgflEdEt5 p/TWwLe3qSNnfx6TyPGK1cBRIk79oXb2zgTbqGTNMLtJJWXq9fKtPVJcYW5yq0nNZIOT htVXmO2RZkdqHOtw+91comVIlTHdbPrtXRBH0qZfKfZnKwwaByrmHOw1hh6Nf3HeGUbP J8yg== X-Gm-Message-State: APf1xPD5JiUZY8dHnykAz7NExvqSYtWGcmzxpJ2VQ6CwMwYDVIuE9ypj yb1jtN2QDw8U0SBkLJDkPW0= X-Google-Smtp-Source: AH8x225gOrFm3P5cY72eZLgxpYUrR/5OnWcvpR9p3B4j/C/mCye0o9GETzLB77d2M8FA92ErNG5ToQ== X-Received: by 10.55.212.205 with SMTP id s74mr6240380qks.305.1518732844540; Thu, 15 Feb 2018 14:14:04 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 11/20] sdcard: use a more descriptive label 'unimplemented_spi_cmd' Date: Thu, 15 Feb 2018 19:13:16 -0300 Message-Id: <20180215221325.7611-12-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 Suggested-by: Alistair Francis Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 0457f5214b..4f82638735 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1183,8 +1183,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) =20 /* Block write commands (Class 4) */ case 24: /* CMD24: WRITE_SINGLE_BLOCK */ - if (sd->spi) - goto unimplemented_cmd; + if (sd->spi) { + goto unimplemented_spi_cmd; + } switch (sd->state) { case sd_transfer_state: /* Writing in SPI mode not implemented. */ @@ -1209,8 +1210,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) break; =20 case 25: /* CMD25: WRITE_MULTIPLE_BLOCK */ - if (sd->spi) - goto unimplemented_cmd; + if (sd->spi) { + goto unimplemented_spi_cmd; + } switch (sd->state) { case sd_transfer_state: /* Writing in SPI mode not implemented. */ @@ -1250,8 +1252,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) break; =20 case 27: /* CMD27: PROGRAM_CSD */ - if (sd->spi) - goto unimplemented_cmd; + if (sd->spi) { + goto unimplemented_spi_cmd; + } switch (sd->state) { case sd_transfer_state: sd->state =3D sd_receivingdata_state; @@ -1361,8 +1364,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) =20 /* Lock card commands (Class 7) */ case 42: /* CMD42: LOCK_UNLOCK */ - if (sd->spi) - goto unimplemented_cmd; + if (sd->spi) { + goto unimplemented_spi_cmd; + } switch (sd->state) { case sd_transfer_state: sd->state =3D sd_receivingdata_state; @@ -1413,7 +1417,7 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, S= DRequest req) qemu_log_mask(LOG_GUEST_ERROR, "SD: Unknown CMD%i\n", req.cmd); return sd_illegal; =20 - unimplemented_cmd: + unimplemented_spi_cmd: /* Commands that are recognised but not yet implemented in SPI mod= e. */ qemu_log_mask(LOG_UNIMP, "SD: CMD%i not implemented in SPI mode\n", req.cmd); --=20 2.16.1 From nobody Sun May 19 14:14:19 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 1518733474233932.4035282784076; Thu, 15 Feb 2018 14:24:34 -0800 (PST) Received: from localhost ([::1]:37141 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emRxB-0008KC-Bz for importer@patchew.org; Thu, 15 Feb 2018 17:24:33 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58540) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emRn8-0005Nx-2D for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emRn6-0005Kb-4I for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:10 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:34466) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1emRn5-0005K9-VM for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:08 -0500 Received: by mail-qk0-x242.google.com with SMTP id o7so1602335qkc.1 for ; Thu, 15 Feb 2018 14:14:07 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14: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=935DQwEQoSjIM2R6OT3HAN6mIv3mgMmEBtEhuD1BGDc=; b=a3nzxk4r03eBf3GUJgV7KxKt7Z+jg4l4wzfBKgfOLIiF9Hw1xxmJOGoZKszWnf/ZuM d4Sl0PeoTZ8yCZ8OztLf9jJHo1nsC5IFWvDZQgiffi+3amQJ/vlS/M6cMSJmRwvzFXgW lOoHb0onmf8itO98BKHiU4vnmkxs8y7YrtIXZi6U6Llk032OkWWrvexh0Y3dEHZQP6Xs yoAqtcX/f0BhcW6qobdvdtI/jFRKmna5Dix+Gm6q80lW6SeY7yYjTx06PwoREjLvXL3E c/VYHuwvI2b2ajxYfgSohVTafm/2YRai0UPpZT78QdgktVsSkPe9vUO00YP3fKGRTSb3 FqdA== 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=935DQwEQoSjIM2R6OT3HAN6mIv3mgMmEBtEhuD1BGDc=; b=PV9lrpMWPZjTmw/csnH3H7fEXB6g81Hq2wVE1+IDy2nbW/kPfGJ+C/PoZy+axmXR1U 73xpb5ExJkINu4Id4/HsYZPBmLpG2sE6IZNkNAtk2+yBIvFkUMu0SZH66YS6MCZ7xdgf +8Xkrl5uTXO+eB0hCassXbRwMMhaBB8VxDN3rrWe0zSTsQKu/dhEF76InmG1nAR9yYw8 Hyxz+5QbM7jtkT13BAn9nGWZHedIkmQ3482zCy7Z4h1Db0M9W+rb/5jY15wq8xFh9Yey S4o521tZrH5QlU9CjYWamG1OwuhOw/NeoUmDkKLu+B5xRrxbdz27hjEkysR7xt/vOFB+ eWWQ== X-Gm-Message-State: APf1xPAzPBRjGVicJFfmNdC21JNBhI0aWs6FIBNHzuN5g+PVsUlublHy tH1OvZ5JYGmRtGtC5742tTw= X-Google-Smtp-Source: AH8x224V8lV2o/b5gKD36ct0IHcb6fHjMYhj4T6P3M1TvuH212h6Ln8L093UyktjxH9vwOuNAWCQqg== X-Received: by 10.55.41.131 with SMTP id p3mr6463384qkp.309.1518732847535; Thu, 15 Feb 2018 14:14:07 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Thu, 15 Feb 2018 19:13:17 -0300 Message-Id: <20180215221325.7611-13-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-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:c09::242 Subject: [Qemu-devel] [PATCH v4 12/20] sdcard: handles more commands in SPI mode 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 , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org 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: Alistair Francis --- hw/sd/sd.c | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 4f82638735..0ecb446fdb 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1390,9 +1390,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) =20 /* Application specific commands (Class 8) */ case 55: /* CMD55: APP_CMD */ - if (sd->rca !=3D rca) - return sd_r0; - + if (!sd->spi) { + if (sd->rca !=3D rca) { + return sd_r0; + } + } sd->expecting_acmd =3D true; sd->card_status |=3D APP_CMD; return sd_r1; @@ -1412,6 +1414,18 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) } break; =20 + case 58: /* CMD58: READ_OCR (SPI) */ + if (!sd->spi) { + goto bad_cmd; + } + return sd_r3; + + case 59: /* CMD59: CRC_ON_OFF (SPI) */ + if (!sd->spi) { + goto bad_cmd; + } + goto unimplemented_spi_cmd; + default: bad_cmd: qemu_log_mask(LOG_GUEST_ERROR, "SD: Unknown CMD%i\n", req.cmd); @@ -1436,6 +1450,9 @@ static sd_rsp_type_t sd_app_command(SDState *sd, sd->card_status |=3D APP_CMD; switch (req.cmd) { case 6: /* ACMD6: SET_BUS_WIDTH */ + if (sd->spi) { + goto unimplemented_spi_cmd; + } switch (sd->state) { case sd_transfer_state: sd->sd_status[0] &=3D 0x3f; @@ -1569,6 +1586,12 @@ static sd_rsp_type_t sd_app_command(SDState *sd, default: /* Fall back to standard commands. */ return sd_normal_command(sd, req); + + unimplemented_spi_cmd: + /* Commands that are recognised but not yet implemented in SPI mod= e. */ + qemu_log_mask(LOG_UNIMP, "SD: CMD%i not implemented in SPI mode\n", + req.cmd); + return sd_illegal; } =20 qemu_log_mask(LOG_GUEST_ERROR, "SD: ACMD%i in a wrong state\n", req.cm= d); --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.220.196 as permitted sender) client-ip=209.85.220.196; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qk0-f196.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.220.196 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by mx.zohomail.com with SMTPS id 1518732851142103.31471007979076; Thu, 15 Feb 2018 14:14:11 -0800 (PST) Received: by mail-qk0-f196.google.com with SMTP id g129so1547615qkb.13 for ; Thu, 15 Feb 2018 14:14:10 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:09 -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=yKcy2DptKGwWXxmCIoKAzx0cA4js4EBPtl1j5BXaGfM=; b=sQXf7VAengK8KrVCQu3V7E4D6/q0loz1xKnlyDZJJORgyuPHV43SNvIFUMXTwLoYaD GiCa3pAUl2i7t8aGDTkPwtUsXUE7DyMhzLGrYdN/EG1vfNLx6QoqJUoKXVYzU65mzkvS ZR31Uz6GO08gKGRGXwt2NgI9jVvoBbTLIHRDSUHlxhDd86c5fH3L1qGKKL0Z9haN7sTc Wsv2OFNTY2EBWu1pSXp9L1iJXhmC1DxSCaDY4KErLIbht9tcbGespP4WtV4veIAsQY57 UvjiBAn/5uF58y2o10jjbhWiuwC/82CQXgJ9ZMexCGrA7ImZCEuZbThQ6z06+497Vojz OFTQ== 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=yKcy2DptKGwWXxmCIoKAzx0cA4js4EBPtl1j5BXaGfM=; b=jnCh/00st/HxNyBU7jjX+GaajgIq7jsB1/XeCGW7P9/BUcPTRoKZ78fVWFR8gTnFNU kh/3z/YOxwnpLSjMGvddeBImROdgYZ2Kj5J6Dx43EGBQQnGfJcMYAsj8iANQwSdfUfq8 sMUtX+fu//eo3kb2zJSmATKM9wsbl8K4KibGstf8QjXCZxumAcwVSayvylnIuwRqgy8A LSJmqyL7MGHHyZNWwMyFpFZDQG/QCywV+vIXS2N5cKNzHybkeqBQS1k27ysP/NBeGxrO vrkqDkq7zyV9RY2+0BREp0/3sYelhZ9B2u4goePmD+H45j26nZJaYfTDhqlGxkesTiyj haVg== X-Gm-Message-State: APf1xPADkg/1ZVU33DSUlM+FhaZS3oheDfrop6Yp52Xv5qhKkjMXAxeT frSG5Nd0mLeYmc8YW4qIVCQ= X-Google-Smtp-Source: AH8x225axgSQJKIu5PL6JyF4+THijZLSDFDEvIqsS5/v/8A1sOBdefEsM6xJlCjvVg/qEhk11P89qw== X-Received: by 10.55.43.70 with SMTP id r67mr6470938qkh.17.1518732850299; Thu, 15 Feb 2018 14:14:10 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 13/20] sdcard: check the card is in correct state for APP CMD (CMD55) Date: Thu, 15 Feb 2018 19:13:18 -0300 Message-Id: <20180215221325.7611-14-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 0ecb446fdb..c2f01a5fa3 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1390,6 +1390,14 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) =20 /* Application specific commands (Class 8) */ case 55: /* CMD55: APP_CMD */ + switch (sd->state) { + case sd_ready_state: + case sd_identification_state: + case sd_inactive_state: + return sd_illegal; + default: + break; + } if (!sd->spi) { if (sd->rca !=3D rca) { return sd_r0; --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.216.194 as permitted sender) client-ip=209.85.216.194; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qt0-f194.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.216.194 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by mx.zohomail.com with SMTPS id 151873285474952.96409813353921; Thu, 15 Feb 2018 14:14:14 -0800 (PST) Received: by mail-qt0-f194.google.com with SMTP id k25so1619819qtj.9 for ; Thu, 15 Feb 2018 14:14:14 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:13 -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=D0fW/2cW/cltoLSj11xgIRL7n5oepUI8lYZEatGCcDo=; b=SS/b8w1g7EyL2IfVBrJtIqtUUK0LaLOmqVNXj60EDShSAFFX+EoBNfyWlyRICpYrYG gnRWciWD3E2c+2NP/iqar7GsP40QjoUnJq6U/mdKaBoOOQc9pJBrvhOzy7mYa/90z2V6 MHrd7UxMuTdNQSFghM615v53S/Uj6qEcirkV+Ky/bBZb3kvxv7ErwheaNc7TeftvDxCJ tcf3Vj5JHmEyuncQCIj6+CtbSxUQHkBJM++/0uDoB6HLAL5C7q2VevAnhrc7yrCr9Tpf b7STJXfe2gpfVIXQTWYI9H9RqW8M11H9hOB6KgFN30InbQlHm57Ym24PNfAekxUGTSKV lMOg== 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=D0fW/2cW/cltoLSj11xgIRL7n5oepUI8lYZEatGCcDo=; b=IPSm2ns3MtqlmuhS3Af2waFtYiAObSBQ/WrQZvwSGjsAT/AlJ01gbs1cYZpDQYImWq Sbay/cxjZsKHimBENYIxFMLFwNZleFDHp0SRGXliH26OY6vsgx0h1oWIKydVdN2MFigA afdEFu/mPyKNx+FRXA8+qpWpZLXZgWYnGA+tcQ5Shwyiu12tbHKHvqxcVhyUYUC/auys R6RkMC4Md4O9yxoOpGa/AoUPEUcuIfPMKMbYtTvMcivHQiT6ntYt9dxG4QR0/0nJ9v4a AwfKbYFxVpDA78ltJJ//WlCxdW4k/FoxQVfPTFIEnSoUlDLpU7RzpX0CJStCaucpfGC6 Ul0A== X-Gm-Message-State: APf1xPA0ntAKFCSh+gd3Y81mPS3bx0/Hjf+cVJfIiZC88dyomE8b/uWv jkvCOIEPci6xId0yJv8Jm2Wq3LWVo1c= X-Google-Smtp-Source: AH8x226AmKOt4EqKGoCy/gmf4VoeF8UvNmnaosbs4ygb6aBZqu4iGMitcouonEWTgyPDobmzHLiMag== X-Received: by 10.200.41.231 with SMTP id 36mr6846381qtt.159.1518732853939; Thu, 15 Feb 2018 14:14:13 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 14/20] sdcard: warn if host uses an incorrect address for APP CMD (CMD55) Date: Thu, 15 Feb 2018 19:13:19 -0300 Message-Id: <20180215221325.7611-15-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index c2f01a5fa3..5827379d0f 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1395,6 +1395,11 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) case sd_identification_state: case sd_inactive_state: return sd_illegal; + case sd_idle_state: + if (rca) { + qemu_log_mask(LOG_GUEST_ERROR, + "SD: illegal RCA 0x%04x for APP_CMD\n", req.= cmd); + } default: break; } --=20 2.16.1 From nobody Sun May 19 14:14:19 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 1518733809893450.3744399254007; Thu, 15 Feb 2018 14:30:09 -0800 (PST) Received: from localhost ([::1]:37275 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emS2b-0005XW-3B for importer@patchew.org; Thu, 15 Feb 2018 17:30:09 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58666) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emRnI-0005dv-6A for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emRnF-0005U3-9x for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:20 -0500 Received: from mail-qk0-x244.google.com ([2607:f8b0:400d:c09::244]:42190) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1emRnF-0005Tt-5R for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:17 -0500 Received: by mail-qk0-x244.google.com with SMTP id b130so1566118qkg.9 for ; Thu, 15 Feb 2018 14:14:17 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:16 -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=ZNN9OWc47es1cQXRxdXMMfV06mWuNjOn4BRkCiB6/Bc=; b=ZBMBKLz/W6vDcnPYs6KTAITSQfvGKswlHnLRC6ADuZLBvUbrjwFB7T9PghbUGoN5Bd W0c2AEzmaY8qgVfSdPVZibROs+8G7x8/dw+ZC1Dupau9BcDcx451sXlia20BYYbIsHRg GxAW3mddZPWe2I6hZQQEC3kUSe2JAIjhBQMKNdwvUsW9UTRon7yn7yEgN+qTd1cRF0vr yl7kgNqDt5elbITU8vncarVltZ5rGil407jZ1K/PY2hbz1CRY5myaKkH9vx6hdF+C/J2 3FdEnbAj7xcHnXrFm0OkItXFsweO7VRGSGmrS1F4hGUwsfGN8ZtcfxAtdsegS6ztECce 4jYA== 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=ZNN9OWc47es1cQXRxdXMMfV06mWuNjOn4BRkCiB6/Bc=; b=HVMW/F2dPEDLi/n/2dPfhyreLKRnX2/i64YNJE/q/eaebHDfFc3A0Xv1VJQ5suD7mP noweIvhPn2+JMKzmIdyxExteVLyhC5h8BuRxivWH7ECS4J5rsfP23w3qellUUx022E5g PPD3iSTQ37L4j+J43VnLXFod2rHCqOP7Nvsxerws0qftctc06nBtOns6vN6r/Ie8W+1X c9bxLob4tvum+ATe26AqijdzDgwJWLyulISA0J1i2Qs0QzSceoTqi7eigRg42nYc2dSY yTHA3wih1OMJ/XYExHFGNuChCtX02EL0NFgzfghlxfZVdVqgexvQj5gL2UDwpHhyCToh vKjg== X-Gm-Message-State: APf1xPBuz8JkcYCHCyVdx0MdyARve6hhqHfz0wfH5T8XkbE9wF/RciZT B5F3gu1kAkmbNh2zt9GVNsY= X-Google-Smtp-Source: AH8x2275rst8gGGFE8f75JsBI0GwLUd1e26feSPBmX9ZczDgyDiG3MPfxwBnpCr8u43dIDvC7lZojA== X-Received: by 10.55.90.198 with SMTP id o189mr6431764qkb.155.1518732856798; Thu, 15 Feb 2018 14:14:16 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Thu, 15 Feb 2018 19:13:20 -0300 Message-Id: <20180215221325.7611-16-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-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:c09::244 Subject: [Qemu-devel] [PATCH v4 15/20] sdcard: simplify SEND_IF_COND (CMD8) 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 , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org 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 replace switch(single case) -> if() Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 5827379d0f..942143ab3e 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1012,23 +1012,19 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,= SDRequest req) =20 case 8: /* CMD8: SEND_IF_COND */ /* Physical Layer Specification Version 2.00 command */ - switch (sd->state) { - case sd_idle_state: - sd->vhs =3D 0; - - /* No response if not exactly one VHS bit is set. */ - if (!(req.arg >> 8) || (req.arg >> (ctz32(req.arg & ~0xff) + 1= ))) { - return sd->spi ? sd_r7 : sd_r0; - } - - /* Accept. */ - sd->vhs =3D req.arg; - return sd_r7; - - default: + if (sd->state !=3D sd_idle_state) { break; } - break; + sd->vhs =3D 0; + + /* No response if not exactly one VHS bit is set. */ + if (!(req.arg >> 8) || (req.arg >> (ctz32(req.arg & ~0xff) + 1))) { + return sd->spi ? sd_r7 : sd_r0; + } + + /* Accept. */ + sd->vhs =3D req.arg; + return sd_r7; =20 case 9: /* CMD9: SEND_CSD */ switch (sd->state) { --=20 2.16.1 From nobody Sun May 19 14:14:19 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 1518734791996541.5364076014447; Thu, 15 Feb 2018 14:46:31 -0800 (PST) Received: from localhost ([::1]:39272 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emSIR-0005GN-8S for importer@patchew.org; Thu, 15 Feb 2018 17:46:31 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58677) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emRnJ-0005fG-AZ for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emRnI-0005VU-Bu for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:21 -0500 Received: from mail-qk0-x243.google.com ([2607:f8b0:400d:c09::243]:38238) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1emRnI-0005VD-7W for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:20 -0500 Received: by mail-qk0-x243.google.com with SMTP id s198so1578945qke.5 for ; Thu, 15 Feb 2018 14:14:20 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:19 -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=8yxXyvC3LwOzhfXM7I1+9lLbE8qbCqcxKUxTHzgGgjs=; b=ai1fk9yN9oAXCej5u5cEBHerPEjy/N1n5fycc1cV9nJiFVriSuFvSuvPe67P7/Qjbq ZDebpWHecNzqcOXAtLj/zmYQqU7xHrMGdhhEb8U/rVjY2MDp9rb36ISbZ6yImBlFkGjU j6tZkqLBrul7QedeBlY2gBA9vQayD1ORKDKMk6qC/ENbKBLi63ZxM1imhQh5XTQWxTtH hstd6sLLAUBsqhm0o7dKuB+SQFbbU/O3Dgt8NVqQM3xsEEFwcn2aNSlr+VkLI4Jpcgaz e9v7UhlQYnLzsr1kOBrxXSpWeILg3UqXw16qSkzOW4Sv0YiDC1Oxo0/oijGDbZEkmI/5 MzWQ== 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=8yxXyvC3LwOzhfXM7I1+9lLbE8qbCqcxKUxTHzgGgjs=; b=n+ofW/ZHXx73ULzFMaTkMPpxAsuaIVVMHYhoyh9sX9Bf1eDN4+/sxyRj0Kjysp53B1 bdxOuyH3kfykRYmwvdSpHiQxIvSCkjr4XKXQvF0aWC+rivccRS0HITngERgoC+GXY++I I6EFD84k8AbkZRkkFUUtEZ2JW61JlVhbF8IZRGs3H7RKowkvtSuLY5qKdn6OUOgP2upm bbYHHthFFa3tTe8Lw1o/drdxaKz1tv+hyAFH7ugBP/ximT/+TuPEaJr+yBRSlu0Akc+Q Kiacfp85CVak9JvwUUFRq6ZJRQrOEO4Wj6RbDzw29koCiHS2VPzmeIfsekHPiV+is1DC XoWA== X-Gm-Message-State: APf1xPCflPY98odXDZzBH1toEJ4Pgcak8N0eUQ6SGE8fKKr3a12mhjML oDEB2SBMIUZ4uPGGR0B25II= X-Google-Smtp-Source: AH8x227IZmkpNRssGmjavvHt36vVdqdXOhYchiwhHhtHZZvGT44VD9ggESguyYuD3OqPI2YzyI3JWA== X-Received: by 10.55.77.137 with SMTP id a131mr6619772qkb.249.1518732859811; Thu, 15 Feb 2018 14:14:19 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Thu, 15 Feb 2018 19:13:21 -0300 Message-Id: <20180215221325.7611-17-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-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:c09::243 Subject: [Qemu-devel] [PATCH v4 16/20] sdcard: simplify SD_SEND_OP_COND (ACMD41) 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 , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org 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 replace switch(single case) -> if() Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 56 ++++++++++++++++++++++++++------------------------------ 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 942143ab3e..911aae6233 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1517,45 +1517,41 @@ static sd_rsp_type_t sd_app_command(SDState *sd, sd->state =3D sd_transfer_state; return sd_r1; } - switch (sd->state) { - case sd_idle_state: - /* If it's the first ACMD41 since reset, we need to decide - * whether to power up. If this is not an enquiry ACMD41, - * we immediately report power on and proceed below to the - * ready state, but if it is, we set a timer to model a - * delay for power up. This works around a bug in EDK2 - * UEFI, which sends an initial enquiry ACMD41, but - * assumes that the card is in ready state as soon as it - * sees the power up bit set. */ - if (!FIELD_EX32(sd->ocr, OCR, CARD_POWER_UP)) { - if ((req.arg & ACMD41_ENQUIRY_MASK) !=3D 0) { - timer_del(sd->ocr_power_timer); - sd_ocr_powerup(sd); - } else { - trace_sdcard_inquiry_cmd41(); - if (!timer_pending(sd->ocr_power_timer)) { - timer_mod_ns(sd->ocr_power_timer, - (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) - + OCR_POWER_DELAY_NS)); - } + if (sd->state !=3D sd_idle_state) { + break; + } + /* If it's the first ACMD41 since reset, we need to decide + * whether to power up. If this is not an enquiry ACMD41, + * we immediately report power on and proceed below to the + * ready state, but if it is, we set a timer to model a + * delay for power up. This works around a bug in EDK2 + * UEFI, which sends an initial enquiry ACMD41, but + * assumes that the card is in ready state as soon as it + * sees the power up bit set. */ + if (!FIELD_EX32(sd->ocr, OCR, CARD_POWER_UP)) { + if ((req.arg & ACMD41_ENQUIRY_MASK) !=3D 0) { + timer_del(sd->ocr_power_timer); + sd_ocr_powerup(sd); + } else { + trace_sdcard_inquiry_cmd41(); + if (!timer_pending(sd->ocr_power_timer)) { + timer_mod_ns(sd->ocr_power_timer, + (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + + OCR_POWER_DELAY_NS)); } } + } =20 + if (FIELD_EX32(sd->ocr & req.arg, OCR, VDD_VOLTAGE_WINDOW)) { /* We accept any voltage. 10000 V is nothing. * * Once we're powered up, we advance straight to ready state * unless it's an enquiry ACMD41 (bits 23:0 =3D=3D 0). */ - if (req.arg & ACMD41_ENQUIRY_MASK) { - sd->state =3D sd_ready_state; - } - - return sd_r3; - - default: - break; + sd->state =3D sd_ready_state; } - break; + + return sd_r3; =20 case 42: /* ACMD42: SET_CLR_CARD_DETECT */ switch (sd->state) { --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.220.196 as permitted sender) client-ip=209.85.220.196; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qk0-f196.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.220.196 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by mx.zohomail.com with SMTPS id 1518732863749555.2688183233157; Thu, 15 Feb 2018 14:14:23 -0800 (PST) Received: by mail-qk0-f196.google.com with SMTP id 15so1593603qkl.3 for ; Thu, 15 Feb 2018 14:14:23 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14: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=/JBkdgeOYm+Rj42oCCBKwizlpZxWf/J0QcGi/oRJbi4=; b=PjG6y41QfNklXKzbondyWvEprkshvN/bOHdk0b1mR5xKw7lnObgeCUivVzKWyGDbDa 4q8zaFVayMumyoTlMPqxwlzVyXG9aIWI0PdvN1MXHxfQUKIsD/WGcTHbcO0C4qByhSQ5 wBJcSwvjbsIDC39yIpP2NUxG+cooIczESmqxjws7cS4zB90FPiIN5o2Lkis3GhluF8cF sEbbPP3Ck3rGLyEVcpupy0XSU+F+sATXCxryBbYdSPSuKfLzlp0uxu6QOpyQtXuMV38M tKsm9DNiojvWI+FwmbnGaqYdtCuRMxZnSF/V8qHuURiMDn3FKj7DBKHEfy+KrCBTCWLn 2pYA== 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=/JBkdgeOYm+Rj42oCCBKwizlpZxWf/J0QcGi/oRJbi4=; b=K7gnLq3lLavUakx3BeNfZ9gKrbXUChRAbbhBpm5NnPEsWqHJM/qUyQt6KWBI8LGV4O oK1Jjl4B0l/f57hZYS02+0SLl7075Ge3bYUNLw2mvZpmx37/5A3n7NRThhetMggKnzO7 GNTZZZer3mDj8jB64GZyey6i9FLdX+b0yqtMs6wvPCFwo1cE5BWzaYpUArmRq8VrNd4Y zM/BO9prVGXLkeMjZ9+/GVYBXeyH8Yqf3A79eHEiyZlBYYtMaZGtwPSKdk6FtYDFRQVy BjN+1BJZM88ZEExK/MGIt3ibJV+kc8Uw5nFw1ZbSl/bsFZNXTgkf1cvYGGav2Gw76sla XeSA== X-Gm-Message-State: APf1xPCvkLTjtbnB0BBl4U1md8lik1HKbrfJV8OVVrIXKFVXeBQZq8VG ewIFtlN5sBuMAnSsmNHbvWQ= X-Google-Smtp-Source: AH8x225vIJtPP0Iz7OB/QXfcjtViVlaSqah1xzbnc5QcAy+A+jepItr205R+EUmb+IcvLDlVsODXVg== X-Received: by 10.55.212.205 with SMTP id s74mr6241686qks.305.1518732862888; Thu, 15 Feb 2018 14:14:22 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 17/20] sdcard: add SD SEND_TUNING_BLOCK (CMD19) Date: Thu, 15 Feb 2018 19:13:22 -0300 Message-Id: <20180215221325.7611-18-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 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 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 911aae6233..4b0bb7992d 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1166,6 +1166,14 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, = SDRequest req) } break; =20 + case 19: /* CMD19: SEND_TUNING_BLOCK (SD) */ + if (sd->state =3D=3D sd_transfer_state) { + sd->state =3D sd_sendingdata_state; + sd->data_offset =3D 0; + return sd_r1; + } + break; + case 23: /* CMD23: SET_BLOCK_COUNT */ switch (sd->state) { case sd_transfer_state: @@ -1889,6 +1897,15 @@ void sd_write_data(SDState *sd, uint8_t value) } } =20 +#define SD_TUNING_BLOCK_SIZE 64 + +static const uint32_t sd_tunning_data[SD_TUNING_BLOCK_SIZE / 4] =3D { + 0xFF0FFF00, 0x0FFCC3CC, 0xC33CCCFF, 0xFEFFFEEF, + 0xFFDFFFDD, 0xFFFBFFFB, 0XBFFF7FFF, 0X77F7BDEF, + 0XFFF0FFF0, 0X0FFCCC3C, 0XCC33CCCF, 0XFFEFFFEE, + 0XFFFDFFFD, 0XDFFFBFFF, 0XBBFFF7FF, 0XF77F7BDE, +}; + uint8_t sd_read_data(SDState *sd) { /* TODO: Append CRCs */ @@ -1968,6 +1985,13 @@ uint8_t sd_read_data(SDState *sd) } break; =20 + case 19: /* CMD19: SEND_TUNING_BLOCK (SD) */ + if (sd->data_offset >=3D SD_TUNING_BLOCK_SIZE - 1) { + sd->state =3D sd_transfer_state; + } + ret =3D ((uint8_t *)(&sd_tunning_data))[sd->data_offset++]; + break; + case 22: /* ACMD22: SEND_NUM_WR_BLOCKS */ ret =3D sd->data[sd->data_offset ++]; =20 --=20 2.16.1 From nobody Sun May 19 14:14:19 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 1518734248741798.5236166914334; Thu, 15 Feb 2018 14:37:28 -0800 (PST) Received: from localhost ([::1]:38205 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emS9f-0004oB-Re for importer@patchew.org; Thu, 15 Feb 2018 17:37:27 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58776) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1emRnT-0005wC-Gy for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1emRnO-0005Yz-F3 for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:31 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:32843) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1emRnO-0005Yn-9s for qemu-devel@nongnu.org; Thu, 15 Feb 2018 17:14:26 -0500 Received: by mail-qk0-x241.google.com with SMTP id f25so1601352qkm.0 for ; Thu, 15 Feb 2018 14:14:26 -0800 (PST) Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:25 -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=Y66du22TXqwNQ9ac00ndoHMKdGaj7KNj11eFBuQu2cc=; b=EfeQr+doIt4L6qWu3eTDyMpN7fCwgCyeJ8WE82C8moyJFppGxvq73zCxwJOza0IEEA 770/ngpKNxZq4oOPz46eMe8efiFDYKnp+ujz6iI96qDDNX1Q+jlZYjEHl8P4ZCo4rEhD YAedaX55W9ywxfqmRey9679YUYkjaJmAK+js6eAdOZbxcYKuTd45AeVWrgN6EoZK9C+a 8JflyRR2Y/BOLIzKYs9oAN2Bui3PXkhHjfdheziq+2ygyW6iqzT91m3Iz9SJbIFLJdB3 3Yoh4vTduRGPvtus317fLv20csJZYpXVnCLbxNpLx++kV6YhyEWlWFB8ZKOvLTjhHGKB gU5g== 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=Y66du22TXqwNQ9ac00ndoHMKdGaj7KNj11eFBuQu2cc=; b=X1s5iL6i/bpU2PcJLQk9KZNHPPP2rwNCBQ+k2BX7MIVWZ6Ka6Ks/tPmatlXabOG1Ll RuxGbrgOG/OVtvwOk1ARxmH8PmOOtR2Q7SrkNqGRNtxG2AlAP1IlinzWqWNyfXc3Sfs6 +wgNi18O3jn7J2PhAKvO1cgklf917TezXZlHRB8L8RBBTGdNOvwJIKhunfMrJehbii4G KZpGZSYk6MCUM5AMGvWunmOKB38qShryRUEwnLV072Yw7qscQXaNjr9j240AaivL1qRv xoUbOGZxmwpwY2iB1mXnrCNzbJc7UIZJjreoQ9/isf4NuXiz02wYyDBb4lrgUjy5m600 XGlg== X-Gm-Message-State: APf1xPAczLTHe+bxT3Avw6LY3BedgPJ14g59UpHf+G+3T27jDAYFcK5F HKIfY7DUnB/kTbitu+b+P8g= X-Google-Smtp-Source: AH8x226nyQvL02taXyBhSU4LUeQHLhZE+9j9I3ARm2lDOPNBI6aj1SU2epp0N3Nk3QDgV1Sww/Sw+A== X-Received: by 10.55.192.144 with SMTP id v16mr6637376qkv.233.1518732865854; Thu, 15 Feb 2018 14:14:25 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Date: Thu, 15 Feb 2018 19:13:23 -0300 Message-Id: <20180215221325.7611-19-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-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:c09::241 Subject: [Qemu-devel] [PATCH v4 18/20] sdcard: implement the UHS-I SWITCH_FUNCTION entries (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 , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org 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/sd.c | 148 +++++++++++++++++++++++++++++++++++++++++++++----= ---- hw/sd/trace-events | 1 + 2 files changed, 127 insertions(+), 22 deletions(-) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 4b0bb7992d..ada96f5574 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -124,6 +124,7 @@ struct SDState { bool enable; uint8_t dat_lines; bool cmd_line; + bool uhs_enabled; }; =20 static const char *sd_state_name(enum SDCardStates state) @@ -563,6 +564,7 @@ static void sd_reset(DeviceState *dev) sd->expecting_acmd =3D false; sd->dat_lines =3D 0xf; sd->cmd_line =3D true; + sd->uhs_enabled =3D false; sd->multi_blk_cnt =3D 0; } =20 @@ -761,30 +763,132 @@ static uint32_t sd_wpbits(SDState *sd, uint64_t addr) return ret; } =20 +/* Function Group */ +enum { + SD_FG_MIN =3D 1, + SD_FG_ACCESS_MODE =3D 1, + SD_FG_COMMAND_SYSTEM =3D 2, + SD_FG_DRIVER_STRENGTH =3D 3, + SD_FG_CURRENT_LIMIT =3D 4, + SD_FG_RSVD_5 =3D 5, + SD_FG_RSVD_6 =3D 6, + SD_FG_COUNT +}; + +/* Function name */ +#define SD_FN_COUNT 16 + +static const char *sd_fn_grp_name[SD_FG_COUNT] =3D { + [SD_FG_ACCESS_MODE] =3D "ACCESS_MODE", + [SD_FG_COMMAND_SYSTEM] =3D "COMMAND_SYSTEM", + [SD_FG_DRIVER_STRENGTH] =3D "DRIVER_STRENGTH", + [SD_FG_CURRENT_LIMIT] =3D "CURRENT_LIMIT", + [SD_FG_RSVD_5] =3D "RSVD5", + [SD_FG_RSVD_6] =3D "RSVD6", +}; + +typedef struct sd_fn_support { + const char *name; + bool uhs_only; + bool unimp; +} sd_fn_support; + +static const sd_fn_support *sd_fn_support_defs[SD_FG_COUNT] =3D { + [SD_FG_ACCESS_MODE] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default/SDR12" }, + [1] =3D { .name =3D "high-speed/SDR25" }, + [2] =3D { .name =3D "SDR50", .uhs_only =3D true }, + [3] =3D { .name =3D "SDR104", .uhs_only =3D true }, + [4] =3D { .name =3D "DDR50", .uhs_only =3D true }, + }, + [SD_FG_COMMAND_SYSTEM] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default" }, + [1] =3D { .name =3D "For eC" }, + [3] =3D { .name =3D "OTP", .unimp =3D true }, + [4] =3D { .name =3D "ASSD", .unimp =3D true }, + }, + [SD_FG_DRIVER_STRENGTH] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default/Type B" }, + [1] =3D { .name =3D "Type A", .uhs_only =3D true }, + [2] =3D { .name =3D "Type C", .uhs_only =3D true }, + [3] =3D { .name =3D "Type D", .uhs_only =3D true }, + }, + [SD_FG_CURRENT_LIMIT] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default/200mA" }, + [1] =3D { .name =3D "400mA", .uhs_only =3D true }, + [2] =3D { .name =3D "600mA", .uhs_only =3D true }, + [3] =3D { .name =3D "800mA", .uhs_only =3D true }, + }, + [SD_FG_RSVD_5] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default" }, + }, + [SD_FG_RSVD_6] =3D (sd_fn_support [SD_FN_COUNT]) { + [0] =3D { .name =3D "default" }, + }, +}; + +#define SD_FN_NO_INFLUENCE (1 << 15) + static void sd_function_switch(SDState *sd, uint32_t arg) { - int i, mode, new_func; - mode =3D !!(arg & 0x80000000); - - sd->data[0] =3D 0x00; /* Maximum current consumption */ - sd->data[1] =3D 0x01; - sd->data[2] =3D 0x80; /* Supported group 6 functions */ - sd->data[3] =3D 0x01; - sd->data[4] =3D 0x80; /* Supported group 5 functions */ - sd->data[5] =3D 0x01; - sd->data[6] =3D 0x80; /* Supported group 4 functions */ - sd->data[7] =3D 0x01; - sd->data[8] =3D 0x80; /* Supported group 3 functions */ - sd->data[9] =3D 0x01; - sd->data[10] =3D 0x80; /* Supported group 2 functions */ - sd->data[11] =3D 0x43; - sd->data[12] =3D 0x80; /* Supported group 1 functions */ - sd->data[13] =3D 0x03; - for (i =3D 0; i < 6; i ++) { - new_func =3D (arg >> (i * 4)) & 0x0f; - if (mode && new_func !=3D 0x0f) - sd->function_group[i] =3D new_func; - sd->data[14 + (i >> 1)] =3D new_func << ((i * 4) & 4); + int fn_grp, new_func, i; + uint8_t *data_p; + bool mode =3D extract32(arg, 31, 1); /* 0: check only, 1: do switch */ + + stw_be_p(sd->data + 0, 0x0001); /* Maximum current consumption */ + + data_p =3D &sd->data[2]; + for (fn_grp =3D SD_FG_COUNT - 1; fn_grp >=3D SD_FG_MIN; fn_grp--) { + uint16_t supported_fns =3D SD_FN_NO_INFLUENCE; + for (i =3D 0; i < SD_FN_COUNT; ++i) { + const sd_fn_support *def =3D &sd_fn_support_defs[fn_grp][i]; + + if (def->name && !def->unimp && + !(def->uhs_only && !sd->uhs_enabled)) { + supported_fns |=3D 1 << i; + } + } + stw_be_p(data_p, supported_fns); + data_p +=3D 2; + } + + assert(data_p =3D=3D &sd->data[14]); + for (fn_grp =3D SD_FG_COUNT - 1; fn_grp >=3D SD_FG_MIN; fn_grp--) { + new_func =3D (arg >> ((fn_grp - 1) * 4)) & 0x0f; + if (new_func =3D=3D 0xf) { + new_func =3D sd->function_group[fn_grp - 1]; + } else { + const sd_fn_support *def =3D &sd_fn_support_defs[fn_grp][new_f= unc]; + if (mode) { + if (!def->name) { + qemu_log_mask(LOG_GUEST_ERROR, + "Function %d not a valid for " + "function group %d\n", + new_func, fn_grp); + new_func =3D 0xf; + } else if (def->unimp) { + qemu_log_mask(LOG_UNIMP, + "Function %s (fn grp %d) not implemented= \n", + def->name, fn_grp); + new_func =3D 0xf; + } else if (def->uhs_only && !sd->uhs_enabled) { + qemu_log_mask(LOG_GUEST_ERROR, + "Function %s (fn grp %d) only " + "valid in UHS mode\n", + def->name, fn_grp); + new_func =3D 0xf; + } else { + sd->function_group[fn_grp - 1] =3D new_func; + } + } + trace_sdcard_function_select(def->name, sd_fn_grp_name[fn_grp], + mode); + } + if (!(fn_grp & 0x1)) { /* evens go in high nibble */ + *data_p =3D new_func << 4; + } else { /* odds go in low nibble */ + *(data_p++) |=3D new_func; + } } memset(&sd->data[17], 0, 47); stw_be_p(sd->data + 65, sd_crc16(sd->data, 64)); diff --git a/hw/sd/trace-events b/hw/sd/trace-events index 2059ace61f..c106541a47 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -42,6 +42,7 @@ sdcard_write_block(uint64_t addr, uint32_t len) "addr 0x%= " PRIx64 " size 0x%x" sdcard_write_data(const char *proto, const char *cmd_desc, uint8_t cmd, ui= nt8_t value) "%s %20s/ CMD%02d value 0x%02x" sdcard_read_data(const char *proto, const char *cmd_desc, uint8_t cmd, int= length) "%s %20s/ CMD%02d len %d" sdcard_set_voltage(uint16_t millivolts) "%u mV" +sdcard_function_select(const char *fn_name, const char *grp_name, bool do_= switch) "Function %s (group: %s, sw: %u)" =20 # hw/sd/milkymist-memcard.c milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x = value 0x%08x" --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.216.195 as permitted sender) client-ip=209.85.216.195; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qt0-f195.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.216.195 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by mx.zohomail.com with SMTPS id 1518732869500650.036662742758; Thu, 15 Feb 2018 14:14:29 -0800 (PST) Received: by mail-qt0-f195.google.com with SMTP id u6so1592848qtg.13 for ; Thu, 15 Feb 2018 14:14:29 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:28 -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=0AWm536DABnuE56QoBtrgaz3LDfQeX0JT2n4ZJ1iJBU=; b=n+E6XK8R2KckZV4CMPRJGvcwIB9XWQv3YRRVHlZInfsQSJnrcyHUz81nDhuwsGMpj4 clN2uKAqodScpU71v1/Ye+JsiLiNGbgP4yFyVr8RgH0LdazY0H4A051ctMyEapvk7kj0 ZmjZuhZ1if0xbD+7nC/afitmFfk/r0ade00iZEBm8hD/SiCB63UDC9egbwSlrrvg8JSB wtbtrNsoCJgGpOsgrRg/pkskcPZbHE7Oh0sJoQaQxaaitRx7Fd+cHjMvVoLVBMZOdLyA IYqcLcfTPhDzFzK+a+6I33AQ6eC1vFh2R9m9pGaoVrq9Dq8Gw0zetVAzCTx3ZL1ZJdTH B1Cw== 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=0AWm536DABnuE56QoBtrgaz3LDfQeX0JT2n4ZJ1iJBU=; b=pf0PpWEg9DTiZADV12PwEDX9Uyo4m50wj4RV+BDUIkAQECIhixtCNTxDy5FT+OSmQJ ODZIRo33SZF0s/maD00fy4zqMQ9sGnuspPDt8tx8N0BFz578armZRdlfyFA7bc56ZHoj /8jrjgZGH3wa2N6YrbueLpHX23MGoLaXpS4cCxKg14KcNCdQEjReaCZFpr0YRk44B6+k 83zY408a+RdtkGndNcu650rU6aCRMGU61ACbP3IfId4jW5vVIVfElUrHSQJ5g11nco9h vCYxk7yCv/8qB3V+qJR3Ew1CHgNqEOiQcm7mpE6lcCFjNUaGZryD0TzRjMztF0j7ZLnN PSTw== X-Gm-Message-State: APf1xPA/hG0cTDhWvC9F+iMSuW70IQOctxkz9qH6hoZOTi0w3hR2GP34 x1DyRp7fzKFxbA90dk/WKHQ= X-Google-Smtp-Source: AH8x225PJk+BQDoZLh3Sly8XcPoxucVS+pc7gsG7GtaQR/P40wCrlt9nFHQF9XtKX+CAmJIqaouUCQ== X-Received: by 10.200.66.197 with SMTP id g5mr7048302qtm.12.1518732868608; Thu, 15 Feb 2018 14:14:28 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 19/20] sdcard: add a 'uhs' property, update the OCR register ACCEPT_SWITCH_1V8 bit Date: Thu, 15 Feb 2018 19:13:24 -0300 Message-Id: <20180215221325.7611-20-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sd/sd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index ada96f5574..b9429b06ca 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -93,6 +93,7 @@ struct SDState { /* Configurable properties */ BlockBackend *blk; bool spi; + uint8_t uhs_supported; =20 uint32_t mode; /* current card mode, one of SDCardModes */ int32_t state; /* current card state, one of SDCardStates */ @@ -292,6 +293,8 @@ static void sd_set_ocr(SDState *sd) { /* All voltages OK */ sd->ocr =3D R_OCR_VDD_VOLTAGE_WIN_HI_MASK; + + sd->ocr =3D FIELD_DP32(sd->ocr, OCR, ACCEPT_SWITCH_1V8, !!sd->uhs_supp= orted); } =20 static void sd_ocr_powerup(void *opaque) @@ -2189,6 +2192,7 @@ static Property sd_properties[] =3D { * board to ensure that ssi transfers only occur when the chip select * is asserted. */ DEFINE_PROP_BOOL("spi", SDState, spi, false), + DEFINE_PROP_UINT8("uhs", SDState, uhs_supported, UHS_NOT_SUPPORTED), DEFINE_PROP_END_OF_LIST() }; =20 --=20 2.16.1 From nobody Sun May 19 14:14:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of _spf.google.com designates 209.85.220.194 as permitted sender) client-ip=209.85.220.194; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-qk0-f194.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of _spf.google.com designates 209.85.220.194 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-qk0-f194.google.com (mail-qk0-f194.google.com [209.85.220.194]) by mx.zohomail.com with SMTPS id 1518732872307431.05418576837656; Thu, 15 Feb 2018 14:14:32 -0800 (PST) Received: by mail-qk0-f194.google.com with SMTP id f25so1601648qkm.0 for ; Thu, 15 Feb 2018 14:14:32 -0800 (PST) Return-Path: Return-Path: Received: from x1.lan ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id t5sm10732075qtn.44.2018.02.15.14.14.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Feb 2018 14:14:31 -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=/0I8Q/GQHeXpakE+ySkDyPRbUSowim8IsfQuas1wIjY=; b=WRdlXcyH00wfO2TeB4Ci6OSpofcrodSwP0GbZGMud3R0ryoDZJpMBWhlC/VclKcwfj rC/fo10w+SVd9Sh5n28hq+4fPlVfy1NvuHHOX4jNx+5d7+tKuW2rmrg4LvkcMc73uRHl 6RKa5O+eFfKksz7+guToUM1a/Fj91xtSiYEbvPS7uGkCzWjujbEX2fNkCR0Dyl6S/sBe 7dmjOP3e3mx9ufB4Kz55MBbvggHavLz62xc+ElXuMnSljS0uzSl8cL+yAsosu5Eeoy/u g7gocDMtuM7ql4OR1MixiMPnR2p4XP7K9xhM0ZD+VWA50C81DDiudp7JEWGIGipBbysl A78g== 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=/0I8Q/GQHeXpakE+ySkDyPRbUSowim8IsfQuas1wIjY=; b=VAbPfWASX67D0E09T8rofZPSzjrwYhVrYiqWqyStPXA+sMHagEU53jyWHX+216o7pQ QwAeoVt0/1guJMEkm4FSTHKn/MI495Vtw+91Al4voxqvBCU0UZjbDNAMcXYFxbrgy0wD y5uTvWhOcdB2e8RW+NubZKKJ03lYyaesPSA0JJN5sk639Dg32Jn/kuBsDejYnQeGk4WJ HZw9j33rRt7lYqkwpvaCUJG2qA3fGgRTceX2j+LjXxWHxtVvQShv3EIIHnaS94eGVtO5 jFlA60CcsqXCjx3T6pwX/PDb/LN9RL69jrXo9ZtWrMS07GR+XXHtL8qpQxhnPvep5XoS 7DWg== X-Gm-Message-State: APf1xPBPiEj0dOLzVSId/t/TfsXEJqrXFqvOSj+V+Jl52oY1a6dlEkKn 715fflFymSMBpzpJ4cyY+UUoTxFb9wY= X-Google-Smtp-Source: AH8x225LwnjsMJLiFVTIXU1Hgw3blLLxM+PkAUQxguoRkcOlIwQnPsKeVrbHCBuNnUzgUmoAl2XHkg== X-Received: by 10.55.41.131 with SMTP id p3mr6465134qkp.309.1518732871471; Thu, 15 Feb 2018 14:14:31 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell , Igor Mitsyanko Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, "Edgar E . Iglesias" , Prasad J Pandit , Andrzej Zaborowski Subject: [PATCH v4 20/20] sdcard: add an enum for the SD PHY Spec version Date: Thu, 15 Feb 2018 19:13:25 -0300 Message-Id: <20180215221325.7611-21-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215221325.7611-1-f4bug@amsat.org> References: <20180215221325.7611-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZohoMail: RDKM_0 RSF_0 Z_629925259 SPT_0 So far this device intends to model the Spec v1.10 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sd.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/sd/sd.c b/hw/sd/sd.c index b9429b06ca..d4565626ce 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -47,6 +47,11 @@ =20 //#define DEBUG_SD 1 =20 +typedef enum { + SD_PHY_SPEC_VER_1_10 =3D 110, + SD_PHY_SPEC_VER_2_00 =3D 200, /* not yet supported */ +} sd_phy_spec_ver_t; + typedef enum { sd_r0 =3D 0, /* no response */ sd_r1, /* normal response command */ @@ -122,6 +127,7 @@ struct SDState { qemu_irq inserted_cb; QEMUTimer *ocr_power_timer; const char *proto_name; + int spec_version; bool enable; uint8_t dat_lines; bool cmd_line; @@ -2169,6 +2175,7 @@ static void sd_realize(DeviceState *dev, Error **errp) int ret; =20 sd->proto_name =3D sd->spi ? "SPI" : "SD"; + sd->spec_version =3D SD_PHY_SPEC_VER_1_10; =20 if (sd->blk && blk_is_read_only(sd->blk)) { error_setg(errp, "Cannot use read-only drive as SD card"); --=20 2.16.1