Blackfin arch: do not muck with the UART during boot -- let the serial driver worry about it
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
parent
95a86b5e51
commit
7e1e7aed0c
|
@ -35,42 +35,6 @@
|
||||||
#include <asm/mach/mem_init.h>
|
#include <asm/mach/mem_init.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
.extern _bf53x_relocate_l1_mem
|
|
||||||
|
|
||||||
__INIT
|
|
||||||
|
|
||||||
ENTRY(_mach_early_start)
|
|
||||||
/* Initialise UART - when booting from u-boot, the UART is not disabled
|
|
||||||
* so if we dont initalize here, our serial console gets hosed */
|
|
||||||
p0.h = hi(UART1_LCR);
|
|
||||||
p0.l = lo(UART1_LCR);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L; /* To enable DLL writes */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(UART1_DLL);
|
|
||||||
p0.l = lo(UART1_DLL);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L;
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(UART1_DLH);
|
|
||||||
p0.l = lo(UART1_DLH);
|
|
||||||
r0 = 0x00(Z);
|
|
||||||
w[p0] = r0.L;
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(UART1_GCTL);
|
|
||||||
p0.l = lo(UART1_GCTL);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L; /* To enable UART clock */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
rts;
|
|
||||||
ENDPROC(_mach_early_start)
|
|
||||||
|
|
||||||
__FINIT
|
|
||||||
|
|
||||||
.section .l1.text
|
.section .l1.text
|
||||||
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
||||||
ENTRY(_start_dma_code)
|
ENTRY(_start_dma_code)
|
||||||
|
|
|
@ -35,54 +35,6 @@
|
||||||
#include <asm/mach/mem_init.h>
|
#include <asm/mach/mem_init.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
.extern _bf53x_relocate_l1_mem
|
|
||||||
|
|
||||||
__INIT
|
|
||||||
|
|
||||||
ENTRY(_mach_early_start)
|
|
||||||
p0.h = hi(FIO_MASKA_C);
|
|
||||||
p0.l = lo(FIO_MASKA_C);
|
|
||||||
r0 = 0xFFFF(Z);
|
|
||||||
w[p0] = r0.L; /* Disable all interrupts */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(FIO_MASKB_C);
|
|
||||||
p0.l = lo(FIO_MASKB_C);
|
|
||||||
r0 = 0xFFFF(Z);
|
|
||||||
w[p0] = r0.L; /* Disable all interrupts */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
/* Initialise UART - when booting from u-boot, the UART is not disabled
|
|
||||||
* so if we dont initalize here, our serial console gets hosed */
|
|
||||||
p0.h = hi(BFIN_UART_LCR);
|
|
||||||
p0.l = lo(BFIN_UART_LCR);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L; /* To enable DLL writes */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_DLL);
|
|
||||||
p0.l = lo(BFIN_UART_DLL);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L;
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_DLH);
|
|
||||||
p0.l = lo(BFIN_UART_DLH);
|
|
||||||
r0 = 0x00(Z);
|
|
||||||
w[p0] = r0.L;
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_GCTL);
|
|
||||||
p0.l = lo(BFIN_UART_GCTL);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L; /* To enable UART clock */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
rts;
|
|
||||||
ENDPROC(_mach_early_start)
|
|
||||||
|
|
||||||
__FINIT
|
|
||||||
|
|
||||||
.section .l1.text
|
.section .l1.text
|
||||||
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
||||||
ENTRY(_start_dma_code)
|
ENTRY(_start_dma_code)
|
||||||
|
|
|
@ -35,56 +35,6 @@
|
||||||
#include <asm/mach/mem_init.h>
|
#include <asm/mach/mem_init.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
.extern _bf53x_relocate_l1_mem
|
|
||||||
|
|
||||||
__INIT
|
|
||||||
|
|
||||||
ENTRY(_mach_early_start)
|
|
||||||
/* Initialise General-Purpose I/O Modules on BF537 */
|
|
||||||
p0.h = hi(BFIN_PORT_MUX);
|
|
||||||
p0.l = lo(BFIN_PORT_MUX);
|
|
||||||
R0 = (PGDE_UART | PFTE_UART)(Z);
|
|
||||||
W[P0] = R0.L; /* Enable both UARTS */
|
|
||||||
SSYNC;
|
|
||||||
|
|
||||||
/* Enable peripheral function of PORTF for UART0 and UART1 */
|
|
||||||
p0.h = hi(PORTF_FER);
|
|
||||||
p0.l = lo(PORTF_FER);
|
|
||||||
R0 = 0x000F(Z);
|
|
||||||
W[P0] = R0.L;
|
|
||||||
SSYNC;
|
|
||||||
|
|
||||||
/* Initialise UART - when booting from u-boot, the UART is not disabled
|
|
||||||
* so if we dont initalize here, our serial console gets hosed */
|
|
||||||
p0.h = hi(BFIN_UART_LCR);
|
|
||||||
p0.l = lo(BFIN_UART_LCR);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L; /* To enable DLL writes */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_DLL);
|
|
||||||
p0.l = lo(BFIN_UART_DLL);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L;
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_DLH);
|
|
||||||
p0.l = lo(BFIN_UART_DLH);
|
|
||||||
r0 = 0x00(Z);
|
|
||||||
w[p0] = r0.L;
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_GCTL);
|
|
||||||
p0.l = lo(BFIN_UART_GCTL);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L; /* To enable UART clock */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
rts;
|
|
||||||
ENDPROC(_mach_early_start)
|
|
||||||
|
|
||||||
__FINIT
|
|
||||||
|
|
||||||
.section .l1.text
|
.section .l1.text
|
||||||
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
||||||
ENTRY(_start_dma_code)
|
ENTRY(_start_dma_code)
|
||||||
|
|
|
@ -35,16 +35,6 @@
|
||||||
#include <asm/mach/mem_init.h>
|
#include <asm/mach/mem_init.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
.extern _bf53x_relocate_l1_mem
|
|
||||||
|
|
||||||
__INIT
|
|
||||||
|
|
||||||
ENTRY(_mach_early_start)
|
|
||||||
rts;
|
|
||||||
ENDPROC(_mach_early_start)
|
|
||||||
|
|
||||||
__FINIT
|
|
||||||
|
|
||||||
.section .l1.text
|
.section .l1.text
|
||||||
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
||||||
ENTRY(_start_dma_code)
|
ENTRY(_start_dma_code)
|
||||||
|
|
|
@ -35,42 +35,6 @@
|
||||||
#include <asm/mach/mem_init.h>
|
#include <asm/mach/mem_init.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
.extern _bf53x_relocate_l1_mem
|
|
||||||
|
|
||||||
__INIT
|
|
||||||
|
|
||||||
ENTRY(_mach_early_start)
|
|
||||||
/* Initialise UART - when booting from u-boot, the UART is not disabled
|
|
||||||
* so if we dont initalize here, our serial console gets hosed */
|
|
||||||
p0.h = hi(BFIN_UART_LCR);
|
|
||||||
p0.l = lo(BFIN_UART_LCR);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L; /* To enable DLL writes */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_DLL);
|
|
||||||
p0.l = lo(BFIN_UART_DLL);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L;
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_DLH);
|
|
||||||
p0.l = lo(BFIN_UART_DLH);
|
|
||||||
r0 = 0x00(Z);
|
|
||||||
w[p0] = r0.L;
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
p0.h = hi(BFIN_UART_GCTL);
|
|
||||||
p0.l = lo(BFIN_UART_GCTL);
|
|
||||||
r0 = 0x0(Z);
|
|
||||||
w[p0] = r0.L; /* To enable UART clock */
|
|
||||||
ssync;
|
|
||||||
|
|
||||||
rts;
|
|
||||||
ENDPROC(_mach_early_start)
|
|
||||||
|
|
||||||
__FINIT
|
|
||||||
|
|
||||||
.section .l1.text
|
.section .l1.text
|
||||||
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
#ifdef CONFIG_BFIN_KERNEL_CLOCK
|
||||||
ENTRY(_start_dma_code)
|
ENTRY(_start_dma_code)
|
||||||
|
|
|
@ -96,9 +96,6 @@ ENTRY(__start)
|
||||||
R0 = RETX;
|
R0 = RETX;
|
||||||
[P0] = R0;
|
[P0] = R0;
|
||||||
|
|
||||||
/* Let each Blackfin family do its own thing */
|
|
||||||
call _mach_early_start;
|
|
||||||
|
|
||||||
/* Initialize stack pointer */
|
/* Initialize stack pointer */
|
||||||
sp.l = lo(INITIAL_STACK);
|
sp.l = lo(INITIAL_STACK);
|
||||||
sp.h = hi(INITIAL_STACK);
|
sp.h = hi(INITIAL_STACK);
|
||||||
|
|
Loading…
Reference in New Issue