summaryrefslogtreecommitdiff
path: root/packages/u-boot/u-boot-1.3.2/u-boot-fsl-1.3.0-mpc8313erdb-vsc7385-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/u-boot/u-boot-1.3.2/u-boot-fsl-1.3.0-mpc8313erdb-vsc7385-support.patch')
-rw-r--r--packages/u-boot/u-boot-1.3.2/u-boot-fsl-1.3.0-mpc8313erdb-vsc7385-support.patch356
1 files changed, 0 insertions, 356 deletions
diff --git a/packages/u-boot/u-boot-1.3.2/u-boot-fsl-1.3.0-mpc8313erdb-vsc7385-support.patch b/packages/u-boot/u-boot-1.3.2/u-boot-fsl-1.3.0-mpc8313erdb-vsc7385-support.patch
deleted file mode 100644
index 9b23c27f0b..0000000000
--- a/packages/u-boot/u-boot-1.3.2/u-boot-fsl-1.3.0-mpc8313erdb-vsc7385-support.patch
+++ /dev/null
@@ -1,356 +0,0 @@
-From fd62a67dc5b454528aa6b1732ccdaf9d845083d4 Mon Sep 17 00:00:00 2001
-From: Li Yang <leoli@freescale.com>
-Date: Tue, 3 Jun 2008 19:18:48 +0800
-Subject: [PATCH] add VSC7385 support to MPC8313ERDB
-
-Signed-off-by: Li Yang <leoli@freescale.com>
----
- drivers/net/tsec.c | 38 +++++++++++-
- examples/Makefile | 7 ++-
- examples/vsc7385_load/Makefile | 104 ++++++++++++++++++++++++++++++
- examples/vsc7385_load/Readme.txt | 15 ++++
- examples/vsc7385_load/vsc7385_load.c | 117 ++++++++++++++++++++++++++++++++++
- 5 files changed, 279 insertions(+), 2 deletions(-)
- create mode 100644 examples/vsc7385_load/Makefile
- create mode 100644 examples/vsc7385_load/Readme.txt
- create mode 100644 examples/vsc7385_load/vsc7385_load.c
-
-diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
-index ca6284b..d863ca3 100644
---- a/drivers/net/tsec.c
-+++ b/drivers/net/tsec.c
-@@ -9,6 +9,12 @@
- * (C) Copyright 2003, Motorola, Inc.
- * author Andy Fleming
- *
-+ * Copyright (C) 2006-2008 Freescale Semiconductor, Inc. All rights reserved.
-+ * Change Log:
-+ * Dec,2006: Wilson Lo (Wilson.Lo@freescale.com)
-+ * Vitesse VSC7385 L2 Switch support as an unknow phy
-+ * for MPC8313ERDB board
-+ *
- */
-
- #include <config.h>
-@@ -1350,7 +1356,33 @@ struct phy_info phy_info_dp83865 = {
- {miim_end,}
- },
- };
-+#ifdef CONFIG_VSC7385_ENET
-+uint mii_unknown_hardcoded(uint mii_reg, struct tsec_private *priv)
-+{
-+ priv->duplexity = 1;
-+ priv->speed = 1000;
-+ priv->link = 1;
-+ return 0;
-+}
-+#endif
-
-+#ifdef CONFIG_VSC7385_ENET
-+struct phy_info phy_info_unknown = {
-+ 0xffffffff,
-+ "unknown phy, assume 1000BaseT Full duplex",
-+ 0,
-+ (struct phy_cmd[]) { /* config */
-+ {miim_end,}
-+ },
-+ (struct phy_cmd[]) { /* startup */
-+ {0x1, miim_read, mii_unknown_hardcoded},
-+ {miim_end,}
-+ },
-+ (struct phy_cmd[]) { /* shutdown */
-+ {miim_end,}
-+ },
-+};
-+#endif
- struct phy_info *phy_info[] = {
- &phy_info_cis8204,
- &phy_info_cis8201,
-@@ -1365,7 +1397,11 @@ struct phy_info *phy_info[] = {
- &phy_info_VSC8244,
- &phy_info_dp83865,
- &phy_info_generic,
-- NULL
-+#ifdef CONFIG_VSC7385_ENET
-+ &phy_info_unknown,
-+#endif
-+
-+ NULL
- };
-
- /* Grab the identifier of the device's PHY, and search through
-diff --git a/examples/Makefile b/examples/Makefile
-index e9b4974..5bb5eab 100644
---- a/examples/Makefile
-+++ b/examples/Makefile
-@@ -152,7 +152,12 @@ clibdir := $(shell dirname `$(CC) $(CFLAGS) -print-file-name=libc.a`)
-
- CPPFLAGS += -I..
-
--all: $(obj).depend $(OBJS) $(LIB) $(SREC) $(BIN) $(ELF)
-+VSC = vsc7385_load\vsc7385_load.srec
-+
-+all: $(obj).depend $(OBJS) $(LIB) $(SREC) $(BIN) $(ELF) $(VSC)
-+
-+$(VSC):
-+ cd vsc7385_load && $(MAKE)
-
- #########################################################################
- $(LIB): $(obj).depend $(LIBOBJS)
-diff --git a/examples/vsc7385_load/Makefile b/examples/vsc7385_load/Makefile
-new file mode 100644
-index 0000000..37dfe3b
---- /dev/null
-+++ b/examples/vsc7385_load/Makefile
-@@ -0,0 +1,104 @@
-+#
-+# Copyright (C) 2006-2008 Freescale Semiconductor, Inc. All rights reserved.
-+#
-+# 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
-+#
-+# Description: Makefile for the Vitesse VSC7385 Gigabit Ethernet Switch
-+# firmware loader.
-+#
-+# Changelog:
-+# 20061006 Joe.D'Abbraccio@freescale.com
-+# This file is based on the examples/Makefile within the U-Boot
-+# source tree. It is modified to build a U-boot application
-+# that loads the Vitesse VSC7385 Gigabit Ethernet Switch firmware
-+#
-+
-+
-+ARCH = ppc
-+
-+ifeq ($(ARCH),ppc)
-+LOAD_ADDR = 0x40000
-+endif
-+
-+PROGNAME = vsc7385_load
-+
-+MAINSRC = vsc7385_load
-+
-+ifdef TOPDIR
-+include $(TOPDIR)/config.mk
-+endif
-+
-+
-+SREC = $(MAINSRC).srec
-+BIN = $(MAINSRC).bin $(MAINSRC)
-+
-+ifeq ($(BIG_ENDIAN),y)
-+EX_LDFLAGS += -EB
-+endif
-+
-+
-+SUBSRCS =
-+
-+OBJS = $(SREC:.srec=.o) $(SUBSRCS:=.o)
-+
-+LIB = ../libstubs.a
-+LIBAOBJS=
-+ifeq ($(ARCH),ppc)
-+LIBAOBJS+= ../$(ARCH)_longjmp.o ../$(ARCH)_setjmp.o
-+endif
-+LIBCOBJS= ../stubs.o
-+LIBOBJS = $(LIBAOBJS) $(LIBCOBJS)
-+
-+ifdef TOPDIR
-+gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
-+clibdir := $(shell dirname `$(CC) $(CFLAGS) -print-file-name=libc.a`)
-+endif
-+
-+CPPFLAGS += -I.
-+
-+all: .depend $(SREC) $(BIN) $(SUBSRCS:=.o)
-+
-+#########################################################################
-+$(LIB): .depend $(LIBOBJS)
-+ $(AR) crv $@ $(LIBOBJS)
-+
-+$(LIBOBJS):
-+
-+$(PROGNAME): $(PROGNAME).o $(SUBSRCS:=.o) $(LIB)
-+ $(LD) -g $(EX_LDFLAGS) -Ttext $(LOAD_ADDR) \
-+ -o $(PROGNAME) -e main $< $(SUBSRCS:=.o) $(LIB) \
-+ -Map $(PROGNAME).map -L$(gcclibdir) -lgcc
-+
-+$(PROGNAME).srec: $(PROGNAME)
-+ $(OBJCOPY) -O srec $< $@ 2>/dev/null
-+
-+$(PROGNAME).bin: $(PROGNAME)
-+ $(OBJCOPY) -O binary $(PROGNAME) $(PROGNAME).bin 2>/dev/null
-+
-+#########################################################################
-+
-+.depend: Makefile $(OBJS:.o=.c) #$(LIBCOBJS:.o=.c) $(LIBAOBJS:.o=.S)
-+# $(CC) -M $(CFLAGS) $(OBJS:.o=.c) $(LIBCOBJS:.o=.c) $(LIBAOBJS:.o=.S) > $@
-+ $(CC) -M $(CFLAGS) $(OBJS:.o=.c) > $@
-+
-+ifdef TOPDIR
-+sinclude .depend
-+endif
-+
-+#########################################################################
-+
-+clean:
-+ rm -f $(PROGNAME) *.bin *.srec *.map .depend *.o
-diff --git a/examples/vsc7385_load/Readme.txt b/examples/vsc7385_load/Readme.txt
-new file mode 100644
-index 0000000..14e7821
---- /dev/null
-+++ b/examples/vsc7385_load/Readme.txt
-@@ -0,0 +1,15 @@
-+This directory contains a U-Boot application that loads firmware required by
-+the Vitesse VSC7385 Gigabit Switch device on the MPC8349E-mITXE or the
-+MPC8313ERDB. The firmware loader application loads a binary image stored
-+within the Flash ROM on the hardware platform. The binary image is loaded
-+to the VSC7385 device that contains a standalone processor that runs the
-+software (within the binary image) independently of the main processor
-+subsystem and software within the MPC83xx. Once loaded and started the VSC7385
-+has no interaction with U-Boot or the Linux kernel.
-+
-+The firmware loader, U-Boot application, is built using the U-Boot example
-+applications as a template. The loader application build process is controlled
-+using the example/Makefile by modifying this Makefile to add the loader
-+application. An additional makefile is contained within this directory that
-+contains the firmware loader application complete build instructions.
-+
-diff --git a/examples/vsc7385_load/vsc7385_load.c b/examples/vsc7385_load/vsc7385_load.c
-new file mode 100644
-index 0000000..24982e4
---- /dev/null
-+++ b/examples/vsc7385_load/vsc7385_load.c
-@@ -0,0 +1,117 @@
-+/*
-+ *
-+ * Copyright (C) 2006-2008 Freescale Semiconductor, Inc. All rights reserved.
-+ *
-+ * 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
-+ *
-+ *
-+ * Description: Firmware loader for the Vitesse VSC7385 Gigabit Ethernet Switch
-+ *
-+ * Changelog:
-+ * 20070124 Joe.D'Abbraccio@freescale.com
-+ * Added support for both MPC8349E-mITX and the MPC8313ERDB
-+ * 20061006 Joe.D'Abbraccio@freescale.com
-+ * Initial version.
-+ *
-+ */
-+
-+#include <common.h>
-+#include <exports.h>
-+#include <config.h>
-+
-+#if CONFIG_MPC8349ITX || CONFIG_MPC8313ERDB
-+
-+#if CONFIG_MPC8349ITX
-+const unsigned char * VSC7385_image = 0xFEFFE000;
-+#elif CONFIG_MPC8313ERDB
-+const unsigned char * VSC7385_image = 0xFE7FE000;
-+#endif
-+
-+unsigned long image_size = (8 * 1024);
-+
-+
-+int main(int argc, char *argv[])
-+{
-+ unsigned long *RESET = (unsigned long *)(CFG_VSC7385_BASE + 0x1c050);
-+ unsigned long *CTRL = (unsigned long *)(CFG_VSC7385_BASE + 0x1c040);
-+ unsigned long *ADDR = (unsigned long *)(CFG_VSC7385_BASE + 0x1c044);
-+ unsigned long *DATA = (unsigned long *)(CFG_VSC7385_BASE + 0x1c048);
-+ unsigned long *CHIPID = (unsigned long *)(CFG_VSC7385_BASE + 0x1c060);
-+ unsigned long *MAP = (unsigned long *)(CFG_VSC7385_BASE + 0x1c070);
-+ unsigned long size, i, value;
-+ unsigned char load_succeeded;
-+
-+ size = image_size;
-+ *RESET = 3;
-+ udelay(200);
-+
-+ printf("VSC7385 Version = 0x%08lx\n", *CHIPID);
-+ udelay(20);
-+
-+ value = (
-+ (1<<7) |
-+ (1<<3) |
-+ (1<<2) |
-+ (1<<1) |
-+ (0<<0)
-+ );
-+ *CTRL = value;
-+ udelay(20);
-+
-+ *MAP = 1;
-+ udelay(20);
-+
-+ *ADDR = 0x0;
-+ udelay(20);
-+
-+ for (i=0; i<size; i++){
-+ *DATA=VSC7385_image[i];
-+ udelay(20);
-+ }
-+ load_succeeded = 1;
-+
-+ /* Read back to compare */
-+ *ADDR = 0x0;
-+
-+ for (i=0; i<size; i++){
-+ udelay(20);
-+ value = *DATA;
-+ if (value != VSC7385_image[i]) {
-+ printf("Error loading VSC7385 IRAM: ADDR: 0x%x, read value 0x%x mismatch image 0x%x\n",
-+ i, value, VSC7385_image[i]);
-+ load_succeeded = 0;
-+ if (getc() == 'q') {
-+ break;
-+ }
-+ }
-+ }
-+ if (load_succeeded == 1) {
-+ printf("Value in IRAM matches binary, total bytes 0x%x loaded\n", size);
-+ }
-+
-+ value = (
-+ (0<<7) |
-+ (1<<3) |
-+ (0<<2) |
-+ (1<<1) |
-+ (1<<0)
-+ );
-+ *CTRL = value;
-+
-+ return(0);
-+}
-+
-+#endif
---
-1.5.5.1.248.g4b17
-