]> git.sur5r.net Git - u-boot/blobdiff - board/gen860t/gen860t.c
Merge branch 'next' of git://git.denx.de/u-boot-mpc83xx
[u-boot] / board / gen860t / gen860t.c
index 16a3262c4b574f6b310631f4387b47cfe5bcd651..fe139f4920d196d543d4aa5a2885230880cf8b5c 100644 (file)
@@ -3,23 +3,7 @@
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  * Keith Outwater, keith_outwater@mvis.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
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <virtex2.h>
 #include "fpga.h"
 #include "ioport.h"
 
+DECLARE_GLOBAL_DATA_PTR;
+
 #ifdef CONFIG_STATUS_LED
 #include <status_led.h>
 #endif
 
-#if defined(CFG_CMD_MII) && defined(CONFIG_MII)
+#if defined(CONFIG_CMD_MII) && defined(CONFIG_MII)
 #include <net.h>
 #endif
 
@@ -94,7 +80,7 @@ const uint sdram_upm_table[] = {
        0xfffffc05, 0xffffffff, 0xffffffff, 0xffffffff,
        0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
        /* exception     (offset 0x3C in upm ram) */
-   };
+};
 
 const uint selectmap_upm_table[] = {
        /* single read   (offset 0x00 in upm ram) */
@@ -124,63 +110,59 @@ const uint selectmap_upm_table[] = {
 /*
  * Check board identity.  Always successful (gives information only)
  */
-int
-checkboard(void)
+int checkboard (void)
 {
-       DECLARE_GLOBAL_DATA_PTR;
-
-    unsigned char *s;
-    unsigned char buf[64];
-    int i;
+       char *s;
+       char buf[64];
+       int i;
 
-    i = getenv_r("board_id", buf, sizeof(buf));
-    s = (i>0) ? buf : NULL;
+       i = getenv_f("board_id", buf, sizeof (buf));
+       s = (i > 0) ? buf : NULL;
 
        if (s) {
-               printf("%s ", s);
+               printf ("%s ", s);
        } else {
-               printf("<unknown> ");
+               printf ("<unknown> ");
        }
 
-    i = getenv_r("serial#", buf, sizeof(buf));
-    s = (i>0) ? buf : NULL;
+       i = getenv_f("serial#", buf, sizeof (buf));
+       s = (i > 0) ? buf : NULL;
 
        if (s) {
-               printf("S/N %s\n", s);
+               printf ("S/N %s\n", s);
        } else {
-               printf("S/N <unknown>\n");
+               printf ("S/N <unknown>\n");
        }
 
-    printf("CPU at %s MHz, ",strmhz(buf, gd->cpu_clk));
-       printf("local bus at %s MHz\n", strmhz(buf, gd->bus_clk));
-    return (0);
+       printf ("CPU at %s MHz, ", strmhz (buf, gd->cpu_clk));
+       printf ("local bus at %s MHz\n", strmhz (buf, gd->bus_clk));
+       return (0);
 }
 
 /*
  * Initialize SDRAM
  */
-long int
-initdram(int board_type)
+phys_size_t initdram (int board_type)
 {
-    volatile immap_t     *immr  = (immap_t *)CFG_IMMR;
-    volatile memctl8xx_t *memctl = &immr->im_memctl;
-
-    upmconfig(UPMA,
-                         (uint *)sdram_upm_table,
-                         sizeof(sdram_upm_table) / sizeof(uint)
-                        );
-
-    /*
-     * Setup MAMR register
-     */
-    memctl->memc_mptpr = CFG_MPTPR_1BK_8K;
-    memctl->memc_mamr = CFG_MAMR_8COL & (~(MAMR_PTAE)); /* no refresh yet */
-
-    /*
-     * Map CS1* to SDRAM bank
-     */
-    memctl->memc_or1 = CFG_OR1;
-    memctl->memc_br1 = CFG_BR1;
+       volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
+       volatile memctl8xx_t *memctl = &immr->im_memctl;
+
+       upmconfig (UPMA,
+                  (uint *) sdram_upm_table,
+                  sizeof (sdram_upm_table) / sizeof (uint)
+               );
+
+       /*
+        * Setup MAMR register
+        */
+       memctl->memc_mptpr = CONFIG_SYS_MPTPR_1BK_8K;
+       memctl->memc_mamr = CONFIG_SYS_MAMR_8COL & (~(MAMR_PTAE));      /* no refresh yet */
+
+       /*
+        * Map CS1* to SDRAM bank
+        */
+       memctl->memc_or1 = CONFIG_SYS_OR1;
+       memctl->memc_br1 = CONFIG_SYS_BR1;
 
        /*
         * Perform SDRAM initialization sequence:
@@ -193,74 +175,69 @@ initdram(int board_type)
         * Program SDRAM for standard operation, sequential burst, burst length
         * of 4, CAS latency of 2.
         */
-    memctl->memc_mar = 0x00000000;
+       memctl->memc_mar = 0x00000000;
        memctl->memc_mcr = MCR_UPM_A | MCR_OP_RUN | MCR_MB_CS1 |
-                                          MCR_MLCF(0) | UPMA_NOP_ADDR;
-       udelay(200);
-    memctl->memc_mar = 0x00000000;
+               MCR_MLCF (0) | UPMA_NOP_ADDR;
+       udelay (200);
+       memctl->memc_mar = 0x00000000;
        memctl->memc_mcr = MCR_UPM_A | MCR_OP_RUN | MCR_MB_CS1 |
-                                          MCR_MLCF(4) | UPMA_PRECHARGE_ADDR;
+               MCR_MLCF (4) | UPMA_PRECHARGE_ADDR;
 
-    memctl->memc_mar = 0x00000000;
+       memctl->memc_mar = 0x00000000;
        memctl->memc_mcr = MCR_UPM_A | MCR_OP_RUN | MCR_MB_CS1 |
-                                          MCR_MLCF(2) | UPM_REFRESH_ADDR;
+               MCR_MLCF (2) | UPM_REFRESH_ADDR;
 
-    memctl->memc_mar = 0x00000088;
+       memctl->memc_mar = 0x00000088;
        memctl->memc_mcr = MCR_UPM_A | MCR_OP_RUN | MCR_MB_CS1 |
-                                          MCR_MLCF(1) | UPMA_MRS_ADDR;
+               MCR_MLCF (1) | UPMA_MRS_ADDR;
 
-    memctl->memc_mar = 0x00000000;
+       memctl->memc_mar = 0x00000000;
        memctl->memc_mcr = MCR_UPM_A | MCR_OP_RUN | MCR_MB_CS1 |
-                                          MCR_MLCF(0) | UPMA_NOP_ADDR;
+               MCR_MLCF (0) | UPMA_NOP_ADDR;
        /*
         * Enable refresh
         */
-    memctl->memc_mamr |= MAMR_PTAE;
+       memctl->memc_mamr |= MAMR_PTAE;
 
-    return (SDRAM_SIZE);
+       return (SDRAM_SIZE);
 }
 
 /*
  * Disk On Chip (DOC) Millenium initialization.
  * The DOC lives in the CS2* space
  */
-#if (CONFIG_COMMANDS & CFG_CMD_DOC)
-extern void
-doc_probe(ulong physadr);
-
-void
-doc_init(void)
+#if defined(CONFIG_CMD_DOC)
+void doc_init (void)
 {
-       printf("Probing at 0x%.8x: ", DOC_BASE);
-       doc_probe(DOC_BASE);
+       printf ("Probing at 0x%.8x: ", DOC_BASE);
+       doc_probe (DOC_BASE);
 }
 #endif
 
 /*
  * Miscellaneous intialization
  */
-int
-misc_init_r (void)
+int misc_init_r (void)
 {
-    volatile immap_t     *immr  = (immap_t *)CFG_IMMR;
-    volatile memctl8xx_t *memctl = &immr->im_memctl;
+       volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
+       volatile memctl8xx_t *memctl = &immr->im_memctl;
 
        /*
         * Set up UPMB to handle the Virtex FPGA SelectMap interface
         */
-       upmconfig(UPMB, (uint *)selectmap_upm_table,
-                         sizeof(selectmap_upm_table) / sizeof(uint));
+       upmconfig (UPMB, (uint *) selectmap_upm_table,
+                  sizeof (selectmap_upm_table) / sizeof (uint));
 
-    memctl->memc_mbmr = 0x0;
+       memctl->memc_mbmr = 0x0;
 
-       config_mpc8xx_ioports(immr);
+       config_mpc8xx_ioports (immr);
 
-#if (CONFIG_COMMANDS & CFG_CMD_MII)
-       mii_init();
+#if defined(CONFIG_CMD_MII)
+       mii_init ();
 #endif
 
-#if (CONFIG_FPGA)
-       gen860t_init_fpga();
+#if defined(CONFIG_FPGA)
+       gen860t_init_fpga ();
 #endif
        return 0;
 }
@@ -268,32 +245,34 @@ misc_init_r (void)
 /*
  * Final init hook before entering command loop.
  */
-int
-last_stage_init(void)
+int last_stage_init (void)
 {
-       unsigned char buf[256];
+#if !defined(CONFIG_SC)
+       char buf[256];
        int i;
 
        /*
-        * Set LEDs here since status LED init code has already run
-        */
-       status_led_set(STATUS_LED_BIT1, STATUS_LED_ON);
-       status_led_set(STATUS_LED_BIT3, STATUS_LED_ON);
-
-       /*
-        * Turn the beeper volume all the way down in case this is a warm
-        * boot.
+        * Turn the beeper volume all the way down in case this is a warm boot.
         */
-       set_beeper_volume(-64);
-       init_beeper();
+       set_beeper_volume (-64);
+       init_beeper ();
 
        /*
         * Read the environment to see what to do with the beeper
         */
-    i = getenv_r("beeper", buf, sizeof(buf));
+       i = getenv_f("beeper", buf, sizeof (buf));
        if (i > 0) {
-               do_beeper(buf);
+               do_beeper (buf);
        }
+#endif
        return 0;
 }
-/* vim: set ts=4 sw=4 tw=78 : */
+
+/*
+ * Stub to make POST code happy.  Can't self-poweroff, so just hang.
+ */
+void board_poweroff (void)
+{
+       puts ("### Please power off the board ###\n");
+       while (1);
+}