All of lore.kernel.org
 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: 30+ 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:20 ` 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-12-26 22:41 ` Stephen Rothwell
2010-07-08  1:37 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-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-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  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 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.