From nobody Tue Feb 10 05:46:03 2026 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 1518494984142116.86678044248129; Mon, 12 Feb 2018 20:09:44 -0800 (PST) Received: by mail-qt0-f193.google.com with SMTP id f18so2212813qth.11 for ; Mon, 12 Feb 2018 20:09:42 -0800 (PST) Return-Path: Return-Path: Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id q2sm7350435qki.10.2018.02.12.20.09.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Feb 2018 20:09:41 -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=5qaGRwDZfwX37p33tGyHNiBbUOeIBUssXi21Pjx552M=; b=e7Q0vjOZMjFNqTibOZT7ah02n1F9Wns8Tr058+5eQ6R8t8lc/ewceoXcdwn8YNvemD Pz/AblUcEr5U9YBOXRi4wJvQm7HTBqlVZ1ni6Xk/hF66eNjfZlRA0hWVTRC+2xIxsKBb WP4XXvmsRwMl+pl4qwNy8VkM74dILrygyDQhLbp+v/aNiLbzTOW25bosdYggfzJ8w8nt 6cXuRPkDNupyGeCxhOEvxlpUmN+mP9mIZvL8eiNkhjmtEP+n/l6WeUrxWW5gZ8nhJ9xP 5JFBgXNIzGfcTx7N/lULxwUO7r4MqdVgPR6koUnhD1IKu6u37hrTFQEcubXqHbmn2HAS 3pqQ== 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=5qaGRwDZfwX37p33tGyHNiBbUOeIBUssXi21Pjx552M=; b=LdUm5GxLD5hstebf/xbKyPwV5L0ImpVZAIAHeNGsLmvHEt3cyvcOtfVrAzC7E7odkA 5CepHhxZlYjlh/N/J7NsdHyO9qyDIPkkb1+R8rRJJAZwEONzzbRIJSbBWOIKWWvBzNR4 29sqMteRKtWXBET2GIwv8v5Ku0EJiOTPC97GEBLjkukoAJvMMZHnO88uwseVcfsoYrZV Ez6NKfN0LuWEOujwFSsFdN57IzAcXs4IctWBHKMOdR/X+rmopMIQakcraug8THkfpCci cMfHEBhvSSROxWWeec4Dyb6NCeS+bAOriYo9cZIs6SKioFfjMyWvM5NWK49anCftsEhh TDMw== X-Gm-Message-State: APf1xPAXxhbUsBWjzr18BhHXXM7VVgUtQVlUAKMzaSoCYFSmNtsYcbpH Ta2bBC2PQcTTq8auu/72o8k= X-Google-Smtp-Source: AH8x224x8290Qv1Ui/JJ2busYWhxCf8rPkSc7Bz3QaaXq0HDAITvCl/7KUX2df/9IOFlSPUlRh/vgA== X-Received: by 10.200.33.195 with SMTP id 3mr21745779qtz.1.1518494982334; Mon, 12 Feb 2018 20:09:42 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Peter Maydell , Alistair Francis , "Edgar E . Iglesias" , Fam Zheng , "Edgar E. Iglesias" , qemu-arm@nongnu.org (open list:Xilinx ZynqMP) Subject: [PATCH v13 26/30] hw/arm/xilinx_zynqmp: fix the capabilities/spec version to match the datasheet Date: Tue, 13 Feb 2018 01:08:05 -0300 Message-Id: <20180213040809.26021-27-f4bug@amsat.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180213040809.26021-1-f4bug@amsat.org> References: <20180213040809.26021-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 checking Xilinx datasheet "UG1085" (v1.7) Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/arm/xlnx-zynqmp.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index ca398c4159..e39ad73bec 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -53,6 +53,8 @@ #define IPI_ADDR 0xFF300000 #define IPI_IRQ 64 =20 +#define SDHCI_CAPABILITIES 0x280737ec6481 /* Datasheet: UG1085 (v1.7) */ + static const uint64_t gem_addr[XLNX_ZYNQMP_NUM_GEMS] =3D { 0xFF0B0000, 0xFF0C0000, 0xFF0D0000, 0xFF0E0000, }; @@ -387,22 +389,27 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Err= or **errp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->sata), 0, gic_spi[SATA_INTR]); =20 for (i =3D 0; i < XLNX_ZYNQMP_NUM_SDHCI; i++) { - char *bus_name; - - object_property_set_bool(OBJECT(&s->sdhci[i]), true, - "realized", &err); + char *bus_name =3D g_strdup_printf("sd-bus%d", i); + SysBusDevice *sbd =3D SYS_BUS_DEVICE(&s->sdhci[i]); + Object *sdhci =3D OBJECT(&s->sdhci[i]); + + /* Compatible with: + * - SD Host Controller Specification Version 3.00 + * - SDIO Specification Version 3.0 + * - eMMC Specification Version 4.51 + */ + object_property_set_uint(sdhci, 3, "sd-spec-version", &err); + object_property_set_uint(sdhci, SDHCI_CAPABILITIES, "capareg", &er= r); + object_property_set_bool(sdhci, true, "realized", &err); if (err) { error_propagate(errp, err); return; } - sysbus_mmio_map(SYS_BUS_DEVICE(&s->sdhci[i]), 0, - sdhci_addr[i]); - sysbus_connect_irq(SYS_BUS_DEVICE(&s->sdhci[i]), 0, - gic_spi[sdhci_intr[i]]); + sysbus_mmio_map(sbd, 0, sdhci_addr[i]); + sysbus_connect_irq(sbd, 0, gic_spi[sdhci_intr[i]]); + /* Alias controller SD bus to the SoC itself */ - bus_name =3D g_strdup_printf("sd-bus%d", i); - object_property_add_alias(OBJECT(s), bus_name, - OBJECT(&s->sdhci[i]), "sd-bus", + object_property_add_alias(OBJECT(s), bus_name, sdhci, "sd-bus", &error_abort); g_free(bus_name); } --=20 2.16.1