[PATCH 5/8] MIPS: netgear-wg102: add pbl support
Oleksij Rempel
linux at rempel-privat.de
Wed Jun 19 05:11:30 EDT 2013
Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
Signed-off-by: Oleksij Rempel <linux at rempel-privat.de>
---
.../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 at gmail.com>
+ * Copyright (C) 2013 Oleksij Rempel <linux at rempel-privat.de>
+ *
+ * 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
More information about the barebox
mailing list