summaryrefslogtreecommitdiff
path: root/arch/x86/lib/init_wrappers.c
diff options
context:
space:
mode:
authorGraeme Russ <graeme.russ@gmail.com>2011-12-23 16:51:29 +1100
committerGraeme Russ <graeme.russ@gmail.com>2012-01-04 22:41:32 +1100
commitd47ab0ecde1c9a66acbaf421ddd92c888d2ef344 (patch)
tree51fcc96108a54f16c31a16f060414da24f10d9c9 /arch/x86/lib/init_wrappers.c
parentb156ff09aad5a54b5a47b940ebc26aeeae56ee07 (diff)
downloadu-boot-imx-d47ab0ecde1c9a66acbaf421ddd92c888d2ef344.zip
u-boot-imx-d47ab0ecde1c9a66acbaf421ddd92c888d2ef344.tar.gz
u-boot-imx-d47ab0ecde1c9a66acbaf421ddd92c888d2ef344.tar.bz2
x86: Split init functions out of board.c
This patch moves towards reducing board.c to simply a set of init cores for the three initialisation phases (Flash, Flash/RAM, and RAM), a set of three init function arrays and a init function array processing function
Diffstat (limited to 'arch/x86/lib/init_wrappers.c')
-rw-r--r--arch/x86/lib/init_wrappers.c137
1 files changed, 137 insertions, 0 deletions
diff --git a/arch/x86/lib/init_wrappers.c b/arch/x86/lib/init_wrappers.c
new file mode 100644
index 0000000..71449fe
--- /dev/null
+++ b/arch/x86/lib/init_wrappers.c
@@ -0,0 +1,137 @@
+/*
+ * (C) Copyright 2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
+ * 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 as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+#include <common.h>
+#include <serial.h>
+#include <kgdb.h>
+#include <scsi.h>
+#include <post.h>
+#include <miiphy.h>
+
+#include <asm/init_wrappers.h>
+
+int serial_initialize_r(void)
+{
+ serial_initialize();
+
+ return 0;
+}
+
+int env_relocate_r(void)
+{
+ /* initialize environment */
+ env_relocate();
+
+ return 0;
+}
+
+
+int pci_init_r(void)
+{
+ /* Do pci configuration */
+ pci_init();
+
+ return 0;
+}
+
+int jumptable_init_r(void)
+{
+ jumptable_init();
+
+ return 0;
+}
+
+int pcmcia_init_r(void)
+{
+ puts("PCMCIA:");
+ pcmcia_init();
+
+ return 0;
+}
+
+int kgdb_init_r(void)
+{
+ puts("KGDB: ");
+ kgdb_init();
+
+ return 0;
+}
+
+int enable_interrupts_r(void)
+{
+ /* enable exceptions */
+ enable_interrupts();
+
+ return 0;
+}
+
+int eth_initialize_r(void)
+{
+ puts("Net: ");
+ eth_initialize(gd->bd);
+
+ return 0;
+}
+
+int reset_phy_r(void)
+{
+#ifdef DEBUG
+ puts("Reset Ethernet PHY\n");
+#endif
+ reset_phy();
+
+ return 0;
+}
+
+int ide_init_r(void)
+{
+ puts("IDE: ");
+ ide_init();
+
+ return 0;
+}
+
+int scsi_init_r(void)
+{
+ puts("SCSI: ");
+ scsi_init();
+
+ return 0;
+}
+
+#ifdef CONFIG_BITBANGMII
+int bb_miiphy_init_r(void)
+{
+ bb_miiphy_init();
+
+ return 0;
+}
+#endif
+
+#ifdef CONFIG_POST
+int post_run_r(void)
+{
+ post_run(NULL, POST_RAM | post_bootmode_get(0));
+
+ return 0;
+}
+#endif