Part Number: AM5706
Hello,
I am trying to boot Linux. I have loaded spl and u-boot parts, but when u-boot is trying to load Linux the process hungs. I suppose the problem is an attemption using UART9 instead of UART3.
I have changed the Kconfig.debug file which lie in /arc/arm by the next way.
+config DEBUG_OMAP5UART9
+ bool "Kernel low-level debugging messages via OMAP5 UART9"
+ depends on ARCH_OMAP2PLUS
+ select DEBUG_UART_8250
config DEBUG_UART_PHYS
+ default 0x48424000 if DEBUG_OMAP5UART9
config DEBUG_UART_VIRT
+ default 0xfa424000 if DEBUG_OMAP5UART9
And in the .config file I see this changes, but the program hangs at the next place
80c42404: E59F1018 ldr r1, [pc, #0x18]
80c42408: E59F2018 ldr r2, [pc, #0x18]
80c4240c: E5C10000 strb r0, [r1]
-----------------------Start cycle---------------------
80c42410: E5D13014 ldrb r3, [r1, #0x14]
80c42414: E2033060 and r3, r3, #0x60
80c42418: E3330060 teq r3, #0x60
80c4241c: 1AFFFFFB bne #0x80c42410
----------------------End cycle------------------------
80c42420: E1A0F00E mov pc, lr
80c42424: 48020000 .word 0x48020000
And r1 keeps 0x48020000 instead of my 0x48424000. I suppose, this part of code related to the 8250.S file.
.macro busyuart,rd,rx
1002: load \rd, [\rx, #UART_LSR << UART_SHIFT]
and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
teq \rd, #UART_LSR_TEMT | UART_LSR_THRE
bne 1002b
.endm
But I have no idea, how to force it use my address.