Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx> Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> --- .../netgear-wg102/include/board/board_pbl_start.h | 69 ++++++++++++++++++++++ arch/mips/mach-ar231x/Kconfig | 2 + 2 files changed, 71 insertions(+) create mode 100644 arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h diff --git a/arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h b/arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h new file mode 100644 index 0000000..4deae06 --- /dev/null +++ b/arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2013 Antony Pavlov <antonynpavlov@xxxxxxxxx> + * Copyright (C) 2013 Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> + * + * This file is part of barebox. + * See file CREDITS for list of people who contributed to this project. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include <asm/pbl_macros.h> +#include <mach/pbl_macros.h> + +#include <mach/debug_ll.h> + + .macro board_pbl_start + .set push + .set noreorder + + mips_barebox_10h + + mips_disable_interrupts + + pbl_ar2312_pll + + pbl_ar2312_rst_uart0 + debug_ll_ns16550_init + + debug_ll_ns16550_outc 'a' + debug_ll_ns16550_outnl + + /* check if SDRAM is already configured, + * if yes, we are probably starting + * as second stage loader and can skip configuration */ + pbl_probe_mem t0, t1, KSEG1 + beq t0, t1, sdram_configured + nop + + /* start SDRAM configuration */ + pbl_ar2312_x16_sdram + + /* check one more time. if some thing wrong, + * we don't need to continue */ + pbl_probe_mem t0, t1, KSEG1 + beq t0, t1, sdram_configured + nop + debug_ll_ns16550_outc '#' + debug_ll_ns16550_outnl + +1: + b 1b /* dead end */ + nop + +sdram_configured: + debug_ll_ns16550_outc 'b' + debug_ll_ns16550_outnl + + copy_to_link_location pbl_start + + .set pop + .endm diff --git a/arch/mips/mach-ar231x/Kconfig b/arch/mips/mach-ar231x/Kconfig index 1c6a12f..3f338ea 100644 --- a/arch/mips/mach-ar231x/Kconfig +++ b/arch/mips/mach-ar231x/Kconfig @@ -9,6 +9,8 @@ choice config BOARD_NETGEAR_WG102 bool "Netgear WG102" + select HAVE_PBL_IMAGE + select HAVE_IMAGE_COMPRESSION endchoice -- 1.8.1.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox