Skip to content

Commit

Permalink
Move UART setup outside DRAM init
Browse files Browse the repository at this point in the history
When a BMC reboot occurs an SOC reset is performed.
An SOC reset does not reset the DRAM.  The uboot platform
code initialized UART in dram init section.  So an SOC
reset was causing the UART to not be initialized on reboot.
This moves the UART setup code before dram init stage.
This change should be integrated if SOC reset method is used
to reboot BMC otherwise you won't see a u-boot console.

Signed-off-by: Norman James <nkskjames@gmail.com>
  • Loading branch information
nkskjames committed Feb 22, 2016
1 parent e00b3cc commit a947c6c
Showing 1 changed file with 42 additions and 39 deletions.
81 changes: 42 additions & 39 deletions board/aspeed/ast2400/platform.S
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,48 @@ LPC_Patch_E:

.globl lowlevel_init
lowlevel_init:
/* setup UART */
ldr r0, =CONFIG_ASPEED_COM_LCR
mov r1, #0x83
str r1, [r0]

ldr r0, =0x1e6e202c
ldr r1, =0x00000010
str r1, [r0]

ldr r2, [r0]
mov r2, r2, lsr #12
tst r2, #0x01
ldr r0, =CONFIG_ASPEED_COM
#if CONFIG_BAUDRATE == 115200
moveq r1, #0x0D @ Baudrate 115200
movne r1, #0x01 @ Baudrate 115200, div13
#endif
#if CONFIG_BAUDRATE == 57600
moveq r1, #0x1A @ Baudrate 57600
movne r1, #0x02 @ Baudrate 57600, div13
#endif
#if CONFIG_BAUDRATE == 38400
moveq r1, #0x27 @ Baudrate 38400
movne r1, #0x03 @ Baudrate 38400 , div13
#endif
#if CONFIG_BAUDRATE == 9600
moveq r1, #0x9c @ Baudrate 9600
movne r1, #0x0C @ Baudrate 9600 , div13
#endif
str r1, [r0]

ldr r0, =CONFIG_ASPEED_COM_IER
mov r1, #0x00
str r1, [r0]

ldr r0, =CONFIG_ASPEED_COM_LCR
mov r1, #0x03
str r1, [r0]

ldr r0, =CONFIG_ASPEED_COM_IIR
mov r1, #0x07
str r1, [r0]

init_dram:
/* save lr */
Expand Down Expand Up @@ -338,45 +380,6 @@ set_MPLL:
ldr r1, =0xFFFF0000 @ enable UART3 and UART4
str r1, [r0]

ldr r0, =CONFIG_ASPEED_COM_LCR
mov r1, #0x83
str r1, [r0]

ldr r0, =0x1e6e202c
ldr r2, [r0]
mov r2, r2, lsr #12
tst r2, #0x01
ldr r0, =CONFIG_ASPEED_COM
#if CONFIG_BAUDRATE == 115200
moveq r1, #0x0D @ Baudrate 115200
movne r1, #0x01 @ Baudrate 115200, div13
#endif
#if CONFIG_BAUDRATE == 57600
moveq r1, #0x1A @ Baudrate 57600
movne r1, #0x02 @ Baudrate 57600, div13
#endif
#if CONFIG_BAUDRATE == 38400
moveq r1, #0x27 @ Baudrate 38400
movne r1, #0x03 @ Baudrate 38400 , div13
#endif
#if CONFIG_BAUDRATE == 9600
moveq r1, #0x9c @ Baudrate 9600
movne r1, #0x0C @ Baudrate 9600 , div13
#endif
str r1, [r0]

ldr r0, =CONFIG_ASPEED_COM_IER
mov r1, #0x00
str r1, [r0]

ldr r0, =CONFIG_ASPEED_COM_LCR
mov r1, #0x03
str r1, [r0]

ldr r0, =CONFIG_ASPEED_COM_IIR
mov r1, #0x07
str r1, [r0]

ldr r0, =CONFIG_ASPEED_COM
mov r1, #0x0D @ '\r'
str r1, [r0]
Expand Down

0 comments on commit a947c6c

Please sign in to comment.