qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Cc: patches@linaro.org
Subject: [Qemu-devel] [PATCH 14/17] omap_gpmc: Accept a zero mask field on omap3630
Date: Thu, 25 Aug 2011 21:05:08 +0100	[thread overview]
Message-ID: <1314302711-20498-15-git-send-email-peter.maydell@linaro.org> (raw)
In-Reply-To: <1314302711-20498-1-git-send-email-peter.maydell@linaro.org>

From: Juha Riihimäki <juha.riihimaki@nokia.com>

OMAP3630 adds an extra bit of address masking, so a mask of
0xb1111 is valid. Unfortunately the GPMC_REVISION is the same as
on the OMAP3430 which only has three bits of address masking, so
we have to derive this feature directly from the OMAP revision
rather than from the GPMC revision.

Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
[Riku Voipio: Fixes and restructuring patchset]
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
[Peter Maydell: More fixes and cleanups for upstream submission]
Signed-off-by:  Peter Maydell <peter.maydell@linaro.org>
---
 hw/omap_gpmc.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/hw/omap_gpmc.c b/hw/omap_gpmc.c
index d2de72f..0326d49 100644
--- a/hw/omap_gpmc.c
+++ b/hw/omap_gpmc.c
@@ -28,6 +28,7 @@
 struct omap_gpmc_s {
     qemu_irq irq;
     MemoryRegion iomem;
+    int accept_256;
 
     uint8_t revision;
     uint8_t sysconfig;
@@ -198,11 +199,10 @@ static void omap_gpmc_cs_map(struct omap_gpmc_s *s, int cs)
     }
 
     /* TODO: check for overlapping regions and report access errors */
-    if ((mask != 0x8 && mask != 0xc && mask != 0xe && mask != 0xf) ||
-        (base & 0x0f & ~mask)) {
-        fprintf(stderr, "%s: wrong cs address mapping/decoding!\n",
-                        __FUNCTION__);
-        return;
+    if (mask != 0x8 && mask != 0xc && mask != 0xe && mask != 0xf
+         && !(s->accept_256 && !mask)) {
+        fprintf(stderr, "%s: invalid chip-select mask address (0x%x)\n",
+                 __func__, mask);
     }
 
     base <<= 24;
@@ -570,6 +570,7 @@ struct omap_gpmc_s *omap_gpmc_init(struct omap_mpu_state_s *mpu,
     memory_region_add_subregion(get_system_memory(), base, &s->iomem);
 
     s->irq = irq;
+    s->accept_256 = cpu_is_omap3630(mpu);
     s->revision = cpu_class_omap3(mpu) ? 0x50 : 0x20;
     omap_gpmc_reset(s);
 
-- 
1.7.1

  parent reply	other threads:[~2011-08-25 20:26 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-25 20:04 [Qemu-devel] [PATCH 00/17] onenand, omap_gpmc fixes, features Peter Maydell
2011-08-25 20:04 ` [Qemu-devel] [PATCH 01/17] hw/sysbus: Add sysbus_mmio_get_region() Peter Maydell
2011-08-25 20:04 ` [Qemu-devel] [PATCH 02/17] hw/onenand: Qdevify Peter Maydell
2011-08-27 17:38   ` Edgar E. Iglesias
2011-08-28 13:21     ` Peter Maydell
2011-08-28 14:16       ` Edgar E. Iglesias
2011-08-25 20:04 ` [Qemu-devel] [PATCH 03/17] hw/onenand: Minor spacing fixes Peter Maydell
2011-08-25 20:04 ` [Qemu-devel] [PATCH 04/17] omap_gpmc: Clean up omap_gpmc_attach MemoryRegion conversion Peter Maydell
2011-08-25 20:04 ` [Qemu-devel] [PATCH 05/17] omap_gpmc: Refactor omap_gpmc_cs_map and omap_gpmc_cs_unmap Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 06/17] omap_gpmc: GPMC_IRQSTATUS is write-one-to-clear Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 07/17] omap_gpmc: Wire up the GPMC IRQ correctly Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 08/17] omap_gpmc: Fix handling of FIFOTHRESHOLDSTATUS bit Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 09/17] omap_gpmc: Take omap_mpu_state* in omap_gpmc_init Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 10/17] omap_gpmc: Calculate revision from OMAP model Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 11/17] omap_gpmc: Reindent misindented switch statements Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 12/17] omap_gpmc: Support NAND devices Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 13/17] hw/omap.h: Add OMAP 3630 to omap_mpu_model enumeration Peter Maydell
2011-08-25 20:05 ` Peter Maydell [this message]
2011-08-25 20:05 ` [Qemu-devel] [PATCH 15/17] omap_gpmc: Pull prefetch engine data into sub-struct Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 16/17] omap: Wire up the DMA request line to the GPMC Peter Maydell
2011-08-25 20:05 ` [Qemu-devel] [PATCH 17/17] omap_gpmc: Implement prefetch engine Peter Maydell
2011-08-27  2:30 ` [Qemu-devel] [PATCH 00/17] onenand, omap_gpmc fixes, features Edgar E. Iglesias
2011-08-27 12:19   ` Peter Maydell
2011-08-28  8:38 ` Edgar E. Iglesias

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1314302711-20498-15-git-send-email-peter.maydell@linaro.org \
    --to=peter.maydell@linaro.org \
    --cc=patches@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).