devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Vrabel <david.vrabel@citrix.com>
To: Pawel Moll <pawel.moll@arm.com>
Cc: devicetree-discuss@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v6 6/9] ARM: vexpress: Motherboard RS1 memory map support
Date: Wed, 4 Jan 2012 16:35:45 +0000	[thread overview]
Message-ID: <4F047FE1.5030002@citrix.com> (raw)
In-Reply-To: <1323957761-13553-7-git-send-email-pawel.moll@arm.com>

On 15/12/11 14:02, Pawel Moll wrote:
> This patch adds support for RS1 memory map based Versatile Express
> motherboard.
> 
[...]
> --- a/arch/arm/mach-vexpress/include/mach/debug-macro.S
> +++ b/arch/arm/mach-vexpress/include/mach/debug-macro.S
> @@ -10,12 +10,41 @@
>   * published by the Free Software Foundation.
>   */
>  
> -#define DEBUG_LL_UART_OFFSET	0x00009000
> +#define DEBUG_LL_PHYS_BASE		0x10000000
> +#define DEBUG_LL_UART_OFFSET		0x00009000
> +
> +#define DEBUG_LL_PHYS_BASE_RS1		0x1c000000
> +#define DEBUG_LL_UART_OFFSET_RS1	0x00090000
> +
> +#define DEBUG_LL_VIRT_BASE		0xf8000000
>  
>  		.macro	addruart,rp,rv,tmp
> -		mov	\rp, #DEBUG_LL_UART_OFFSET
> -		orr	\rv, \rp, #0xf8000000	@ virtual base
> -		orr	\rp, \rp, #0x10000000	@ physical base
> +
> +		@ Check the MMU state
> +#if defined(CONFIG_MMU)
> +		mrc	p15, 0, \tmp, c1, c0	@ SCTRL
> +		tst	\tmp, #1		@ MMU enabled?
> +		moveq	\tmp, #DEBUG_LL_PHYS_BASE
> +		movne	\tmp, #DEBUG_LL_VIRT_BASE
> +#else
> +		mov	\tmp, #DEBUG_LL_PHYS_BASE
> +#endif
> +
> +		@ PL011 present in "original" place?
> +		orr	\tmp, \tmp, #DEBUG_LL_UART_OFFSET
> +		ldr	\tmp, [\tmp, #0xfe0]	@ PeriphID0

This doesn't work with CONFIG_EARLY_PRINTK=y on a system with the RS1
memory map.   __create_page_tables has only mapped the single physical
page at 0x1c090000 and thus the test for the UART in the other memory
map faults.

I made it work with this hack, but I'm not sure what the correct
solution would be.

diff --git a/arch/arm/mach-vexpress/include/mach/debug-macro.S
b/arch/arm/mach-vexpress/include/mach/debug-macro.S
index 8010ff9..af443b4 100644
--- a/arch/arm/mach-vexpress/include/mach/debug-macro.S
+++ b/arch/arm/mach-vexpress/include/mach/debug-macro.S
@@ -30,6 +30,7 @@
 		mov	\tmp, #DEBUG_LL_PHYS_BASE
 #endif

+#if 0
 		@ PL011 present in "original" place?
 		orr	\tmp, \tmp, #DEBUG_LL_UART_OFFSET
 		ldr	\tmp, [\tmp, #0xfe0]	@ PeriphID0
@@ -39,11 +40,12 @@
 		moveq	\rp, #DEBUG_LL_UART_OFFSET
 		orreq	\rv, \rp, #DEBUG_LL_VIRT_BASE
 		orreq	\rp, \rp, #DEBUG_LL_PHYS_BASE
+#endif

-		@ RS1 memory map
-		movne	\rp, #DEBUG_LL_UART_OFFSET_RS1
-		orrne	\rv, \rp, #DEBUG_LL_VIRT_BASE
-		orrne	\rp, \rp, #DEBUG_LL_PHYS_BASE_RS1
+       		@ RS1 memory map
+		mov	\rp, #DEBUG_LL_UART_OFFSET_RS1
+		mov	\rv, \rp, #DEBUG_LL_VIRT_BASE
+		orr	\rp, \rp, #DEBUG_LL_PHYS_BASE_RS1

 		.endm

> +		teq	\tmp, #0x11		@ PL011
> +
> +		@ Original memory map
> +		moveq	\rp, #DEBUG_LL_UART_OFFSET
> +		orreq	\rv, \rp, #DEBUG_LL_VIRT_BASE
> +		orreq	\rp, \rp, #DEBUG_LL_PHYS_BASE
> +
> +		@ RS1 memory map
> +		movne	\rp, #DEBUG_LL_UART_OFFSET_RS1
> +		orrne	\rv, \rp, #DEBUG_LL_VIRT_BASE
> +		orrne	\rp, \rp, #DEBUG_LL_PHYS_BASE_RS1
> +
>  		.endm
>  
>  #include <asm/hardware/debug-pl01x.S>

David

  reply	other threads:[~2012-01-04 16:35 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-15 14:02 [PATCH v6 0/9] Versatile Express DT support Pawel Moll
2011-12-15 14:02 ` [PATCH v6 1/9] ARM: versatile: Add missing ENDPROC to headsmp.S Pawel Moll
2011-12-15 14:02 ` [PATCH v6 2/9] ARM: vexpress: Get rid of MMIO_P2V Pawel Moll
2011-12-15 14:02 ` [PATCH v6 3/9] ARM: versatile: Map local timers using Device Tree when possible Pawel Moll
     [not found]   ` <1323957761-13553-4-git-send-email-pawel.moll-5wv7dgnIgG8@public.gmane.org>
2011-12-15 14:53     ` Rob Herring
2011-12-15 15:25       ` Pawel Moll
2011-12-15 17:25         ` Pawel Moll
2011-12-15 14:02 ` [PATCH v6 4/9] ARM: vexpress: Use FDT data in platform SMP calls Pawel Moll
2011-12-15 14:02 ` [PATCH v6 5/9] ARM: vexpress: Add Device Tree support Pawel Moll
2012-01-10 11:13   ` Jon Medhurst (Tixy)
2011-12-15 14:02 ` [PATCH v6 6/9] ARM: vexpress: Motherboard RS1 memory map support Pawel Moll
2012-01-04 16:35   ` David Vrabel [this message]
2012-01-19 13:21     ` Pawel Moll
     [not found]       ` <1326979266.32197.60.camel-okZbbLrgpR/YkXV2EHHjLW3o5bpOHsLO@public.gmane.org>
2012-01-19 16:46         ` David Vrabel
2012-01-19 17:31           ` Pawel Moll
2012-01-27 14:02           ` Pawel Moll
     [not found]             ` <1327672960.24701.55.camel-okZbbLrgpR/YkXV2EHHjLW3o5bpOHsLO@public.gmane.org>
2012-01-30 17:32               ` Dave Martin
2012-01-30 17:26         ` Dave Martin
2011-12-15 14:02 ` [PATCH v6 7/9] ARM: vexpress: Add Device Tree for V2P-CA5s core tile Pawel Moll
2011-12-15 14:02 ` [PATCH v6 8/9] ARM: vexpress: Add Device Tree for V2P-CA9 " Pawel Moll
2011-12-15 14:02 ` [PATCH v6 9/9] ARM: vexpress: Add Device Tree for V2P-CA15 core tile (TC1 variant) Pawel Moll
2012-01-10 14:21   ` David Vrabel
2012-01-19 13:27     ` Pawel Moll
     [not found]       ` <1326979652.32197.66.camel-okZbbLrgpR/YkXV2EHHjLW3o5bpOHsLO@public.gmane.org>
2012-01-19 13:34         ` Rob Herring
2012-01-19 13:43           ` Pawel Moll
     [not found]             ` <1326980594.32197.67.camel-okZbbLrgpR/YkXV2EHHjLW3o5bpOHsLO@public.gmane.org>
2012-01-19 14:01               ` Rob Herring
2012-01-19 14:51                 ` Pawel Moll
     [not found]                   ` <1326984672.32197.68.camel-okZbbLrgpR/YkXV2EHHjLW3o5bpOHsLO@public.gmane.org>
2012-01-19 17:00                     ` David Vrabel
     [not found]                       ` <4F184C48.2050505-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2012-01-19 17:11                         ` Russell King - ARM Linux
2012-01-19 17:27                       ` Pawel Moll
     [not found]                         ` <1326994035.13748.7.camel-okZbbLrgpR/YkXV2EHHjLW3o5bpOHsLO@public.gmane.org>
2012-01-19 17:50                           ` Russell King - ARM Linux
     [not found]                             ` <20120119175053.GE10404-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2012-01-19 17:59                               ` Grant Likely
2012-01-19 18:09                                 ` Nicolas Pitre
     [not found]                                   ` <alpine.LFD.2.02.1201191305180.19587-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2012-01-19 22:07                                     ` Grant Likely
2012-01-25 17:43                       ` Pawel Moll
     [not found]                         ` <1327513396.2355.28.camel-okZbbLrgpR/YkXV2EHHjLW3o5bpOHsLO@public.gmane.org>
2012-01-30 17:42                           ` Dave Martin
     [not found]                             ` <20120130174212.GH2248-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-01-30 21:31                               ` Grant Likely
     [not found]                                 ` <20120130213115.GA22611-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2012-01-31 11:50                                   ` Dave Martin

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=4F047FE1.5030002@citrix.com \
    --to=david.vrabel@citrix.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=pawel.moll@arm.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).