linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: linux-omap@vger.kernel.org, linux-next@vger.kernel.org,
	linux-kernel@vger.kernel.org, Russell King <rmk@arm.linux.org.uk>
Subject: Re: linux-next: manual merge of the omap tree with the arm tree
Date: Thu, 4 Feb 2010 15:30:19 -0800	[thread overview]
Message-ID: <20100204233019.GY22747@atomide.com> (raw)
In-Reply-To: <20100205102030.c8b139a1.sfr@canb.auug.org.au>

* Stephen Rothwell <sfr@canb.auug.org.au> [100204 15:17]:
> Hi all,
> 
> Today's linux-next merge of the omap tree got a conflict in
> arch/arm/mach-omap1/include/mach/debug-macro.S
> arch/arm/mach-omap2/include/mach/debug-macro.S between commit
> 7f62dc4756eaf761570b96250630d48f80397d64 ("ARM: 5910/1: ARM: Add tmp
> register for addruart and loadsp") from the arm tree and commit 209f5d2d2c8e385834d138ac593df86504a28ffe ("omap: Make
> uncompress code and DEBUG_LL code generic") from the omap tree.
> 
> I fixed it up (see below) and can carry the fix as necessary.

Thanks, I'll sort it out in omap for-next tree so they merge
cleanly.

Tony

> -- 
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
> 
> diff --cc arch/arm/mach-omap1/include/mach/debug-macro.S
> index 8c74cab,0187391..0000000
> --- a/arch/arm/mach-omap1/include/mach/debug-macro.S
> +++ b/arch/arm/mach-omap1/include/mach/debug-macro.S
> @@@ -11,7 -11,43 +11,43 @@@
>    *
>   */
>   
> + #include <linux/serial_reg.h>
> + 
> + #include <plat/serial.h>
> + 
> + 		.pushsection .data
> + omap_uart_phys:	.word	0x0
> + omap_uart_virt:	.word	0x0
> + 		.popsection
> + 
> + 		/*
> + 		 * Note that this code won't work if the bootloader passes
> + 		 * a wrong machine ID number in r1. To debug, just hardcode
> + 		 * the desired UART phys and virt addresses temporarily into
> + 		 * the omap_uart_phys and omap_uart_virt above.
> + 		 */
>  -		.macro	addruart,rx
>  +		.macro	addruart, rx, tmp
> + 
> + 		/* Use omap_uart_phys/virt if already configured */
> + 9:		mrc	p15, 0, \rx, c1, c0
> + 		tst	\rx, #1			@ MMU enabled?
> + 		ldreq	\rx, =omap_uart_phys	@ physical base address
> + 		ldrne	\rx, =omap_uart_virt	@ virtual base
> + 		ldr	\rx, [\rx, #0]
> + 		cmp	\rx, #0			@ is port configured?
> + 		bne	99f			@ already configured
> + 
> + 		/* Check 7XX UART1 scratchpad register for uart to use */
> + 		mrc	p15, 0, \rx, c1, c0
> + 		tst	\rx, #1			@ MMU enabled?
> + 		moveq	\rx, #0xff000000	@ physical base address
> + 		movne	\rx, #0xfe000000	@ virtual base
> + 		orr	\rx, \rx, #0x00fb0000	@ OMAP1UART1
> + 		ldrb	\rx, [\rx, #(UART_SCR << OMAP7XX_PORT_SHIFT)]
> + 		cmp	\rx, #0			@ anything in 7XX scratchpad?
> + 		bne	10f			@ found 7XX uart
> + 
> + 		/* Check 15xx/16xx UART1 scratchpad register for uart to use */
>   		mrc	p15, 0, \rx, c1, c0
>   		tst	\rx, #1			@ MMU enabled?
>   		moveq	\rx, #0xff000000	@ physical base address
> diff --cc arch/arm/mach-omap2/include/mach/debug-macro.S
> index 86979d7,eb05a22..0000000
> --- a/arch/arm/mach-omap2/include/mach/debug-macro.S
> +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S
> @@@ -11,32 -11,107 +11,107 @@@
>    *
>   */
>   
> + #include <linux/serial_reg.h>
> + 
> + #include <plat/serial.h>
> + 
> + #define UART_OFFSET(addr)	((addr) & 0x00ffffff)
> + 
> + 		.pushsection .data
> + omap_uart_phys:	.word	0
> + omap_uart_virt:	.word	0
> + omap_uart_lsr:	.word	0
> + 		.popsection
> + 
> + 		/*
> + 		 * Note that this code won't work if the bootloader passes
> + 		 * a wrong machine ID number in r1. To debug, just hardcode
> + 		 * the desired UART phys and virt addresses temporarily into
> + 		 * the omap_uart_phys and omap_uart_virt above.
> + 		 */
>  -		.macro	addruart,rx
>  +		.macro	addruart, rx, tmp
> + 
> + 		/* Use omap_uart_phys/virt if already configured */
> + 10:		mrc	p15, 0, \rx, c1, c0
> + 		tst	\rx, #1			@ MMU enabled?
> + 		ldreq	\rx, =omap_uart_phys	@ physical base address
> + 		ldrne	\rx, =omap_uart_virt	@ virtual base address
> + 		ldr	\rx, [\rx, #0]
> + 		cmp	\rx, #0			@ is port configured?
> + 		bne	99f			@ already configured
> + 
> + 		/* Check UART1 scratchpad register for uart to use */
>   		mrc	p15, 0, \rx, c1, c0
>   		tst	\rx, #1			@ MMU enabled?
> - #ifdef  CONFIG_ARCH_OMAP2
>   		moveq	\rx, #0x48000000	@ physical base address
>   		movne	\rx, #0xfa000000	@ virtual base
> - 		orr	\rx, \rx, #0x0006a000
> - #ifdef CONFIG_OMAP_LL_DEBUG_UART2
> - 		add	\rx, \rx, #0x00002000	@ UART 2
> - #endif
> - #ifdef CONFIG_OMAP_LL_DEBUG_UART3
> - 		add	\rx, \rx, #0x00004000	@ UART 3
> - #endif
> - 
> - #elif defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
> - 		moveq	\rx, #0x48000000	@ physical base address
> - 		movne	\rx, #0xfa000000	@ virtual base
> - 		orr	\rx, \rx, #0x0006a000
> - #ifdef CONFIG_OMAP_LL_DEBUG_UART2
> - 		add	\rx, \rx, #0x00002000	@ UART 2
> - #endif
> - #ifdef CONFIG_OMAP_LL_DEBUG_UART3
> - 		add	\rx, \rx, #0x00fb0000	@ UART 3
> - 		add	\rx, \rx, #0x00006000
> - #endif
> - #endif
> + 		orr	\rx, \rx, #0x0006a000	@ uart1 on omap2/3/4
> + 		ldrb	\rx, [\rx, #(UART_SCR << OMAP_PORT_SHIFT)] @ scratchpad
> + 
> + 		/* Select the UART to use based on the UART1 scratchpad value */
> + 		cmp	\rx, #0			@ no port configured?
> + 		beq	21f			@ if none, try to use UART1
> + 		cmp	\rx, #OMAP2UART1	@ OMAP2/3/4UART1
> + 		beq	21f			@ configure OMAP2/3/4UART1
> + 		cmp	\rx, #OMAP2UART2	@ OMAP2/3/4UART2
> + 		beq	22f			@ configure OMAP2/3/4UART2
> + 		cmp	\rx, #OMAP2UART3	@ only on 24xx
> + 		beq	23f			@ configure OMAP2UART3
> + 		cmp	\rx, #OMAP3UART3	@ only on 34xx
> + 		beq	33f			@ configure OMAP3UART3
> + 		cmp	\rx, #OMAP4UART3	@ only on 44xx
> + 		beq	43f			@ configure OMAP4UART3
> + 		cmp	\rx, #OMAP3UART4	@ only on 36xx
> + 		beq	34f			@ configure OMAP3UART4
> + 		cmp	\rx, #OMAP4UART4	@ only on 44xx
> + 		beq	44f			@ configure OMAP4UART4
> + 		cmp	\rx, #ZOOM_UART		@ only on zoom2/3
> + 		beq	95f			@ configure ZOOM_UART
> + 
> + 		/* Configure the UART offset from the phys/virt base */
> + 21:		mov	\rx, #UART_OFFSET(OMAP2_UART1_BASE)	@ omap2/3/4
> + 		b	98f
> + 22:		mov	\rx, #UART_OFFSET(OMAP2_UART2_BASE)	@ omap2/3/4
> + 		b	98f
> + 23:		mov	\rx, #UART_OFFSET(OMAP2_UART3_BASE)
> + 		b	98f
> + 33:		mov	\rx, #UART_OFFSET(OMAP3_UART1_BASE)
> + 		add	\rx, \rx, #0x00fb0000
> + 		add	\rx, \rx, #0x00006000		@ OMAP3_UART3_BASE
> + 		b	98f
> + 34:		mov	\rx, #UART_OFFSET(OMAP3_UART1_BASE)
> + 		add	\rx, \rx, #0x00fb0000
> + 		add	\rx, \rx, #0x00028000		@ OMAP3_UART4_BASE
> + 		b	98f
> + 43:		mov	\rx, #UART_OFFSET(OMAP4_UART3_BASE)
> + 		b	98f
> + 44:		mov	\rx, #UART_OFFSET(OMAP4_UART4_BASE)
> + 		b	98f
> + 95:		mov	\rx, #ZOOM_UART_BASE
> + 		ldr	r1, =omap_uart_phys
> + 		str	\rx, [r1, #0]
> + 		mov	\rx, #ZOOM_UART_VIRT
> + 		ldr	r1, =omap_uart_virt
> + 		str	\rx, [r1, #0]
> + 		mov	\rx, #(UART_LSR << ZOOM_PORT_SHIFT)
> + 		ldr	r1, =omap_uart_lsr
> + 		str	\rx, [r1, #0]
> + 		b	10b
> + 
> + 		/* Store both phys and virt address for the uart */
> + 98:		add	\rx, \rx, #0x48000000	@ phys base
> + 		ldr	r1, =omap_uart_phys
> + 		str	\rx, [r1, #0]
> + 		sub	\rx, \rx, #0x48000000	@ phys base
> + 		add	\rx, \rx, #0xfa000000	@ virt base
> + 		ldr	r1, =omap_uart_virt
> + 		str	\rx, [r1, #0]
> + 		mov	\rx, #(UART_LSR << OMAP_PORT_SHIFT)
> + 		ldr	r1, =omap_uart_lsr
> + 		str	\rx, [r1, #0]
> + 
> + 		b	10b
> + 99:
>   		.endm
>   
>   		.macro	senduart,rd,rx

  reply	other threads:[~2010-02-04 23:29 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-04 23:20 linux-next: manual merge of the omap tree with the arm tree Stephen Rothwell
2010-02-04 23:30 ` Tony Lindgren [this message]
2010-02-05  0:16   ` Stephen Rothwell
2010-02-05  4:04     ` Tony Lindgren
2010-02-15 15:03       ` Russell King
2010-02-17 19:33         ` Tony Lindgren
  -- strict thread matches above, loose matches on Subject: below --
2010-12-26 22:41 Stephen Rothwell
2010-07-08  1:37 Stephen Rothwell
2010-07-08 10:14 ` Tony Lindgren
2010-07-04 23:20 Stephen Rothwell
2010-07-05  1:46 ` Nicolas Pitre
2010-07-05  7:14   ` Stephen Rothwell
2010-07-05 13:44     ` Tony Lindgren
2009-08-19  5:04 Stephen Rothwell
2009-08-20 10:20 ` Tony Lindgren
2009-08-20 13:03   ` Shilimkar, Santosh
2009-08-20 13:13     ` Shilimkar, Santosh
2009-08-20 13:55       ` Tony Lindgren
2009-08-24 13:07   ` Tony Lindgren
2009-08-24 13:14     ` Stephen Rothwell
2009-05-28  4:31 Stephen Rothwell
2009-05-28  6:25 ` Shilimkar, Santosh
2009-05-28  6:34   ` Stephen Rothwell
2009-05-28  6:40     ` Shilimkar, Santosh

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=20100204233019.GY22747@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=rmk@arm.linux.org.uk \
    --cc=sfr@canb.auug.org.au \
    /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).