devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: tony@atomide.com
Cc: dwmw2@infradead.org, computersforpeace@gmail.com,
	ezequiel@vanguardiasur.com.ar, javier@dowhile0.org,
	fcooper@ti.com, nsekhar@ti.com, linux-mtd@lists.infradead.org,
	linux-omap@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, Roger Quadros <rogerq@ti.com>
Subject: [PATCH v3 13/27] memory: omap-gpmc: Prevent mapping into 1st 16MB
Date: Fri, 18 Sep 2015 17:53:35 +0300	[thread overview]
Message-ID: <1442588029-13769-14-git-send-email-rogerq@ti.com> (raw)
In-Reply-To: <1442588029-13769-1-git-send-email-rogerq@ti.com>

We have been preventing mapping GPMC children in the
first 1MB but really it has to be the first 16MB as
the minimum GPMC partition size is 16MB.

Also print an error message if CS mapping fails
due to DT requesting address outside the GPMC
map.

Signed-off-by: Roger Quadros <rogerq@ti.com>
---
 drivers/memory/omap-gpmc.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
index b09e1bc..bcf4b05 100644
--- a/drivers/memory/omap-gpmc.c
+++ b/drivers/memory/omap-gpmc.c
@@ -93,6 +93,14 @@
 #define GPMC_CS_SIZE		0x30
 #define	GPMC_BCH_SIZE		0x10
 
+/*
+ * The first 1MB of GPMC address space is typically mapped to
+ * the internal ROM. Never allocate the first page, to
+ * facilitate bug detection; even if we didn't boot from ROM.
+ * As GPMC minimum partition size is 16MB we can only start from
+ * there.
+ */
+#define GPMC_MEM_START		0x1000000
 #define GPMC_MEM_END		0x3FFFFFFF
 
 #define GPMC_CHUNK_SHIFT	24		/* 16 MB */
@@ -1171,12 +1179,7 @@ static void gpmc_mem_init(void)
 {
 	int cs;
 
-	/*
-	 * The first 1MB of GPMC address space is typically mapped to
-	 * the internal ROM. Never allocate the first page, to
-	 * facilitate bug detection; even if we didn't boot from ROM.
-	 */
-	gpmc_mem_root.start = SZ_1M;
+	gpmc_mem_root.start = GPMC_MEM_START;
 	gpmc_mem_root.end = GPMC_MEM_END;
 
 	/* Reserve all regions that has been set up by bootloader */
@@ -1830,6 +1833,15 @@ static int gpmc_probe_generic_child(struct platform_device *pdev,
 	if (ret < 0) {
 		dev_err(&pdev->dev, "cannot remap GPMC CS %d to %pa\n",
 			cs, &res.start);
+		if (res.start < GPMC_MEM_START) {
+			dev_info(&pdev->dev,
+				 "GPMC CS %d start cannot be lesser than 0x%x\n",
+				 cs, GPMC_MEM_START);
+		} else if (res.end > GPMC_MEM_END) {
+			dev_info(&pdev->dev,
+				 "GPMC CS %d end cannot be greater than 0x%x\n",
+				 cs, GPMC_MEM_END);
+		}
 		goto err;
 	}
 
-- 
2.1.4

  parent reply	other threads:[~2015-09-18 14:53 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-18 14:53 [PATCH v3 00/27] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms Roger Quadros
     [not found] ` <1442588029-13769-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2015-09-18 14:53   ` [PATCH v3 01/27] ARM: OMAP2+: gpmc: Add platform data Roger Quadros
2015-09-18 14:53   ` [PATCH v3 07/27] memory: omap-gpmc: Remove NAND IRQ code Roger Quadros
2015-09-18 14:53   ` [PATCH v3 18/27] mtd: nand: omap2: Implement NAND ready using gpiolib Roger Quadros
     [not found]     ` <1442588029-13769-19-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2015-10-26 20:49       ` Brian Norris
     [not found]         ` <20151026204900.GI13239-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2015-10-27  8:03           ` Roger Quadros
2015-10-27  8:12             ` Boris Brezillon
2015-10-27  8:43               ` Roger Quadros
2015-10-27  8:28         ` Boris Brezillon
2015-12-03  4:45           ` Brian Norris
2015-12-03  8:41             ` Boris Brezillon
2015-10-26 21:23   ` [PATCH v3 00/27] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms Brian Norris
2015-10-27  9:37     ` Roger Quadros
2015-11-25 10:42       ` Roger Quadros
2015-11-30 19:54       ` Brian Norris
2015-12-01 14:41         ` Roger Quadros
     [not found]           ` <565DB18C.7040505-l0cyMroinI0@public.gmane.org>
2015-12-02  3:26             ` Brian Norris
2015-12-02  5:12               ` Roger Quadros
     [not found]                 ` <565E7DAC.7060401-l0cyMroinI0@public.gmane.org>
2015-12-02 15:03                   ` Tony Lindgren
2015-12-02 18:13                     ` Brian Norris
2015-12-02 20:05                       ` Tony Lindgren
2015-12-02 18:43                 ` Brian Norris
2015-12-03  5:09   ` Brian Norris
2015-12-03  6:08     ` Roger Quadros
2015-12-03  6:22       ` Brian Norris
2015-12-03  9:01         ` Roger Quadros
2015-12-03 15:17           ` Tony Lindgren
2015-09-18 14:53 ` [PATCH v3 02/27] ARM: OMAP2+: gpmc: Add gpmc timings and settings to platform data Roger Quadros
2015-09-18 14:53 ` [PATCH v3 03/27] memory: omap-gpmc: Introduce GPMC to NAND interface Roger Quadros
2015-09-18 14:53 ` [PATCH v3 04/27] mtd: nand: omap2: Use gpmc_omap_get_nand_ops() to get NAND registers Roger Quadros
2015-12-03  5:00   ` Brian Norris
2015-09-18 14:53 ` [PATCH v3 05/27] memory: omap-gpmc: Add GPMC-NAND ops to get writebufferempty status Roger Quadros
2015-09-18 14:53 ` [PATCH v3 06/27] mtd: nand: omap2: Switch to using GPMC-NAND ops for writebuffer empty check Roger Quadros
2015-09-18 14:53 ` [PATCH v3 08/27] memory: omap-gpmc: Add IRQ ops for GPMC-NAND interface Roger Quadros
2015-09-18 14:53 ` [PATCH v3 09/27] mtd: nand: omap2: manage NAND interrupts Roger Quadros
2015-09-18 14:53 ` [PATCH v3 10/27] mtd: nand: omap: Copy platform data parameters to omap_nand_info data Roger Quadros
2015-09-18 14:53 ` [PATCH v3 11/27] mtd: nand: omap: Clean up device tree support Roger Quadros
     [not found]   ` <1442588029-13769-12-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2015-10-06 10:35     ` [PATCH v4 " Roger Quadros
     [not found]       ` <5613A404.9010106-l0cyMroinI0@public.gmane.org>
2015-12-03  4:29         ` Brian Norris
2015-12-03  5:57           ` Roger Quadros
2015-12-03  6:09             ` Brian Norris
2015-09-18 14:53 ` [PATCH v3 12/27] mtd: nand: omap: Update DT binding documentation Roger Quadros
2015-09-18 14:53 ` Roger Quadros [this message]
2015-09-18 14:53 ` [PATCH v3 14/27] memory: omap-gpmc: Move device tree binding to correct location Roger Quadros
2015-09-18 14:53 ` [PATCH v3 15/27] memory: omap-gpmc: Support general purpose input for WAITPINs Roger Quadros
2015-09-18 14:53 ` [PATCH v3 16/27] memory: omap-gpmc: Reserve WAITPIN if needed for WAIT monitoring Roger Quadros
2015-09-18 14:53 ` [PATCH v3 17/27] memory: omap-gpmc: Add irqchip support to the gpiochip Roger Quadros
2015-09-18 14:53 ` [PATCH v3 19/27] memory: omap-gpmc: Prevent GPMC_STATUS from being accessed via gpmc_regs Roger Quadros
2015-09-18 14:53 ` [PATCH v3 20/27] ARM: dts: dra7: Fix NAND device nodes Roger Quadros
     [not found]   ` <1442588029-13769-21-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2015-10-14 13:34     ` Franklin S Cooper Jr.
2015-10-14 14:17       ` Roger Quadros
2015-10-14 14:37         ` Franklin S Cooper Jr.
2015-09-18 14:53 ` [PATCH v3 21/27] ARM: dts: dra7x-evm: Provide NAND ready pin Roger Quadros
2015-09-18 14:53 ` [PATCH v3 22/27] ARM: dts: am437x: Fix NAND device nodes Roger Quadros
2015-09-18 14:53 ` [PATCH v3 23/27] ARM: dts: am437x-gp-evm: Provide NAND ready pin Roger Quadros
2015-09-18 14:53 ` [PATCH v3 24/27] ARM: dts: am335x: Fix NAND device nodes Roger Quadros
2015-09-18 14:53 ` [PATCH v3 25/27] ARM: dts: am335x: Provide NAND ready pin Roger Quadros
2015-09-18 14:53 ` [PATCH v3 26/27] ARM: dts: dm816x: Fix gpmc and NAND node Roger Quadros
2015-09-18 14:53 ` [PATCH v3 27/27] ARM: dts: omap3: Fix gpmc and NAND nodes Roger Quadros
     [not found]   ` <1442588029-13769-28-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2015-10-13  0:43     ` Tony Lindgren
2015-10-13  6:29       ` Roger Quadros
     [not found]         ` <561CA4C3.4-l0cyMroinI0@public.gmane.org>
2015-10-13 15:18           ` Tony Lindgren
2015-10-14  7:39             ` Roger Quadros
2015-10-14  8:55   ` [PATCH v4 " Roger Quadros
2015-09-30  7:39 ` [PATCH v3 00/27] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms Roger Quadros
2015-09-30 11:00 ` Roger Quadros
2015-10-06  8:33   ` Tony Lindgren
     [not found]     ` <20151006083346.GL23801-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-10-06  9:54       ` Roger Quadros
     [not found]         ` <56139A72.6040600-l0cyMroinI0@public.gmane.org>
2015-10-06 10:00           ` Tony Lindgren
2015-10-06 10:05             ` Roger Quadros
     [not found]               ` <56139CE9.8020002-l0cyMroinI0@public.gmane.org>
2015-10-06 10:28                 ` Roger Quadros
     [not found]                   ` <5613A256.8000105-l0cyMroinI0@public.gmane.org>
2015-10-06 11:01                     ` Tony Lindgren
2015-10-06 11:09                       ` Roger Quadros
2015-10-16 21:25                         ` Tony Lindgren
     [not found]                           ` <20151016212510.GF24370-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2015-10-19  7:08                             ` Roger Quadros
2015-10-21  8:31                               ` Roger Quadros
     [not found]                                 ` <56274D69.1090402-l0cyMroinI0@public.gmane.org>
2015-10-21 15:20                                   ` Tony Lindgren
2015-10-23  7:09                                     ` Roger Quadros
2015-11-30 17:26                                       ` Tony Lindgren

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=1442588029-13769-14-git-send-email-rogerq@ti.com \
    --to=rogerq@ti.com \
    --cc=computersforpeace@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=ezequiel@vanguardiasur.com.ar \
    --cc=fcooper@ti.com \
    --cc=javier@dowhile0.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=tony@atomide.com \
    /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).