| /* |
| * arch/ppc/boot/simple/misc-ev64260.S |
| * |
| * Host bridge init code for the Marvell/Galileo EV-64260-BP evaluation board |
| * with a GT64260 onboard. |
| * |
| * Author: Mark Greer <mgreer@mvista.com> |
| * |
| * 2001 (c) MontaVista Software, Inc. This file is licensed under |
| * the terms of the GNU General Public License version 2. This program |
| * is licensed "as is" without any warranty of any kind, whether express |
| * or implied. |
| */ |
| |
| #include <asm/ppc_asm.h> |
| #include <asm/processor.h> |
| #include <asm/cache.h> |
| #include <asm/mv64x60_defs.h> |
| #include <platforms/ev64260.h> |
| |
| .globl mv64x60_board_init |
| mv64x60_board_init: |
| /* DINK doesn't enable 745x timebase, so enable here (Adrian Cox) */ |
| mfspr r25,PVR |
| srwi r25,r25,16 |
| cmplwi r25,(PVR_7450 >> 16) |
| bne 1f |
| mfspr r25,HID0 |
| oris r25,r25,(HID0_TBEN >> 16) |
| mtspr HID0,r25 |
| 1: |
| #if (CONFIG_MV64X60_NEW_BASE != CONFIG_MV64X60_BASE) |
| li r23,20 |
| |
| /* |
| * Change the CS2 window for the UART so that the bootloader |
| * can do I/O thru the UARTs. |
| */ |
| addis r25,0,CONFIG_MV64X60_NEW_BASE@h |
| ori r25,r25,MV64x60_CPU2DEV_2_BASE |
| addis r26,0,EV64260_UART_BASE@h |
| srw r26,r26,r23 |
| stwbrx r26,0,(r25) |
| sync |
| |
| addis r25,0,CONFIG_MV64X60_NEW_BASE@h |
| ori r25,r25,MV64x60_CPU2DEV_2_SIZE |
| addis r26,0,EV64260_UART_END@h |
| srw r26,r26,r23 |
| stwbrx r26,0,(r25) |
| sync |
| #endif |
| blr |
| |
| #if defined(CONFIG_SERIAL_MPSC_CONSOLE) |
| .data |
| .globl mv64x60_console_baud |
| mv64x60_console_baud: |
| .long EV64260_DEFAULT_BAUD |
| |
| .globl mv64x60_mpsc_clk_src |
| mv64x60_mpsc_clk_src: |
| .long EV64260_MPSC_CLK_SRC |
| |
| .globl mv64x60_mpsc_clk_freq |
| mv64x60_mpsc_clk_freq: |
| .long EV64260_MPSC_CLK_FREQ |
| #endif |