]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/esd/pf5200/pf5200.c
ARM: atmel: sama5d4_xplained: enable usb ethernet gadget
[karo-tx-uboot.git] / board / esd / pf5200 / pf5200.c
index 48b80bfc5fb8d07e27f62fc6ce2c20d431480a8b..7a9ed229ef91421ff057bc3e82d2c1986fa217bf 100644 (file)
@@ -5,23 +5,7 @@
  * (C) Copyright 2004
  * Mark Jonas, Freescale Semiconductor, mark.jonas@motorola.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+
  */
 
 /*
@@ -32,6 +16,7 @@
 #include <mpc5xxx.h>
 #include <pci.h>
 #include <command.h>
+#include <netdev.h>
 
 #include "mt46v16m16-75.h"
 
@@ -80,11 +65,11 @@ static void sdram_start(int hi_addr)
 
 /*
  * ATTENTION: Although partially referenced initdram does NOT make real use
- *            use of CFG_SDRAM_BASE. The code does not work if CFG_SDRAM_BASE
+ *            use of CONFIG_SYS_SDRAM_BASE. The code does not work if CONFIG_SYS_SDRAM_BASE
  *            is something else than 0x00000000.
  */
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
        ulong dramsize = 0;
        ulong test1, test2;
@@ -105,9 +90,9 @@ long int initdram(int board_type)
 
        /* find RAM size using SDRAM CS0 only */
        sdram_start(0);
-       test1 = get_ram_size((long *) CFG_SDRAM_BASE, 0x80000000);
+       test1 = get_ram_size((long *) CONFIG_SYS_SDRAM_BASE, 0x80000000);
        sdram_start(1);
-       test2 = get_ram_size((long *) CFG_SDRAM_BASE, 0x80000000);
+       test2 = get_ram_size((long *) CONFIG_SYS_SDRAM_BASE, 0x80000000);
 
        if (test1 > test2) {
                sdram_start(0);
@@ -143,9 +128,9 @@ long int initdram(int board_type)
 #if 0
        /* find RAM size using SDRAM CS1 only */
        sdram_start(0);
-       get_ram_size((ulong *) (CFG_SDRAM_BASE + dramsize), 0x80000000);
+       get_ram_size((ulong *) (CONFIG_SYS_SDRAM_BASE + dramsize), 0x80000000);
        sdram_start(1);
-       get_ram_size((ulong *) (CFG_SDRAM_BASE + dramsize), 0x80000000);
+       get_ram_size((ulong *) (CONFIG_SYS_SDRAM_BASE + dramsize), 0x80000000);
        sdram_start(0);
 #endif
        /* set SDRAM CS1 size according to the amount of RAM found */
@@ -179,10 +164,10 @@ void flash_afterinit(ulong size)
                /* adjust mapping */
                *(vu_long *) MPC5XXX_BOOTCS_START =
                    *(vu_long *) MPC5XXX_CS0_START =
-                   START_REG(CFG_BOOTCS_START | size);
+                   START_REG(CONFIG_SYS_BOOTCS_START | size);
                *(vu_long *) MPC5XXX_BOOTCS_STOP =
                    *(vu_long *) MPC5XXX_CS0_STOP =
-                   STOP_REG(CFG_BOOTCS_START | size, size);
+                   STOP_REG(CONFIG_SYS_BOOTCS_START | size, size);
        }
 }
 
@@ -257,13 +242,18 @@ void init_power_switch(void)
                *(vu_long *) MPC5XXX_SIMPLEIO_GPIO_DATA_OUTPUT |= GPIO_USB0;
                __asm__ volatile ("sync");
        }
-       *(vu_char *) CFG_CS1_START = 0x02;      /* Red Power LED on */
+       *(vu_char *) CONFIG_SYS_CS1_START = 0x02;       /* Red Power LED on */
        __asm__ volatile ("sync");
 
-       *(vu_char *) (CFG_CS1_START + 1) = 0x02;        /* Disable driver for KB11 */
+       *(vu_char *) (CONFIG_SYS_CS1_START + 1) = 0x02; /* Disable driver for KB11 */
        __asm__ volatile ("sync");
 }
 
+int board_eth_init(bd_t *bis)
+{
+       return pci_eth_init(bis);
+}
+
 void power_set_reset(int power)
 {
        debug("ide_set_reset(%d)\n", power);
@@ -282,13 +272,13 @@ void power_set_reset(int power)
        }
 }
 
-int do_poweroff(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_poweroff(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        power_set_reset(1);
        return (0);
 }
 
-U_BOOT_CMD(poweroff, 1, 1, do_poweroff, "poweroff- Switch off power\n", NULL);
+U_BOOT_CMD(poweroff, 1, 1, do_poweroff, "Switch off power", "");
 
 int phypower(int flag)
 {
@@ -319,22 +309,20 @@ int phypower(int flag)
        return (status);
 }
 
-int do_phypower(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_phypower(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
-       int status;
+       if (argv[1][0] == '0')
+               (void)phypower(0);
+       else
+               (void)phypower(1);
 
-       if (argv[1][0] == '0') {
-               status = phypower(0);
-       } else {
-               status = phypower(1);
-       }
        return (0);
 }
 
 U_BOOT_CMD(phypower, 2, 2, do_phypower,
-          "phypower- Switch power of ethernet phy\n", NULL);
+          "Switch power of ethernet phy", "");
 
-int do_writepci(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_writepci(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        unsigned int addr;
        unsigned int size;
@@ -363,5 +351,7 @@ int do_writepci(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }
 
 U_BOOT_CMD(writepci, 3, 1, do_writepci,
-          "writepci- Write some data to pcibus\n",
-          "<addr> <size>\n" "        - Write some data to pcibus.\n");
+       "Write some data to pcibus",
+       "<addr> <size>\n"
+       ""
+);