Commit 1b03713f authored by Dave Jiang's avatar Dave Jiang Committed by Russell King

[ARM PATCH] 2033/1: IOP3xx patch submission (1/6)

Patch from Dave Jiang

This patch depends on the applied patches of 1963/1 2017/1
This is the arch/arm/boot directory

As to address RMK's previous questions in head-xscale.S, all that are workarounds
for improper things coming from redboot. Currently the distribution redboot for IOP does not pass in correct MACH ID or setup the memory map correctly after exec (according to Deepak). So we have to fix it. I'm working on pushing the IOP redboot developer to fix those things at a later date.
parent 79fdcc0c
...@@ -50,6 +50,12 @@ initrd_phys-$(CONFIG_ARCH_SA1100) := 0xc0800000 ...@@ -50,6 +50,12 @@ initrd_phys-$(CONFIG_ARCH_SA1100) := 0xc0800000
zreladdr-$(CONFIG_ARCH_MX1ADS) := 0x08008000 zreladdr-$(CONFIG_ARCH_MX1ADS) := 0x08008000
zreladdr-$(CONFIG_ARCH_IOP3XX) := 0xa0008000 zreladdr-$(CONFIG_ARCH_IOP3XX) := 0xa0008000
params_phys-$(CONFIG_ARCH_IOP3XX) := 0xa0000100 params_phys-$(CONFIG_ARCH_IOP3XX) := 0xa0000100
initrd_phys-$(CONFIG_ARCH_IOP3XX) := 0xa0800000
ifeq ($(CONFIG_ARCH_IOP331),y)
zreladdr-$(CONFIG_ARCH_IOP3XX) := 0x00008000
params_phys-$(CONFIG_ARCH_IOP3XX) := 0x00000100
initrd_phys-$(CONFIG_ARCH_IOP3XX) := 0x00800000
endif
zreladdr-$(CONFIG_ARCH_IXP4XX) := 0x00008000 zreladdr-$(CONFIG_ARCH_IXP4XX) := 0x00008000
params-phys-$(CONFIG_ARCH_IXP4XX) := 0x00000100 params-phys-$(CONFIG_ARCH_IXP4XX) := 0x00000100
zreladdr-$(CONFIG_ARCH_OMAP) := 0x10008000 zreladdr-$(CONFIG_ARCH_OMAP) := 0x10008000
......
...@@ -40,6 +40,20 @@ __XScale_start: ...@@ -40,6 +40,20 @@ __XScale_start:
mov r7, #MACH_TYPE_IQ80321 mov r7, #MACH_TYPE_IQ80321
#endif #endif
#ifdef CONFIG_ARCH_IQ31244
orr pc, pc, #PHYS_OFFSET @ jump to physical memory if we are not there.
nop
mov r7, #(MACH_TYPE_IQ31244 & 0xff)
orr r7, r7, #(MACH_TYPE_IQ31244 & 0xff00)
#endif
#ifdef CONFIG_ARCH_IQ80331
orr pc, pc, #PHYS_OFFSET @ jump to physical memory if we are not there.
nop
mov r7, #(MACH_TYPE_IQ80331 & 0xff)
orr r7, r7, #(MACH_TYPE_IQ80331 & 0xff00)
#endif
#ifdef CONFIG_ARCH_LUBBOCK #ifdef CONFIG_ARCH_LUBBOCK
mov r7, #MACH_TYPE_LUBBOCK mov r7, #MACH_TYPE_LUBBOCK
#endif #endif
...@@ -47,3 +61,4 @@ __XScale_start: ...@@ -47,3 +61,4 @@ __XScale_start:
#ifdef CONFIG_ARCH_COTULLA_IDP #ifdef CONFIG_ARCH_COTULLA_IDP
mov r7, #MACH_TYPE_COTULLA_IDP mov r7, #MACH_TYPE_COTULLA_IDP
#endif #endif
...@@ -100,6 +100,15 @@ ...@@ -100,6 +100,15 @@
.macro writeb, rb .macro writeb, rb
strb \rb, [r3] strb \rb, [r3]
.endm .endm
#elif defined(CONFIG_ARCH_IOP331)
.macro loadsp, rb
mov \rb, #0xff000000
orr \rb, \rb, #0x00ff0000
orr \rb, \rb, #0x0000f700 @ location of the UART
.endm
.macro writeb, rb
str \rb, [r3, #0]
.endm
#else #else
#error no serial architecture defined #error no serial architecture defined
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment