From: Tony Lindgren <tony@atomide.com>
To: Jon Hunter <jon-hunter@ti.com>
Cc: linux-omap <linux-omap@vger.kernel.org>,
linux-arm <linux-arm-kernel@lists.infradead.org>,
Afzal Mohammed <afzal@ti.com>
Subject: Re: [PATCH 2/2] ARM: OMAP2: Fix GPMC memory initialisation
Date: Fri, 1 Feb 2013 13:51:54 -0800 [thread overview]
Message-ID: <20130201215154.GV22517@atomide.com> (raw)
In-Reply-To: <1359736726-10193-3-git-send-email-jon-hunter@ti.com>
Hi Jon,
* Jon Hunter <jon-hunter@ti.com> [130201 08:42]:
> --- a/arch/arm/mach-omap2/gpmc.c
> +++ b/arch/arm/mach-omap2/gpmc.c
> @@ -32,6 +32,7 @@
>
> #include "soc.h"
> #include "common.h"
> +#include "control.h"
> #include "omap_device.h"
> #include "gpmc.h"
>
> @@ -778,18 +779,26 @@ static void gpmc_mem_exit(void)
> static int gpmc_mem_init(void)
> {
> int cs, rc;
> - unsigned long boot_rom_space = 0;
>
> - /* never allocate the first page, to facilitate bug detection;
> - * even if we didn't boot from ROM.
> + /*
> + * The first 1MB of GPMC address space is mapped to the
> + * internal ROM. OMAP2 devices are an exception to this
> + * where the first 1MB may be mapped to the GPMC.
> */
> - boot_rom_space = BOOT_ROM_SPACE;
> - /* In apollon the CS0 is mapped as 0x0000 0000 */
> - if (machine_is_omap_apollon())
> - boot_rom_space = 0;
This part is going away anyways with the patch dropping apollon
board support from Kyungin.
> - gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space;
> + gpmc_mem_root.start = GPMC_MEM_START + BOOT_ROM_SPACE;
> gpmc_mem_root.end = GPMC_MEM_END;
>
> + /*
> + * OMAP2 devices that boot from external memory devices, will
> + * map CS0 to the start of the GPMC address space (0x0). We can
> + * test this by checking if SYS_BOOT3 pin is set. If not set
> + * then CS0 is mapped to 0x0.
> + */
> + if (cpu_is_omap24xx())
> + if (!(omap_ctrl_readl(OMAP24XX_CONTROL_STATUS) &
> + OMAP2_SYSBOOT_3_MASK))
> + gpmc_mem_root.start = GPMC_MEM_START;
> +
> /* Reserve all regions that has been set up by bootloader */
> for (cs = 0; cs < GPMC_CS_NUM; cs++) {
> u32 base, size;
How about let's fix this properly to start with so we don't add
more blockers moving this code to drivers/bus?
Looks like gpmc_mem_init() gets called from gpmc_probe() so
we can pass that information in pdev.
Regards,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] ARM: OMAP2: Fix GPMC memory initialisation
Date: Fri, 1 Feb 2013 13:51:54 -0800 [thread overview]
Message-ID: <20130201215154.GV22517@atomide.com> (raw)
In-Reply-To: <1359736726-10193-3-git-send-email-jon-hunter@ti.com>
Hi Jon,
* Jon Hunter <jon-hunter@ti.com> [130201 08:42]:
> --- a/arch/arm/mach-omap2/gpmc.c
> +++ b/arch/arm/mach-omap2/gpmc.c
> @@ -32,6 +32,7 @@
>
> #include "soc.h"
> #include "common.h"
> +#include "control.h"
> #include "omap_device.h"
> #include "gpmc.h"
>
> @@ -778,18 +779,26 @@ static void gpmc_mem_exit(void)
> static int gpmc_mem_init(void)
> {
> int cs, rc;
> - unsigned long boot_rom_space = 0;
>
> - /* never allocate the first page, to facilitate bug detection;
> - * even if we didn't boot from ROM.
> + /*
> + * The first 1MB of GPMC address space is mapped to the
> + * internal ROM. OMAP2 devices are an exception to this
> + * where the first 1MB may be mapped to the GPMC.
> */
> - boot_rom_space = BOOT_ROM_SPACE;
> - /* In apollon the CS0 is mapped as 0x0000 0000 */
> - if (machine_is_omap_apollon())
> - boot_rom_space = 0;
This part is going away anyways with the patch dropping apollon
board support from Kyungin.
> - gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space;
> + gpmc_mem_root.start = GPMC_MEM_START + BOOT_ROM_SPACE;
> gpmc_mem_root.end = GPMC_MEM_END;
>
> + /*
> + * OMAP2 devices that boot from external memory devices, will
> + * map CS0 to the start of the GPMC address space (0x0). We can
> + * test this by checking if SYS_BOOT3 pin is set. If not set
> + * then CS0 is mapped to 0x0.
> + */
> + if (cpu_is_omap24xx())
> + if (!(omap_ctrl_readl(OMAP24XX_CONTROL_STATUS) &
> + OMAP2_SYSBOOT_3_MASK))
> + gpmc_mem_root.start = GPMC_MEM_START;
> +
> /* Reserve all regions that has been set up by bootloader */
> for (cs = 0; cs < GPMC_CS_NUM; cs++) {
> u32 base, size;
How about let's fix this properly to start with so we don't add
more blockers moving this code to drivers/bus?
Looks like gpmc_mem_init() gets called from gpmc_probe() so
we can pass that information in pdev.
Regards,
Tony
next prev parent reply other threads:[~2013-02-01 21:51 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-01 16:38 [PATCH 0/2] ARM: OMAP2+: GPMC Fixes Jon Hunter
2013-02-01 16:38 ` Jon Hunter
2013-02-01 16:38 ` [PATCH 1/2] ARM: OMAP2+: Prevent potential crash if GPMC probe fails Jon Hunter
2013-02-01 16:38 ` Jon Hunter
2013-02-01 22:08 ` Tony Lindgren
2013-02-01 22:08 ` Tony Lindgren
2013-02-08 22:56 ` Jon Hunter
2013-02-08 22:56 ` Jon Hunter
2013-02-09 15:55 ` Ezequiel Garcia
2013-02-09 15:55 ` Ezequiel Garcia
2013-02-14 12:04 ` Philip, Avinash
2013-02-14 12:04 ` Philip, Avinash
2013-02-16 22:37 ` Grazvydas Ignotas
2013-02-16 22:37 ` Grazvydas Ignotas
2013-02-01 16:38 ` [PATCH 2/2] ARM: OMAP2: Fix GPMC memory initialisation Jon Hunter
2013-02-01 16:38 ` Jon Hunter
2013-02-01 21:51 ` Tony Lindgren [this message]
2013-02-01 21:51 ` Tony Lindgren
2013-02-02 1:22 ` Jon Hunter
2013-02-02 1:22 ` Jon Hunter
2013-02-02 18:11 ` Tony Lindgren
2013-02-02 18:11 ` Tony Lindgren
2013-02-04 15:05 ` Jon Hunter
2013-02-04 15:05 ` Jon Hunter
2013-02-04 17:45 ` Tony Lindgren
2013-02-04 17:45 ` Tony Lindgren
2013-02-04 18:46 ` Jon Hunter
2013-02-04 18:46 ` Jon Hunter
2013-02-04 19:15 ` Tony Lindgren
2013-02-04 19:15 ` Tony Lindgren
2013-02-04 19:33 ` Jon Hunter
2013-02-04 19:33 ` Jon Hunter
2013-02-04 19:47 ` Tony Lindgren
2013-02-04 19:47 ` Tony Lindgren
2013-02-04 19:51 ` Jon Hunter
2013-02-04 19:51 ` Jon Hunter
2013-02-04 22:12 ` Jon Hunter
2013-02-04 22:12 ` Jon Hunter
2013-02-04 22:45 ` Jon Hunter
2013-02-04 22:45 ` Jon Hunter
2013-02-05 23:34 ` Tony Lindgren
2013-02-05 23:34 ` Tony Lindgren
2013-02-06 0:22 ` Jon Hunter
2013-02-06 0:22 ` Jon Hunter
2013-02-06 17:28 ` Tony Lindgren
2013-02-06 17:28 ` 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=20130201215154.GV22517@atomide.com \
--to=tony@atomide.com \
--cc=afzal@ti.com \
--cc=jon-hunter@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.