summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleksij Rempel <linux@rempel-privat.de>2013-06-19 11:11:30 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-06-21 09:33:19 +0200
commitb8a6290e03d1ee2d9d8e4a201cd6ef2e41436f7c (patch)
tree023c87b14618fd747a6b060fdb2a3ea0af3c93ce
parented61198836b84924ddc81a5a2c93471ceebba6b6 (diff)
downloadbarebox-b8a6290e03d1ee2d9d8e4a201cd6ef2e41436f7c.tar.gz
barebox-b8a6290e03d1ee2d9d8e4a201cd6ef2e41436f7c.tar.xz
MIPS: netgear-wg102: add pbl support
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h69
-rw-r--r--arch/mips/mach-ar231x/Kconfig2
2 files changed, 71 insertions, 0 deletions
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 0000000000..4deae069dc
--- /dev/null
+++ b/arch/mips/boards/netgear-wg102/include/board/board_pbl_start.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2013 Antony Pavlov <antonynpavlov@gmail.com>
+ * Copyright (C) 2013 Oleksij Rempel <linux@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 1c6a12f885..3f338ea115 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