From patchwork Mon Jan 7 16:31:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 154925 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp3679513ljp; Mon, 7 Jan 2019 08:44:36 -0800 (PST) X-Google-Smtp-Source: ALg8bN4L+9cUlnrqTwzYpb4quyVHu4Bb1UAoMAFMpJqIvGYLNZWtXDNz35V5BmruLGPgxqsY8kO1 X-Received: by 2002:a1c:7409:: with SMTP id p9mr9721282wmc.136.1546879476644; Mon, 07 Jan 2019 08:44:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546879476; cv=none; d=google.com; s=arc-20160816; b=wPaObB4eMsqWiJSyP7d83nIqjZVGmi7AaQh49oDHxJjXsmnnIiADJdB+QukgsnkpBz bKMWIUTc5FydPCRgaUDFieqNaChPBC+0psYWRgjmDjc6hwv9mJX/t1xHmTy+jJyXTf1I Nxl0HIv9GhG8s+d4MqI6d3DZkYHlx0PSa+UvVtHEYtfRf/5bG5JtpmsbSHiDrWyJu80T Zy65kPUuv+KyWXx2FEvgfAv2UuZAfd8jHpLCUXpSa4eyUjhVkgZTjQv42qGnoliqe1qn FTogU9jhWCguzNqkekQtK6zzyeR+pL+ANKIZuiojd2sQudB1OUrojf2B2rwX0NA11mFx kMvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature; bh=soNeqI2oAtZuvZ9bY0TG6Kpl0kFjvNdpLzIG+q3lAxk=; b=wA0/bb3E0MFBEEruDFEsb+uwBTi2WAy2EZGte3gsDdWS58O7lc7YfdAbLC9UUSolfF fh0S2MBmIhRYgw+X5/qKsG7Rz2kikS+ddAu/qLxiK8yDMRoijAcO0KNg5TX+gmjTKTcN 6LtG3r+x1GFPmSOt87Xww+Uo8Ywag7C1ROAWxVd8Hzj28WTfTJuN76nDM01GMCYXLqeQ wsmLNm0mycz+GHaFHwqNZGdUg8VqymMCIffpKYnFoqqp+j+0FItyoFVTjS69awCU/71b 1OKvfiKN3z+GUW0EQHjkhhdOjiQncd2LVTMlFbB4XXKSJRcakNaWkoDc+pGqG0TziguW wmfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=G95b6NKc; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id k12si37688439wri.426.2019.01.07.08.44.36 for (version=TLS1 cipher=AES128-SHA bits=128/128); Mon, 07 Jan 2019 08:44:36 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=G95b6NKc; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([127.0.0.1]:45438 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ggY0w-0006qR-KB for patch@linaro.org; Mon, 07 Jan 2019 11:44:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46497) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ggXoi-00056A-97 for qemu-devel@nongnu.org; Mon, 07 Jan 2019 11:31:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ggXof-0002HQ-5I for qemu-devel@nongnu.org; Mon, 07 Jan 2019 11:31:54 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:35433) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ggXod-0002C4-6S for qemu-devel@nongnu.org; Mon, 07 Jan 2019 11:31:52 -0500 Received: by mail-wr1-x42f.google.com with SMTP id 96so1090368wrb.2 for ; Mon, 07 Jan 2019 08:31:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=soNeqI2oAtZuvZ9bY0TG6Kpl0kFjvNdpLzIG+q3lAxk=; b=G95b6NKcfR9FUZESNlfnQ6RcOJU7jcYebIe/tQZMqk/JOYo36MjhP7uJP2WBBW09/3 6GMDCHKTXeOE4k0geccRuf+zrwZg7AqptawiVLKguWazbJrru4+cATEG1kuNJVEXXVPB QDY+7NbiMmGWQSOt0l6A3zSKXRCZl8MD2ll10= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=soNeqI2oAtZuvZ9bY0TG6Kpl0kFjvNdpLzIG+q3lAxk=; b=ZUrPBuIAJvSpA1GFlWAQ1dvFZ6LTsYPCrE37X4bTGTH0d5yx8ZeCRCT9RWRJcvU/4J hevnKYUISSJyYLuFYxV6uPBVDFHHgvVgO6REx1iI6sLe6O+YI1Rt/t7qiHm0IFAujiDk /RA//PrJODmEkfQBS0hcZ3tWn6B1BU3WNs1rhTD23aakFoI72DelvAWnbVRDSvN+z27S g8DQR/NrZewIrUiH9K03M/HsKueZuWdb9MnQDrzOP0pQFAVSBg6D8RjISCJ/WrnaIoeD 2Oa8EfNixGj+nOtdJp1cyeYYfflMx2cZnR17hP0dWXpiCSDWyOBl9YoJWXg9C0L1WfY9 755g== X-Gm-Message-State: AJcUukfwAxyonBXFBxykQeBmkmp4jGTbWbCkvPDodoo+LxxQrVjGqNSK niqxa83dort449p+Kce/ZYIoqXnmMC0vbA== X-Received: by 2002:adf:e846:: with SMTP id d6mr54581666wrn.72.1546878708311; Mon, 07 Jan 2019 08:31:48 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id j14sm46039759wrv.96.2019.01.07.08.31.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 07 Jan 2019 08:31:47 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Date: Mon, 7 Jan 2019 16:31:03 +0000 Message-Id: <20190107163117.16269-24-peter.maydell@linaro.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190107163117.16269-1-peter.maydell@linaro.org> References: <20190107163117.16269-1-peter.maydell@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42f Subject: [Qemu-devel] [PULL 23/37] hw/arm/allwinner-a10: Add the 'A' SRAM and the SRAM controller X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé >From the "A10 User Manual V1.20" p.29: "3.2. Memory Mapping" and: 7. System Control 7.1. Overview A10 embeds a high-speed SRAM which has been split into five segments. See detailed memory mapping in following table: Area Address Size (Bytes) A1 0x00000000-0x00003FFF 16K A2 0x00004000-0x00007FFF 16K A3 0x00008000-0x0000B3FF 13K A4 0x0000B400-0x0000BFFF 3K Since for emulation purpose we don't need the segmentations, we simply define the 'A' area as a single 48KB SRAM. We don't implement the following others areas: - 'B': 'Secure RAM' (64K), - 'C': Debug/ISP SRAM - 'D': USB SRAM (qemu) info mtree address-space: memory 0000000000000000-ffffffffffffffff (prio 0, i/o): system 0000000000000000-000000000000bfff (prio 0, ram): sram A 0000000001c00000-0000000001c00fff (prio -1000, i/o): a10-sram-ctrl 0000000001c0b000-0000000001c0bfff (prio 0, i/o): aw_emac 0000000001c18000-0000000001c18fff (prio 0, i/o): ahci 0000000001c18080-0000000001c180ff (prio 0, i/o): allwinner-ahci 0000000001c20400-0000000001c207ff (prio 0, i/o): allwinner-a10-pic 0000000001c20c00-0000000001c20fff (prio 0, i/o): allwinner-A10-timer 0000000001c28000-0000000001c2801f (prio 0, i/o): serial 0000000040000000-0000000047ffffff (prio 0, ram): cubieboard.ram Reported-by: Charlie Smurthwaite Tested-by: Charlie Smurthwaite Signed-off-by: Philippe Mathieu-Daudé Message-id: 20190104142921.878-1-f4bug@amsat.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- include/hw/arm/allwinner-a10.h | 1 + hw/arm/allwinner-a10.c | 6 ++++++ 2 files changed, 7 insertions(+) -- 2.19.2 diff --git a/include/hw/arm/allwinner-a10.h b/include/hw/arm/allwinner-a10.h index efb8fc81236..389e128d0fc 100644 --- a/include/hw/arm/allwinner-a10.h +++ b/include/hw/arm/allwinner-a10.h @@ -35,6 +35,7 @@ typedef struct AwA10State { AwA10PICState intc; AwEmacState emac; AllwinnerAHCIState sata; + MemoryRegion sram_a; } AwA10State; #define ALLWINNER_H_ diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c index 9fe875cdb5e..df0d079ad0a 100644 --- a/hw/arm/allwinner-a10.c +++ b/hw/arm/allwinner-a10.c @@ -22,6 +22,7 @@ #include "hw/sysbus.h" #include "hw/devices.h" #include "hw/arm/allwinner-a10.h" +#include "hw/misc/unimp.h" static void aw_a10_init(Object *obj) { @@ -85,6 +86,11 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) sysbus_connect_irq(sysbusdev, 4, s->irq[67]); sysbus_connect_irq(sysbusdev, 5, s->irq[68]); + memory_region_init_ram(&s->sram_a, OBJECT(dev), "sram A", 48 * KiB, + &error_fatal); + memory_region_add_subregion(get_system_memory(), 0x00000000, &s->sram_a); + create_unimplemented_device("a10-sram-ctrl", 0x01c00000, 4 * KiB); + /* FIXME use qdev NIC properties instead of nd_table[] */ if (nd_table[0].used) { qemu_check_nic_model(&nd_table[0], TYPE_AW_EMAC);