powerpc: remove MOUSSE board support
authorMasahiro Yamada <yamada.m@jp.panasonic.com>
Fri, 4 Apr 2014 06:25:09 +0000 (15:25 +0900)
committerTom Rini <trini@ti.com>
Fri, 18 Apr 2014 14:42:30 +0000 (10:42 -0400)
Enough time has passed since this board was moved to Orphan. Remove.

 - Remove board/mousse/*
 - Remove include/configs/MOUSSE.h
 - Clean-up defined(CONFIG_MOUSSE)
 - Move the entry from boards.cfg to doc/README.scrapyard

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
17 files changed:
CREDITS
arch/powerpc/cpu/mpc824x/cpu_init.c
board/mousse/Makefile [deleted file]
board/mousse/README [deleted file]
board/mousse/flash.c [deleted file]
board/mousse/flash.h [deleted file]
board/mousse/m48t59y.c [deleted file]
board/mousse/m48t59y.h [deleted file]
board/mousse/mousse.c [deleted file]
board/mousse/mousse.h [deleted file]
board/mousse/pci.c [deleted file]
board/mousse/u-boot.lds [deleted file]
board/mousse/u-boot.lds.ram [deleted file]
board/mousse/u-boot.lds.rom [deleted file]
boards.cfg
doc/README.scrapyard
include/configs/MOUSSE.h [deleted file]

diff --git a/CREDITS b/CREDITS
index 52f289e06abce8099e63e5f12742ff3e917f74bd..3e5fb7baabb25ac5aaa6f0cd3ec1f96f876757ab 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -120,10 +120,6 @@ N: Dan A. Dickey
 E: ddickey@charter.net
 D: FADS Support
 
-N: James F. Dougherty
-E: jfd@GigabitNetworks.COM
-D: Port to the MOUSSE board
-
 N: Mike Dunn
 E: mikedunn@newsguy.com
 D: Palmtreo680 board, docg4 nand flash driver
index 47ac18e757cee98a3e525121aa9df7874f3619e9..68d88e910cbd8ee430110b36662d4f7e88c603bb 100644 (file)
@@ -46,8 +46,6 @@
 void
 cpu_init_f (void)
 {
-/* MOUSSE board is initialized in asm */
-#if !defined(CONFIG_MOUSSE)
     register unsigned long val;
     CONFIG_WRITE_HALFWORD(PCICR, 0x06); /* Bus Master, respond to PCI memory space acesses*/
 /*    CONFIG_WRITE_HALFWORD(PCISR, 0xffff); */ /*reset PCISR*/
@@ -302,98 +300,12 @@ cpu_init_f (void)
        CONFIG_READ_WORD(MCCR1, val);
        CONFIG_WRITE_WORD(MCCR1, val | MCCR1_MEMGO); /* set memory access going */
        __asm__ __volatile__("eieio");
-
-#endif /* !CONFIG_MOUSSE */
 }
 
-
-#ifdef CONFIG_MOUSSE
-#ifdef INCLUDE_MPC107_REPORT
-struct MPC107_s {
-       unsigned int iobase;
-       char desc[120];
-} MPC107Regs[] = {
-       { BMC_BASE +  0x00, "MPC107 Vendor/Device ID"           },
-       { BMC_BASE +  0x04, "MPC107 PCI Command/Status Register" },
-       { BMC_BASE +  0x08, "MPC107 Revision"                   },
-       { BMC_BASE +  0x0C, "MPC107 Cache Line Size"            },
-       { BMC_BASE +  0x10, "MPC107 LMBAR"                      },
-       { BMC_BASE +  0x14, "MPC824x PCSR"                      },
-       { BMC_BASE +  0xA8, "MPC824x PICR1"                     },
-       { BMC_BASE +  0xAC, "MPC824x PICR2"                     },
-       { BMC_BASE +  0x46, "MPC824x PACR"                      },
-       { BMC_BASE + 0x310, "MPC824x ITWR"                      },
-       { BMC_BASE + 0x300, "MPC824x OMBAR"                     },
-       { BMC_BASE + 0x308, "MPC824x OTWR"                      },
-       { BMC_BASE +  0x14, "MPC107 Peripheral Control and Status Register" },
-       { BMC_BASE + 0x78, "MPC107 EUMBAR"                      },
-       { BMC_BASE + 0xC0, "MPC107 Processor Bus Error Status"  },
-       { BMC_BASE + 0xC4, "MPC107 PCI Bus Error Status"        },
-       { BMC_BASE + 0xC8, "MPC107 Processor/PCI Error Address" },
-       { BMC_BASE + 0xE0, "MPC107 AMBOR Register"              },
-       { BMC_BASE + 0xF0, "MPC107 MCCR1 Register"              },
-       { BMC_BASE + 0xF4, "MPC107 MCCR2 Register"              },
-       { BMC_BASE + 0xF8, "MPC107 MCCR3 Register"              },
-       { BMC_BASE + 0xFC, "MPC107 MCCR4 Register"              },
-};
-#define N_MPC107_Regs  (sizeof(MPC107Regs)/sizeof(MPC107Regs[0]))
-#endif /* INCLUDE_MPC107_REPORT */
-#endif /* CONFIG_MOUSSE */
-
 /*
  * initialize higher level parts of CPU like time base and timers
  */
 int cpu_init_r (void)
 {
-#ifdef CONFIG_MOUSSE
-#ifdef INCLUDE_MPC107_REPORT
-       unsigned int tmp = 0, i;
-#endif
-       /*
-        * Initialize the EUMBBAR (Embedded Util Mem Block Base Addr Reg).
-        * This is necessary before the EPIC, DMA ctlr, I2C ctlr, etc. can
-        * be accessed.
-        */
-
-#ifdef CONFIG_MPC8240                  /* only on MPC8240 */
-       mpc824x_mpc107_setreg (EUMBBAR, EUMBBAR_VAL);
-       /* MOT/SPS: Issue #10002, PCI (FD Alias enable) */
-       mpc824x_mpc107_setreg (AMBOR, 0x000000C0);
-#endif
-
-
-#ifdef INCLUDE_MPC107_REPORT
-       /* Check MPC824x PCI Device and Vendor ID */
-       while ((tmp = mpc824x_mpc107_getreg (BMC_BASE)) != 0x31057) {
-               printf ("       MPC107: offset=0x%x, val = 0x%x\n",
-                       BMC_BASE,
-                       tmp);
-       }
-
-       for (i = 0; i < N_MPC107_Regs; i++) {
-               printf ("       0x%x/%s = 0x%x\n",
-                       MPC107Regs[i].iobase,
-                       MPC107Regs[i].desc,
-                       mpc824x_mpc107_getreg (MPC107Regs[i].iobase));
-       }
-
-       printf ("IBAT0L = 0x%08X\n", mfspr (IBAT0L));
-       printf ("IBAT0U = 0x%08X\n", mfspr (IBAT0U));
-       printf ("IBAT1L = 0x%08X\n", mfspr (IBAT1L));
-       printf ("IBAT1U = 0x%08X\n", mfspr (IBAT1U));
-       printf ("IBAT2L = 0x%08X\n", mfspr (IBAT2L));
-       printf ("IBAT2U = 0x%08X\n", mfspr (IBAT2U));
-       printf ("IBAT3L = 0x%08X\n", mfspr (IBAT3L));
-       printf ("IBAT3U = 0x%08X\n", mfspr (IBAT3U));
-       printf ("DBAT0L = 0x%08X\n", mfspr (DBAT0L));
-       printf ("DBAT0U = 0x%08X\n", mfspr (DBAT0U));
-       printf ("DBAT1L = 0x%08X\n", mfspr (DBAT1L));
-       printf ("DBAT1U = 0x%08X\n", mfspr (DBAT1U));
-       printf ("DBAT2L = 0x%08X\n", mfspr (DBAT2L));
-       printf ("DBAT2U = 0x%08X\n", mfspr (DBAT2U));
-       printf ("DBAT3L = 0x%08X\n", mfspr (DBAT3L));
-       printf ("DBAT3U = 0x%08X\n", mfspr (DBAT3U));
-#endif /* INCLUDE_MPC107_REPORT */
-#endif /* CONFIG_MOUSSE */
        return (0);
 }
diff --git a/board/mousse/Makefile b/board/mousse/Makefile
deleted file mode 100644 (file)
index e2951d5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# (C) Copyright 2001-2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# SPDX-License-Identifier:     GPL-2.0+
-#
-
-obj-y  = mousse.o m48t59y.o pci.o flash.o
diff --git a/board/mousse/README b/board/mousse/README
deleted file mode 100644 (file)
index d5dda7a..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-
-U-Boot for MOUSSE/MPC8240 (KAHLUA)
-----------------------------------
-James Dougherty (jfd@broadcom.com), 09/10/01
-
-The Broadcom/Vooha Mousse board is a 3U Compact PCI system board
-which uses the MPC8240, a 64MB SDRAM SIMM, and has onboard
-DEC 21143, NS16550 UART, an SGS M48T59Y TOD, and 4MB FLASH.
-See also: http://www.vooha.com/
-
-* NVRAM setenv/printenv/savenv supported.
-* Date Command
-* Serial Console support
-* Network support
-* FLASH of kernel images is supported.
-* FLASH of U-Boot to onboard and PLCC boot region.
-* Kernel command line options from NVRAM is supported.
-* IP PNP options supported.
-
-U-Boot Loading...
-
-
-U-Boot 1.0.5 (Sep 10 2001 - 00:22:25)
-
-CPU:   MPC8240 Revision 1.1 at 198 MHz: 16 kB I-Cache 16 kB D-Cache
-Board: MOUSSE MPC8240/KAHLUA - CHRP (MAP B)
-Built: Sep 10 2001 at 01:01:50
-MPLD:  Revision 127
-Local Bus:  33 MHz
-RTC:   M48T589 TOD/NVRAM (8176) bytes
-  Current date/time: 9/10/2001 0:18:52
-DRAM:  64 MB
-FLASH:  1.960 MB
-PCI:    scanning bus0 ...
-  bus dev fn venID devID class  rev MBAR0    MBAR1    IPIN ILINE
-  00  00  00 1057  0003  060000 11  00000008 00000000 01   00
-  00  0d  00 1011  0019  020000 41  80000001 80000000 01   01
-  00  0e  00 105a  4d38  018000 01  a0000001 a0001001 01   03
-In:    serial
-Out:   serial
-Err:   serial
-
-Hit any key to stop autoboot:  0
-=>
-
-I. Root FileSystem/IP Configuration
-
-bootcmd=tftp 100000 vmlinux.img;bootm
-bootdelay=3
-baudrate=9600
-ipaddr=<IP ADDRESS>
-netmask=<NETMASK>
-hostname=<NAME>
-serverip=<NFS SERVER IP ADDRESS>
-ethaddr=00:00:10:20:30:44
-nfsroot=<NFS SERVER IP ADDRESS>:/boot/root-fs
-gateway=<IP ADDRESS>
-root=/dev/nfs
-stdin=serial
-stdout=serial
-stderr=serial
-
-NVRAM environment variables.
-
-use the command:
-
-setenv <attribute> <value>
-
-type "saveenv" to write to NVRAM.
-
-
-II. To boot from a hard drive:
-
-setenv root /dev/hda1
-
-
-III. IP options which configure the network:
-
-ipaddr=<IP ADDRESS OF MACHINE>
-netmask=<NETMASK>
-hostname=mousse
-ethaddr=00:00:10:20:30:44
-gateway=<IP ADDRESS OF GATEWAY/ROUTER>
-
-
-IV. IP Options which configure NFS Root/Boot Support
-
-root=/dev/nfs
-serverip=<NFS SERVER IP ADDRESS>
-nfsroot=<NFS SERVER IP ADDRESS>:/boot/root-fs
-
-V. U-Boot Image Support
-
-The U-Boot boot loader assumes that after you build
-your kernel (vmlinux), you will create a U-Boot image
-using the following commands or script:
-
-#!/bin/csh
-/bin/touch vmlinux.img
-/bin/rm vmlinux.img
-set path=($TOOLBASE/bin $path)
-set path=($U_BOOT/tools $path)
-powerpc-linux-objcopy -S -O binary vmlinux vmlinux.bin
-gzip -vf vmlinux.bin
-mkimage -A ppc -O linux -T kernel -C gzip -a 0 -e 0 -n vmlinux.bin.gz -d vmlinux.bin.gz vmlinux.img
-ls -l vmlinux.img
-
-
-VI. ONBOARD FLASH Support
-
-FLASH support is provided for the onboard FLASH chip Bootrom area.
-U-Boot is loaded into either the ROM boot region of the FLASH chip,
-after first being boot-strapped from a pre-progammed AMD29F040 PLCC
-bootrom. The PLCC needs to be programmed with a ROM burner using
-AMD 29F040 ROM parts and the u-boot.bin or u-boot.hex (S-Record)
-images.
-
-The PLCC overlays this same region of flash as the onboard FLASH,
-the jumper J100 is a chip-select for which flash chip you want to
-progam. When jumper J100 is connected to pins 2-3, you boot from
-PLCC FLASH.
-
-To bringup a system, simply flash a flash an AMD29F040 PLCC
-bootrom, and put this in the PLCC socket. Move jumper J100 to
-pins 2-3 and boot from the PLCC.
-
-
-Now, while the system is running, move Jumper J100 to
-pins 1-2 and follow the procedure below to FLASH a bootrom
-(u-boot.bin) image into the onboard bootrom region (AMD29LV160DB):
-
-tftp 100000 u-boot.bin
-protect off FFF00000 FFF7FFFF
-erase FFF00000 FFF7FFFF
-cp.b 100000 FFF00000 \${filesize}\
-
-
-Here is an example:
-
-=>tftp 100000 u-boot.bin
-eth_halt
-eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0)
-DEC Ethernet iobase=0x80000000
-ARP broadcast 1
-Filename 'u-boot.bin'.
-Load address: 0x100000
-Loading: #########################
-done
-Bytes transferred = 123220 (1e154 hex)
-eth_halt
-=>protect off FFF00000 FFF7FFFF
-Un-Protected 8 sectors
-=>erase FFF00000 FFF7FFFF
-Erase Flash from 0xfff00000 to 0xfff7ffff
-Erase FLASH[PLCC_BOOT] -8 sectors:........ done
-Erased 8 sectors
-=>cp.b 100000 FFF00000 1e154
-Copy to Flash... FLASH[PLCC_BOOT]:..done
-=>
-
-
-B. FLASH RAMDISK REGION
-
-FLASH support is provided for an Onboard 512K RAMDISK region.
-
-TThe following commands will FLASH a bootrom (u-boot.bin) image
-into the onboard FLASH region (AMD29LV160DB 2MB FLASH):
-
-tftp 100000 u-boot.bin
-protect off FFF80000 FFFFFFFF
-erase FFF80000 FFFFFFFF
-cp.b 100000 FFF80000 \${filesize}\
-
-
-C. FLASH KERNEL REGION (960KB)
-
-FLASH support is provided for the 960KB onboard FLASH1 segment.
-This allows flashing of kernel images which U-Boot can load
-and run (standalone) from the onboard FLASH chip. It also assumes
-
-The following commands will FLASH a kernel image to 0xffe10000
-
-tftp 100000 vmlinux.img
-protect off FFE10000 FFEFFFFF
-erase FFE10000 FFEFFFFF
-cp.b 100000 FFE10000 \${filesize}\
-reset
-
-Here is an example:
-
-
-=>tftp 100000 vmlinux.img
-eth_halt
-eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0)
-DEC Ethernet iobase=0x80000000
-ARP broadcast 1
-TFTP from server 209.128.93.133; our IP address is 209.128.93.138
-Filename 'vmlinux.img'.
-Load address: 0x100000
-Loading: #####################################################################################################################################################
-done
-Bytes transferred = 760231 (b99a7 hex)
-eth_halt
-=>protect off FFE10000 FFEFFFFF
-Un-Protected 15 sectors
-=>erase FFE10000 FFEFFFFF
-Erase Flash from 0xffe10000 to 0xffefffff
-Erase FLASH[F0_SA3(KERNEL)] -15 sectors:............... done
-Erased 15 sectors
-=>cp.b 100000 FFE10000 b99a7
-Copy to Flash... FLASH[F0_SA3(KERNEL)]:............done
-=>
-
-
-When finished, use the command:
-
-bootm ffe10000
-
-to start the kernel.
-
-Finally, to make this the default boot command, use
-the following commands:
-
-setenv bootcmd bootm ffe10000
-savenv
-
-to make it automatically boot the kernel from FLASH.
-
-
-To go back to development mode (NFS boot)
-
-setenv bootcmd tftp 100000 vmlinux.img\;bootm
-savenv
-
-
-=>tftp 100000 vmlinux.img
-eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0)
-DEC Ethernet iobase=0x80000000
-ARP broadcast 1
-Filename 'vmlinux.img'.
-Load address: 0x100000
-Loading: ####################################################################################################################################################
-done
-Bytes transferred = 752717 (b7c4d hex)
-eth_halt
-=>protect off FFE10000 FFEFFFFF
-Un-Protected 15 sectors
-=>erase FFE10000 FFEFFFFF
-Erase Flash from 0xffe10000 to 0xffefffff
-Erase FLASH[F0_SA3(KERNEL)] -15 sectors:............... done
-Erased 15 sectors
-=>cp.b 100000 FFE10000 b7c4d
-Copy to Flash... FLASH[F0_SA3(KERNEL)]:............done
-=>bootm ffe10000
-## Booting image at ffe10000 ...
-   Image Name:   vmlinux.bin.gz
-   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
-   Data Size:    752653 Bytes = 735 kB = 0 MB
-   Load Address: 00000000
-   Entry Point:  00000000
-   Verifying Checksum ... OK
-   Uncompressing Kernel Image ... OK
-Total memory = 64MB; using 0kB for hash table (at 00000000)
-Linux version 2.4.2_hhl20 (jfd@atlantis) (gcc version 2.95.2 19991024 (release)) #597 Wed Sep 5 23:23:23 PDT 2001
-cpu0: MPC8240/KAHLUA : MOUSSE Platform : 64MB RAM: MPLD Rev. 7f
-Sandpoint port (C) 2000, 2001 MontaVista Software, Inc. (source@mvista.com)
-IP PNP: 802.3 Ethernet Address=<0:0:10:20:30:44>
-NOTICE: mounting root file system via NFS
-On node 0 totalpages: 16384
-zone(0): 16384 pages.
-zone(1): 0 pages.
-zone(2): 0 pages.
-time_init: decrementer frequency = 16.665914 MHz
-time_init: MPC8240 PCI Bus frequency = 33.331828 MHz
-Calibrating delay loop... 133.12 BogoMIPS
-Memory: 62436k available (1336k kernel code, 500k data, 88k init, 0k highmem)
-Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
-Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
-Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
-Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
-POSIX conformance testing by UNIFIX
-PCI: Probing PCI hardware
-Linux NET4.0 for Linux 2.4
-Based upon Swansea University Computer Society NET3.039
-Initializing RT netlink socket
-Starting kswapd v1.8
-pty: 256 Unix98 ptys configured
-block: queued sectors max/low 41394kB/13798kB, 128 slots per queue
-Uniform Multi-Platform E-IDE driver Revision: 6.31
-ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
-PDC20262: IDE controller on PCI bus 00 dev 70
-PDC20262: chipset revision 1
-PDC20262: not 100% native mode: will probe irqs later
-PDC20262: ROM enabled at 0x000d0000
-PDC20262: (U)DMA Burst Bit DISABLED Primary PCI Mode Secondary PCI Mode.
-PDC20262: FORCING BURST BIT 0x00 -> 0x01 ACTIVE
-PDC20262: irq=3 dev->irq=3
-    ide0: BM-DMA at 0xbfff00-0xbfff07, BIOS settings: hda:DMA, hdb:DMA
-    ide1: BM-DMA at 0xbfff08-0xbfff0f, BIOS settings: hdc:pio, hdd:pio
-hda: WDC WD300AB-00BVA0, ATA DISK drive
-hdc: SONY CD-RW CRX160E, ATAPI CD/DVD-ROM drive
-ide0 at 0xbfff78-0xbfff7f,0xbfff76 on irq 3
-ide1 at 0xbfff68-0xbfff6f,0xbfff66 on irq 3
-hda: 58633344 sectors (30020 MB) w/2048KiB Cache, CHS=58168/16/63, UDMA(66)
-hdc: ATAPI 32X CD-ROM CD-R/RW drive, 4096kB Cache
-Uniform CD-ROM driver Revision: 3.12
-Partition check:
- /dev/ide/host0/bus0/target0/lun0: p1 p2
-hd: unable to get major 3 for hard disk
-udf: registering filesystem
-loop: loaded (max 8 devices)
-Serial driver version 5.02 (2000-08-09) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
-ttyS00 at 0xffe08080 (irq = 4) is a ST16650
-Linux Tulip driver version 0.9.13a (January 20, 2001)
-eth0: Digital DS21143 Tulip rev 65 at 0xbfff80, EEPROM not present, 00:00:10:20:30:44, IRQ 1.
-eth0:  MII transceiver #0 config 3000 status 7829 advertising 01e1.
-NET4: Linux TCP/IP 1.0 for NET4.0
-IP Protocols: ICMP, UDP, TCP
-IP: routing cache hash table of 512 buckets, 4Kbytes
-TCP: Hash tables configured (established 4096 bind 4096)
-NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
-devfs: v0.102 (20000622) Richard Gooch (rgooch@atnf.csiro.au)
-devfs: boot_options: 0x0
-VFS: Mounted root (nfs filesystem).
-Mounted devfs on /dev
-Freeing unused kernel memory: 88k init 4k openfirmware
-eth0: Setting full-duplex based on MII#0 link partner capability of 45e1.
-INIT: version 2.78 booting
-INIT: Entering runlevel: 2
-
-
-Welcome to Linux/PPC
-MPC8240/MOUSSE
-
-
-mousse login: root
-Password:
-PAM_unix[13]: (login) session opened for user root by LOGIN(uid=0)
-Last login: Thu Sep  6 00:16:51 2001 on console
-
-
-Welcome to Linux/PPC
-MPC8240/MOUSSE
-
-
-mousse#
diff --git a/board/mousse/flash.c b/board/mousse/flash.c
deleted file mode 100644 (file)
index acedcb1..0000000
+++ /dev/null
@@ -1,917 +0,0 @@
-/*
- * MOUSSE/MPC8240 Board definitions.
- * Flash Routines for MOUSSE onboard AMD29LV106DB devices
- *
- * (C) Copyright 2000
- * Marius Groeger <mgroeger@sysgo.de>
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- *
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 1999, by Curt McDowell, 08-06-99, Broadcom Corp.
- * (C) Copyright 2001, James Dougherty, 07/18/01, Broadcom Corp.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <mpc8xx.h>
-#include <malloc.h>
-#include "mousse.h"
-#include "flash.h"
-
-int flashLibDebug = 0;
-int flashLibInited = 0;
-
-#define OK  0
-#define ERROR -1
-#define STATUS int
-#define PRINTF                 if (flashLibDebug) printf
-#if 0
-#define PRIVATE                        static
-#else
-#define PRIVATE
-#endif
-
-flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];
-
-#define SLEEP_DELAY    166
-#define FLASH_SECTOR_SIZE   (64*1024)
-/***********************************************************************
- *
- * Virtual Flash Devices on Mousse board
- *
- * These must be kept in sync with the definitions in flashLib.h.
- *
- ***********************************************************************/
-
-PRIVATE flash_dev_t flashDev[] = {
-    /* Bank 0 sector SA0 (16 kB) */
-    {  "SA0",FLASH0_BANK, FLASH0_SEG0_START, 1, 14,
-       FLASH0_VENDOR_ID, FLASH0_DEVICE_ID
-    },
-    /* Bank 0 sector SA1 (8 kB) */
-    {  "SA1", FLASH0_BANK, FLASH0_SEG0_START + 0x4000, 1, 13,
-       FLASH0_VENDOR_ID, FLASH0_DEVICE_ID
-    },
-    /* Bank 0 sector SA2 (8 kB) */
-    {  "SA2", FLASH0_BANK, FLASH0_SEG0_START + 0x6000, 1, 13,
-       FLASH0_VENDOR_ID, FLASH0_DEVICE_ID
-    },
-    /* Bank 0 sector SA3 is occluded by Mousse I/O devices */
-    /* Bank 0 sectors SA4-SA18, after Mousse devices up to PLCC (960 kB)  */
-    {  "KERNEL", FLASH0_BANK, FLASH0_SEG1_START, 15, 16,
-       FLASH0_VENDOR_ID, FLASH0_DEVICE_ID
-    },
-    /* Bank 0 sectors SA19-SA26, jumper can occlude this by PLCC (512 kB) */
-    /* This is where the Kahlua boot vector and boot ROM code resides. */
-    {  "BOOT",FLASH0_BANK, FLASH0_SEG2_START, 8, 16,
-       FLASH0_VENDOR_ID, FLASH0_DEVICE_ID
-    },
-    /* Bank 0 sectors SA27-SA34 (512 kB) */
-    {  "RAMDISK",FLASH0_BANK, FLASH0_SEG3_START, 8, 16,
-       FLASH0_VENDOR_ID, FLASH0_DEVICE_ID
-    },
-};
-
-int flashDevCount = (sizeof (flashDev) / sizeof (flashDev[0]));
-
-#define DEV(no)                        (&flashDev[no])
-#define DEV_NO(dev)            ((dev) - flashDev)
-
-/***********************************************************************
- *
- * Private Flash Routines
- *
- ***********************************************************************/
-
-/*
- * The convention is:
- *
- * "addr" is always the PROM raw address, which is the address of an
- * 8-bit quantity for flash 0 and 16-bit quantity for flash 1.
- *
- * "pos" is always a logical byte position from the PROM beginning.
- */
-
-#define FLASH0_ADDR(dev, addr) \
-       ((unsigned char *) ((dev)->base + (addr)))
-
-#define FLASH0_WRITE(dev, addr, value) \
-       (*FLASH0_ADDR(dev, addr) = (value))
-
-#define FLASH0_READ(dev, addr) \
-       (*FLASH0_ADDR(dev, addr))
-
-PRIVATE int flashCheck (flash_dev_t * dev)
-{
-       if (!flashLibInited) {
-               printf ("flashCheck: flashLib not initialized\n");
-               return ERROR;
-       }
-
-       if (dev < &flashDev[0] || dev >= &flashDev[flashDevCount]) {
-               printf ("flashCheck: Bad dev parameter\n");
-               return ERROR;
-       }
-
-       if (!dev->found) {
-               printf ("flashCheck: Device %d not available\n", DEV_NO (dev));
-               return ERROR;
-       }
-
-       return OK;
-}
-
-PRIVATE void flashReset (flash_dev_t * dev)
-{
-       PRINTF ("flashReset: dev=%d\n", DEV_NO (dev));
-
-       if (dev->bank == FLASH0_BANK) {
-               FLASH0_WRITE (dev, 0x555, 0xaa);
-               FLASH0_WRITE (dev, 0xaaa, 0x55);
-               FLASH0_WRITE (dev, 0x555, 0xf0);
-       }
-
-       udelay (SLEEP_DELAY);
-
-       PRINTF ("flashReset: done\n");
-}
-
-PRIVATE int flashProbe (flash_dev_t * dev)
-{
-       int rv, deviceID, vendorID;
-
-       PRINTF ("flashProbe: dev=%d\n", DEV_NO (dev));
-
-       if (dev->bank != FLASH0_BANK) {
-               rv = ERROR;
-               goto DONE;
-       }
-
-       FLASH0_WRITE (dev, 0xaaa, 0xaa);
-       FLASH0_WRITE (dev, 0x555, 0x55);
-       FLASH0_WRITE (dev, 0xaaa, 0x90);
-
-       udelay (SLEEP_DELAY);
-
-       vendorID = FLASH0_READ (dev, 0);
-       deviceID = FLASH0_READ (dev, 2);
-
-       FLASH0_WRITE (dev, 0, 0xf0);
-
-       PRINTF ("flashProbe: vendor=0x%x device=0x%x\n", vendorID, deviceID);
-
-       if (vendorID == dev->vendorID && deviceID == dev->deviceID)
-               rv = OK;
-       else
-               rv = ERROR;
-
-  DONE:
-       PRINTF ("flashProbe: rv=%d\n", rv);
-
-       return rv;
-}
-
-PRIVATE int flashWait (flash_dev_t * dev, int addr, int expect, int erase)
-{
-       int rv = ERROR;
-       int i, data;
-       int polls;
-
-#if 0
-       PRINTF ("flashWait: dev=%d addr=0x%x expect=0x%x erase=%d\n",
-               DEV_NO (dev), addr, expect, erase);
-#endif
-
-       if (dev->bank != FLASH0_BANK) {
-               rv = ERROR;
-               goto done;
-       }
-
-       if (erase)
-               polls = FLASH_ERASE_SECTOR_TIMEOUT;     /* Ticks */
-       else
-               polls = FLASH_PROGRAM_POLLS;    /* Loops */
-
-       for (i = 0; i < polls; i++) {
-               if (erase)
-                       udelay (SLEEP_DELAY);
-
-               data = FLASH0_READ (dev, addr);
-
-               if (((data ^ expect) & 0x80) == 0) {
-                       rv = OK;
-                       goto done;
-               }
-
-               if (data & 0x20) {
-                       /*
-                        * If the 0x20 bit has come on, it could actually be because
-                        * the operation succeeded, so check the done bit again.
-                        */
-
-                       data = FLASH0_READ (dev, addr);
-
-                       if (((data ^ expect) & 0x80) == 0) {
-                               rv = OK;
-                               goto done;
-                       }
-
-                       printf ("flashWait: Program error (dev: %d, addr: 0x%x)\n",
-                                       DEV_NO (dev), addr);
-
-                       flashReset (dev);
-                       rv = ERROR;
-                       goto done;
-               }
-       }
-
-       printf ("flashWait: Timeout %s (dev: %d, addr: 0x%x)\n",
-               erase ? "erasing sector" : "programming byte",
-               DEV_NO (dev), addr);
-
-  done:
-
-#if 0
-       PRINTF ("flashWait: rv=%d\n", rv);
-#endif
-
-       return rv;
-}
-
-/***********************************************************************
- *
- * Public Flash Routines
- *
- ***********************************************************************/
-
-STATUS flashLibInit (void)
-{
-       int i;
-
-       PRINTF ("flashLibInit: devices=%d\n", flashDevCount);
-
-       for (i = 0; i < flashDevCount; i++) {
-               flash_dev_t *dev = &flashDev[i];
-
-               /*
-                * For bank 1, probe both without and with byte swappage,
-                * so that this module works on both old and new Mousse boards.
-                */
-
-               flashReset (dev);
-
-               if (flashProbe (dev) != ERROR)
-                       dev->found = 1;
-
-               flashReset (dev);
-
-               if (flashProbe (dev) != ERROR)
-                       dev->found = 1;
-
-               dev->swap = 0;
-
-               if (dev->found) {
-                       PRINTF ("\n  FLASH %s[%d]: iobase=0x%x - %d sectors %d KB",
-                               flashDev[i].name, i, flashDev[i].base,
-                               flashDev[i].sectors,
-                               (flashDev[i].sectors * FLASH_SECTOR_SIZE) / 1024);
-
-               }
-       }
-
-       flashLibInited = 1;
-
-       PRINTF ("flashLibInit: done\n");
-
-       return OK;
-}
-
-STATUS flashEraseSector (flash_dev_t * dev, int sector)
-{
-       int pos, addr;
-
-       PRINTF ("flashErasesector: dev=%d sector=%d\n", DEV_NO (dev), sector);
-
-       if (flashCheck (dev) == ERROR)
-               return ERROR;
-
-       if (sector < 0 || sector >= dev->sectors) {
-               printf ("flashEraseSector: Sector out of range (dev: %d, sector: %d)\n", DEV_NO (dev), sector);
-               return ERROR;
-       }
-
-       pos = FLASH_SECTOR_POS (dev, sector);
-
-       if (dev->bank != FLASH0_BANK) {
-               return ERROR;
-       }
-
-       addr = pos;
-
-       FLASH0_WRITE (dev, 0xaaa, 0xaa);
-       FLASH0_WRITE (dev, 0x555, 0x55);
-       FLASH0_WRITE (dev, 0xaaa, 0x80);
-       FLASH0_WRITE (dev, 0xaaa, 0xaa);
-       FLASH0_WRITE (dev, 0x555, 0x55);
-       FLASH0_WRITE (dev, addr, 0x30);
-
-       return flashWait (dev, addr, 0xff, 1);
-}
-
-/*
- * Note: it takes about as long to flash all sectors together with Chip
- * Erase as it does to flash them one at a time (about 30 seconds for 2
- * MB).  Also since we want to be able to treat subsets of sectors as if
- * they were complete devices, we don't use Chip Erase.
- */
-
-STATUS flashErase (flash_dev_t * dev)
-{
-       int sector;
-
-       PRINTF ("flashErase: dev=%d sectors=%d\n", DEV_NO (dev), dev->sectors);
-
-       if (flashCheck (dev) == ERROR)
-               return ERROR;
-
-       for (sector = 0; sector < dev->sectors; sector++) {
-               if (flashEraseSector (dev, sector) == ERROR)
-                       return ERROR;
-       }
-       return OK;
-}
-
-/*
- * Read and write bytes
- */
-
-STATUS flashRead (flash_dev_t * dev, int pos, char *buf, int len)
-{
-       int addr, words;
-
-       PRINTF ("flashRead: dev=%d pos=0x%x buf=0x%x len=0x%x\n",
-               DEV_NO (dev), pos, (int) buf, len);
-
-       if (flashCheck (dev) == ERROR)
-               return ERROR;
-
-       if (pos < 0 || len < 0 || pos + len > FLASH_MAX_POS (dev)) {
-               printf ("flashRead: Position out of range "
-                       "(dev: %d, pos: 0x%x, len: 0x%x)\n",
-                       DEV_NO (dev), pos, len);
-               return ERROR;
-       }
-
-       if (len == 0)
-               return OK;
-
-       if (dev->bank == FLASH0_BANK) {
-               addr = pos;
-               words = len;
-
-               PRINTF ("flashRead: memcpy(0x%x, 0x%x, 0x%x)\n",
-                       (int) buf, (int) FLASH0_ADDR (dev, pos), len);
-
-               memcpy (buf, FLASH0_ADDR (dev, addr), words);
-
-       }
-       PRINTF ("flashRead: rv=OK\n");
-
-       return OK;
-}
-
-STATUS flashWrite (flash_dev_t * dev, int pos, char *buf, int len)
-{
-       int addr, words;
-
-       PRINTF ("flashWrite: dev=%d pos=0x%x buf=0x%x len=0x%x\n",
-               DEV_NO (dev), pos, (int) buf, len);
-
-       if (flashCheck (dev) == ERROR)
-               return ERROR;
-
-       if (pos < 0 || len < 0 || pos + len > FLASH_MAX_POS (dev)) {
-               printf ("flashWrite: Position out of range "
-                       "(dev: %d, pos: 0x%x, len: 0x%x)\n",
-                       DEV_NO (dev), pos, len);
-               return ERROR;
-       }
-
-       if (len == 0)
-               return OK;
-
-       if (dev->bank == FLASH0_BANK) {
-               unsigned char tmp;
-
-               addr = pos;
-               words = len;
-
-               while (words--) {
-                       tmp = *buf;
-                       if (~FLASH0_READ (dev, addr) & tmp) {
-                               printf ("flashWrite: Attempt to program 0 to 1 "
-                                       "(dev: %d, addr: 0x%x, data: 0x%x)\n",
-                                       DEV_NO (dev), addr, tmp);
-                               return ERROR;
-                       }
-                       FLASH0_WRITE (dev, 0xaaa, 0xaa);
-                       FLASH0_WRITE (dev, 0x555, 0x55);
-                       FLASH0_WRITE (dev, 0xaaa, 0xa0);
-                       FLASH0_WRITE (dev, addr, tmp);
-                       if (flashWait (dev, addr, tmp, 0) < 0)
-                               return ERROR;
-                       buf++;
-                       addr++;
-               }
-       }
-
-       PRINTF ("flashWrite: rv=OK\n");
-
-       return OK;
-}
-
-/*
- * flashWritable returns true if a range contains all F's.
- */
-
-STATUS flashWritable (flash_dev_t * dev, int pos, int len)
-{
-       int addr, words;
-       int rv = ERROR;
-
-       PRINTF ("flashWritable: dev=%d pos=0x%x len=0x%x\n",
-                       DEV_NO (dev), pos, len);
-
-       if (flashCheck (dev) == ERROR)
-               goto done;
-
-       if (pos < 0 || len < 0 || pos + len > FLASH_MAX_POS (dev)) {
-               printf ("flashWritable: Position out of range "
-                       "(dev: %d, pos: 0x%x, len: 0x%x)\n",
-                       DEV_NO (dev), pos, len);
-               goto done;
-       }
-
-       if (len == 0) {
-               rv = 1;
-               goto done;
-       }
-
-       if (dev->bank == FLASH0_BANK) {
-               addr = pos;
-               words = len;
-
-               while (words--) {
-                       if (FLASH0_READ (dev, addr) != 0xff) {
-                               rv = 0;
-                               goto done;
-                       }
-                       addr++;
-               }
-       }
-
-       rv = 1;
-
-  done:
-       PRINTF ("flashWrite: rv=%d\n", rv);
-       return rv;
-}
-
-
-/*
- * NOTE: the below code cannot run from FLASH!!!
- */
-/***********************************************************************
- *
- * Flash Diagnostics
- *
- ***********************************************************************/
-
-STATUS flashDiag (flash_dev_t * dev)
-{
-       unsigned int *buf = 0;
-       int i, len, sector;
-       int rv = ERROR;
-
-       if (flashCheck (dev) == ERROR)
-               return ERROR;
-
-       printf ("flashDiag: Testing device %d, "
-               "base: 0x%x, %d sectors @ %d kB = %d kB\n",
-               DEV_NO (dev), dev->base,
-               dev->sectors,
-               1 << (dev->lgSectorSize - 10),
-               dev->sectors << (dev->lgSectorSize - 10));
-
-       len = 1 << dev->lgSectorSize;
-
-       printf ("flashDiag: Erasing\n");
-
-       if (flashErase (dev) == ERROR) {
-               printf ("flashDiag: Erase failed\n");
-               goto done;
-       }
-       printf ("%d bytes requested ...\n", len);
-       buf = malloc (len);
-       printf ("allocated %d bytes ...\n", len);
-       if (buf == 0) {
-               printf ("flashDiag: Out of memory\n");
-               goto done;
-       }
-
-       /*
-        * Write unique counting pattern to each sector
-        */
-
-       for (sector = 0; sector < dev->sectors; sector++) {
-               printf ("flashDiag: Write sector %d\n", sector);
-
-               for (i = 0; i < len / 4; i++)
-                       buf[i] = sector << 24 | i;
-
-               if (flashWrite (dev,
-                               sector << dev->lgSectorSize,
-                               (char *) buf, len) == ERROR) {
-                       printf ("flashDiag: Write failed (dev: %d, sector: %d)\n",
-                               DEV_NO (dev), sector);
-                       goto done;
-               }
-       }
-
-       /*
-        * Verify
-        */
-
-       for (sector = 0; sector < dev->sectors; sector++) {
-               printf ("flashDiag: Verify sector %d\n", sector);
-
-               if (flashRead (dev,
-                                  sector << dev->lgSectorSize,
-                                  (char *) buf, len) == ERROR) {
-                       printf ("flashDiag: Read failed (dev: %d, sector: %d)\n",
-                               DEV_NO (dev), sector);
-                       goto done;
-               }
-
-               for (i = 0; i < len / 4; i++) {
-                       if (buf[i] != (sector << 24 | i)) {
-                               printf ("flashDiag: Verify error "
-                                       "(dev: %d, sector: %d, offset: 0x%x)\n",
-                                       DEV_NO (dev), sector, i);
-                               printf ("flashDiag: Expected 0x%08x, got 0x%08x\n",
-                                       sector << 24 | i, buf[i]);
-
-                               goto done;
-                       }
-               }
-       }
-
-       printf ("flashDiag: Erasing\n");
-
-       if (flashErase (dev) == ERROR) {
-               printf ("flashDiag: Final erase failed\n");
-               goto done;
-       }
-
-       rv = OK;
-
-  done:
-       if (buf)
-               free (buf);
-
-       if (rv == OK)
-               printf ("flashDiag: Device %d passed\n", DEV_NO (dev));
-       else
-               printf ("flashDiag: Device %d failed\n", DEV_NO (dev));
-
-       return rv;
-}
-
-STATUS flashDiagAll (void)
-{
-       int i;
-       int rv = OK;
-
-       PRINTF ("flashDiagAll: devices=%d\n", flashDevCount);
-
-       for (i = 0; i < flashDevCount; i++) {
-               flash_dev_t *dev = &flashDev[i];
-
-               if (dev->found && flashDiag (dev) == ERROR)
-                       rv = ERROR;
-       }
-
-       if (rv == OK)
-               printf ("flashDiagAll: Passed\n");
-       else
-               printf ("flashDiagAll: Failed because of earlier errors\n");
-
-       return OK;
-}
-
-
-/*-----------------------------------------------------------------------
- */
-unsigned long flash_init (void)
-{
-       unsigned long size = 0;
-       flash_dev_t *dev = NULL;
-
-       flashLibInit ();
-
-       /*
-        * Provide info for FLASH (up to 960K) of Kernel Image data.
-        */
-       dev = FLASH_DEV_BANK0_LOW;
-       flash_info[FLASH_BANK_KERNEL].flash_id =
-                       (dev->vendorID << 16) | dev->deviceID;
-       flash_info[FLASH_BANK_KERNEL].sector_count = dev->sectors;
-       flash_info[FLASH_BANK_KERNEL].size =
-                       flash_info[FLASH_BANK_KERNEL].sector_count * FLASH_SECTOR_SIZE;
-       flash_info[FLASH_BANK_KERNEL].start[FIRST_SECTOR] = dev->base;
-       size += flash_info[FLASH_BANK_KERNEL].size;
-
-       /*
-        * Provide info for 512K PLCC FLASH ROM (U-Boot)
-        */
-       dev = FLASH_DEV_BANK0_BOOT;
-       flash_info[FLASH_BANK_BOOT].flash_id =
-                       (dev->vendorID << 16) | dev->deviceID;
-       flash_info[FLASH_BANK_BOOT].sector_count = dev->sectors;
-       flash_info[FLASH_BANK_BOOT].size =
-                       flash_info[FLASH_BANK_BOOT].sector_count * FLASH_SECTOR_SIZE;
-       flash_info[FLASH_BANK_BOOT].start[FIRST_SECTOR] = dev->base;
-       size += flash_info[FLASH_BANK_BOOT].size;
-
-
-       /*
-        * Provide info for 512K FLASH0 segment (U-Boot)
-        */
-       dev = FLASH_DEV_BANK0_HIGH;
-       flash_info[FLASH_BANK_AUX].flash_id =
-                       (dev->vendorID << 16) | dev->deviceID;
-       flash_info[FLASH_BANK_AUX].sector_count = dev->sectors;
-       flash_info[FLASH_BANK_AUX].size =
-                       flash_info[FLASH_BANK_AUX].sector_count * FLASH_SECTOR_SIZE;
-       flash_info[FLASH_BANK_AUX].start[FIRST_SECTOR] = dev->base;
-       size += flash_info[FLASH_BANK_AUX].size;
-
-
-       return size;
-}
-
-/*
- * Get flash device from U-Boot flash info.
- */
-flash_dev_t *getFlashDevFromInfo (flash_info_t * info)
-{
-       int i;
-
-       if (!info)
-               return NULL;
-
-       for (i = 0; i < flashDevCount; i++) {
-               flash_dev_t *dev = &flashDev[i];
-
-               if (dev->found && (dev->base == info->start[0]))
-                       return dev;
-       }
-       printf ("ERROR: notice, no FLASH mapped at address 0x%x\n",
-                       (unsigned int) info->start[0]);
-       return NULL;
-}
-
-ulong flash_get_size (vu_long * addr, flash_info_t * info)
-{
-       int i;
-
-       for (i = 0; i < flashDevCount; i++) {
-               flash_dev_t *dev = &flashDev[i];
-
-               if (dev->found) {
-                       if (dev->base == (unsigned int) addr) {
-                               info->flash_id = (dev->vendorID << 16) | dev->deviceID;
-                               info->sector_count = dev->sectors;
-                               info->size = info->sector_count * FLASH_SECTOR_SIZE;
-                               return dev->sectors * FLASH_SECTOR_SIZE;
-                       }
-               }
-       }
-       return 0;
-}
-
-void flash_print_info (flash_info_t * info)
-{
-       int i;
-       unsigned int chip;
-
-       if (info->flash_id == FLASH_UNKNOWN) {
-               printf ("missing or unknown FLASH type\n");
-               return;
-       }
-
-       switch ((info->flash_id >> 16) & 0xff) {
-       case 0x1:
-               printf ("AMD ");
-               break;
-       default:
-               printf ("Unknown Vendor ");
-               break;
-       }
-       chip = (unsigned int) info->flash_id & 0x000000ff;
-
-       switch (chip) {
-
-       case AMD_ID_F040B:
-               printf ("AM29F040B (4 Mbit)\n");
-               break;
-
-       case AMD_ID_LV160B:
-       case FLASH_AM160LV:
-       case 0x49:
-               printf ("AM29LV160B (16 Mbit / 2M x 8bit)\n");
-               break;
-
-       default:
-               printf ("Unknown Chip Type:0x%x\n", chip);
-               break;
-       }
-
-       printf ("  Size: %ld bytes in %d Sectors\n",
-               info->size, info->sector_count);
-
-       printf ("  Sector Start Addresses:");
-       for (i = 0; i < info->sector_count; ++i) {
-               if ((i % 5) == 0)
-                       printf ("\n   ");
-               printf (" %08lX%s",
-                       info->start[FIRST_SECTOR] + i * FLASH_SECTOR_SIZE,
-                       info->protect[i] ? " (RO)" : "     ");
-       }
-       printf ("\n");
-}
-
-
-/*
- * Erase a range of flash sectors.
- */
-int flash_erase (flash_info_t * info, int s_first, int s_last)
-{
-       int prot, sect;
-       flash_dev_t *dev = NULL;
-
-       if ((s_first < 0) || (s_first > s_last)) {
-               if (info->flash_id == FLASH_UNKNOWN) {
-                       printf ("- missing\n");
-               } else {
-                       printf ("- no sectors to erase\n");
-               }
-               return 1;
-       }
-
-       prot = 0;
-       for (sect = s_first; sect <= s_last; sect++) {
-               if (info->protect[sect]) {
-                       prot++;
-               }
-       }
-
-       if (prot) {
-               printf ("- Warning: %d protected sectors will not be erased!\n",
-                       prot);
-       } else {
-               printf ("\n");
-       }
-
-       /* Start erase on unprotected sectors */
-       dev = getFlashDevFromInfo (info);
-       if (dev) {
-               printf ("Erase FLASH[%s] -%d sectors:", dev->name, dev->sectors);
-               for (sect = s_first; sect <= s_last; sect++) {
-                       if (info->protect[sect] == 0) { /* not protected */
-                               printf (".");
-                               if (ERROR == flashEraseSector (dev, sect)) {
-                                       printf ("ERROR: could not erase sector %d on FLASH[%s]\n", sect, dev->name);
-                                       return 1;
-                               }
-                       }
-               }
-       }
-       printf (" done\n");
-       return 0;
-}
-
-/*-----------------------------------------------------------------------
- * Write a word to Flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-static int write_word (flash_info_t * info, ulong dest, ulong data)
-{
-
-       flash_dev_t *dev = getFlashDevFromInfo (info);
-       int addr = dest - info->start[0];
-
-       if (!dev)
-               return 1;
-
-       if (OK != flashWrite (dev, addr, (char *) &data, sizeof (ulong))) {
-               printf ("ERROR: could not write to addr=0x%x, data=0x%x\n",
-                       (unsigned int) addr, (unsigned) data);
-               return 1;
-       }
-
-       if ((addr % FLASH_SECTOR_SIZE) == 0)
-               printf (".");
-
-
-       PRINTF ("write_word:0x%x, base=0x%x, addr=0x%x, data=0x%x\n",
-               (unsigned) info->start[0],
-               (unsigned) dest,
-               (unsigned) (dest - info->start[0]), (unsigned) data);
-
-       return (0);
-}
-
-
-/*-----------------------------------------------------------------------
- * Copy memory to flash, returns:
- * 0 - OK
- * 1 - write timeout
- * 2 - Flash not erased
- */
-
-int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)
-{
-       ulong cp, wp, data;
-       int i, l, rc;
-       flash_dev_t *dev = getFlashDevFromInfo (info);
-
-       if (dev) {
-               printf ("FLASH[%s]:", dev->name);
-               wp = (addr & ~3);       /* get lower word aligned address */
-
-               /*
-                * handle unaligned start bytes
-                */
-               if ((l = addr - wp) != 0) {
-                       data = 0;
-                       for (i = 0, cp = wp; i < l; ++i, ++cp) {
-                               data = (data << 8) | (*(uchar *) cp);
-                       }
-                       for (; i < 4 && cnt > 0; ++i) {
-                               data = (data << 8) | *src++;
-                               --cnt;
-                               ++cp;
-                       }
-                       for (; cnt == 0 && i < 4; ++i, ++cp) {
-                               data = (data << 8) | (*(uchar *) cp);
-                       }
-                       if ((rc = write_word (info, wp, data)) != 0) {
-                               return (rc);
-                       }
-                       wp += 4;
-               }
-
-               /*
-                * handle word aligned part
-                */
-               while (cnt >= 4) {
-                       data = 0;
-                       for (i = 0; i < 4; ++i) {
-                               data = (data << 8) | *src++;
-                       }
-                       if ((rc = write_word (info, wp, data)) != 0) {
-                               return (rc);
-                       }
-                       wp += 4;
-                       cnt -= 4;
-               }
-
-               if (cnt == 0) {
-                       return (0);
-               }
-
-               /*
-                * handle unaligned tail bytes
-                */
-               data = 0;
-               for (i = 0, cp = wp; i < 4 && cnt > 0; ++i, ++cp) {
-                       data = (data << 8) | *src++;
-                       --cnt;
-               }
-               for (; i < 4; ++i, ++cp) {
-                       data = (data << 8) | (*(uchar *) cp);
-               }
-
-               return (write_word (info, wp, data));
-       }
-       return 1;
-}
-
-/*-----------------------------------------------------------------------
- */
diff --git a/board/mousse/flash.h b/board/mousse/flash.h
deleted file mode 100644 (file)
index b7e4619..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef        FLASH_LIB_H
-#define        FLASH_LIB_H
-
-#include <common.h>
-
-/* PIO operations max */
-#define        FLASH_PROGRAM_POLLS             100000
-
-/* 10 Seconds default */
-#define        FLASH_ERASE_SECTOR_TIMEOUT      (10*1000 /*SEC*/ )
-
-/* Flash device info structure */
-typedef struct flash_dev_s {
-    char        name[24];               /* Bank Name */
-    int                bank;                   /* Bank 0 or 1 */
-    unsigned int base;                 /* Base address */
-    int                sectors;                /* Sector count */
-    int                lgSectorSize;           /* Log2(usable bytes/sector) */
-    int                vendorID;               /* Expected vendor ID */
-    int                deviceID;               /* Expected device ID */
-    int                found;                  /* Set if found by flashLibInit */
-    int                swap;                   /* Set for bank 1 if byte swap req'd */
-} flash_dev_t;
-
-#define FLASH_MAX_POS(dev) \
-       ((dev)->sectors << (dev)->lgSectorSize)
-
-#define FLASH_SECTOR_POS(dev, sector) \
-       ((sector) << (dev)->lgSectorSize)
-
-/* AMD 29F040 */
-#define FLASH0_BANK                    0
-#define FLASH0_VENDOR_ID               0x01
-#define FLASH0_DEVICE_ID               0x49
-
-/* AMD29LV160DB */
-#define FLASH1_BANK                    1
-#define FLASH1_VENDOR_ID               0x0001
-#define FLASH1_DEVICE_ID               0x2249
-
-extern flash_dev_t                     flashDev[];
-extern int                             flashDevCount;
-
-/*
- * Device pointers
- *
- * These must be kept in sync with the table in flashLib.c.
- */
-#define FLASH_DEV_BANK0_SA0            (&flashDev[0])
-#define FLASH_DEV_BANK0_SA1            (&flashDev[1])
-#define FLASH_DEV_BANK0_SA2            (&flashDev[2])
-#define FLASH_DEV_BANK0_LOW            (&flashDev[3]) /* 960K */
-#define FLASH_DEV_BANK0_BOOT           (&flashDev[4]) /* PLCC */
-#define FLASH_DEV_BANK0_HIGH           (&flashDev[5]) /* 512K PLCC shadow */
-
-unsigned long flash_init(void);
-int flashEraseSector(flash_dev_t *dev, int sector);
-int flashErase(flash_dev_t *dev);
-int flashRead(flash_dev_t *dev, int pos, char *buf, int len);
-int flashWrite(flash_dev_t *dev, int pos, char *buf, int len);
-int flashWritable(flash_dev_t *dev, int pos, int len);
-int flashDiag(flash_dev_t *dev);
-int flashDiagAll(void);
-
-ulong flash_get_size (vu_long *addr, flash_info_t *info);
-void flash_print_info  (flash_info_t *info);
-int  flash_erase (flash_info_t *info, int s_first, int s_last);
-int  write_buff  (flash_info_t *info, uchar *src, ulong addr, ulong cnt);
-
-/*
- * Flash info indices.
- */
-#define FLASH_BANK_KERNEL 0
-#define FLASH_BANK_BOOT   1
-#define FLASH_BANK_AUX    2
-#define FIRST_SECTOR      0
-
-#endif /* !FLASH_LIB_H */
diff --git a/board/mousse/m48t59y.c b/board/mousse/m48t59y.c
deleted file mode 100644 (file)
index 9a70dbe..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * SGS M48-T59Y TOD/NVRAM Driver
- *
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 1999, by Curt McDowell, 08-06-99, Broadcom Corp.
- *
- * (C) Copyright 2001, James Dougherty, 07/18/01, Broadcom Corp.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-/*
- * SGS M48-T59Y TOD/NVRAM Driver
- *
- * The SGS M48 an 8K NVRAM starting at offset M48_BASE_ADDR and
- * continuing for 8176 bytes. After that starts the Time-Of-Day (TOD)
- * registers which are used to set/get the internal date/time functions.
- *
- * This module implements Y2K compliance by taking full year numbers
- * and translating back and forth from the TOD 2-digit year.
- *
- * NOTE: for proper interaction with an operating system, the TOD should
- * be used to store Universal Coordinated Time (GMT) and timezone
- * conversions should be used.
- *
- * Here is a diagram of the memory layout:
- *
- * +---------------------------------------------+ 0xffe0a000
- * | Non-volatile memory                         | .
- * |                                             | .
- * | (8176 bytes of Non-volatile memory)         | .
- * |                                             | .
- * +---------------------------------------------+ 0xffe0bff0
- * | Flags                                       |
- * +---------------------------------------------+ 0xffe0bff1
- * | Unused                                      |
- * +---------------------------------------------+ 0xffe0bff2
- * | Alarm Seconds                               |
- * +---------------------------------------------+ 0xffe0bff3
- * | Alarm Minutes                               |
- * +---------------------------------------------+ 0xffe0bff4
- * | Alarm Date                                  |
- * +---------------------------------------------+ 0xffe0bff5
- * | Interrupts                                  |
- * +---------------------------------------------+ 0xffe0bff6
- * | WatchDog                                    |
- * +---------------------------------------------+ 0xffe0bff7
- * | Calibration                                 |
- * +---------------------------------------------+ 0xffe0bff8
- * | Seconds                                     |
- * +---------------------------------------------+ 0xffe0bff9
- * | Minutes                                     |
- * +---------------------------------------------+ 0xffe0bffa
- * | Hours                                       |
- * +---------------------------------------------+ 0xffe0bffb
- * | Day                                         |
- * +---------------------------------------------+ 0xffe0bffc
- * | Date                                        |
- * +---------------------------------------------+ 0xffe0bffd
- * | Month                                       |
- * +---------------------------------------------+ 0xffe0bffe
- * | Year (2 digits only)                        |
- * +---------------------------------------------+ 0xffe0bfff
- */
-#include <common.h>
-#include <rtc.h>
-#include "mousse.h"
-
-/*
- * Imported from mousse.h:
- *
- *   TOD_REG_BASE              Base of m48t59y TOD registers
- *   SYS_TOD_UNPROTECT()       Disable NVRAM write protect
- *   SYS_TOD_PROTECT()         Re-enable NVRAM write protect
- */
-
-#define YEAR           0xf
-#define MONTH          0xe
-#define DAY            0xd
-#define DAY_OF_WEEK    0xc
-#define HOUR           0xb
-#define MINUTE         0xa
-#define SECOND         0x9
-#define CONTROL                0x8
-#define WATCH          0x7
-#define INTCTL         0x6
-#define WD_DATE                0x5
-#define WD_HOUR                0x4
-#define WD_MIN         0x3
-#define WD_SEC         0x2
-#define _UNUSED                0x1
-#define FLAGS          0x0
-
-#define M48_ADDR       ((volatile unsigned char *) TOD_REG_BASE)
-
-int m48_tod_init(void)
-{
-    SYS_TOD_UNPROTECT();
-
-    M48_ADDR[CONTROL] = 0;
-    M48_ADDR[WATCH] = 0;
-    M48_ADDR[INTCTL] = 0;
-
-    /*
-     * If the oscillator is currently stopped (as on a new part shipped
-     * from the factory), start it running.
-     *
-     * Here is an example of the TOD bytes on a brand new M48T59Y part:
-     *         00 00 00 00 00 00 00 00 00 88 8c c3 bf c8 f5 01
-     */
-
-    if (M48_ADDR[SECOND] & 0x80)
-       M48_ADDR[SECOND] = 0;
-
-    /* Is battery low */
-    if ( M48_ADDR[FLAGS] & 0x10) {
-        printf("NOTICE: Battery low on Real-Time Clock (replace SNAPHAT).\n");
-    }
-
-    SYS_TOD_PROTECT();
-
-    return 0;
-}
-
-/*
- * m48_tod_set
- */
-
-static int to_bcd(int value)
-{
-    return value / 10 * 16 + value % 10;
-}
-
-static int from_bcd(int value)
-{
-    return value / 16 * 10 + value % 16;
-}
-
-static int day_of_week(int y, int m, int d)    /* 0-6 ==> Sun-Sat */
-{
-    static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
-    y -= m < 3;
-    return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
-}
-
-/*
- * Note: the TOD should store the current GMT
- */
-
-int m48_tod_set(int year,              /* 1980-2079 */
-               int month,              /* 01-12 */
-               int day,                /* 01-31 */
-               int hour,               /* 00-23 */
-               int minute,             /* 00-59 */
-               int second)             /* 00-59 */
-
-{
-    SYS_TOD_UNPROTECT();
-
-    M48_ADDR[CONTROL] |= 0x80; /* Set WRITE bit */
-
-    M48_ADDR[YEAR] = to_bcd(year % 100);
-    M48_ADDR[MONTH] = to_bcd(month);
-    M48_ADDR[DAY] = to_bcd(day);
-    M48_ADDR[DAY_OF_WEEK] = day_of_week(year, month, day) + 1;
-    M48_ADDR[HOUR] = to_bcd(hour);
-    M48_ADDR[MINUTE] = to_bcd(minute);
-    M48_ADDR[SECOND] = to_bcd(second);
-
-    M48_ADDR[CONTROL] &= ~0x80;        /* Clear WRITE bit */
-
-    SYS_TOD_PROTECT();
-
-    return 0;
-}
-
-/*
- * Note: the TOD should store the current GMT
- */
-
-int m48_tod_get(int *year,             /* 1980-2079 */
-               int *month,             /* 01-12 */
-               int *day,               /* 01-31 */
-               int *hour,              /* 00-23 */
-               int *minute,            /* 00-59 */
-               int *second)            /* 00-59 */
-{
-    int y;
-
-    SYS_TOD_UNPROTECT();
-
-    M48_ADDR[CONTROL] |= 0x40; /* Set READ bit */
-
-    y = from_bcd(M48_ADDR[YEAR]);
-    *year = y < 80 ? 2000 + y : 1900 + y;
-    *month = from_bcd(M48_ADDR[MONTH]);
-    *day = from_bcd(M48_ADDR[DAY]);
-    /* day_of_week = M48_ADDR[DAY_OF_WEEK] & 0xf; */
-    *hour = from_bcd(M48_ADDR[HOUR]);
-    *minute = from_bcd(M48_ADDR[MINUTE]);
-    *second = from_bcd(M48_ADDR[SECOND] & 0x7f);
-
-    M48_ADDR[CONTROL] &= ~0x40;        /* Clear READ bit */
-
-    SYS_TOD_PROTECT();
-
-    return 0;
-}
-
-int m48_tod_get_second(void)
-{
-    return from_bcd(M48_ADDR[SECOND] & 0x7f);
-}
-
-/*
- * Watchdog function
- *
- *  If usec is 0, the watchdog timer is disarmed.
- *
- *  If usec is non-zero, the watchdog timer is armed (or re-armed) for
- *    approximately usec microseconds (if the exact requested usec is
- *    not supported by the chip, the next higher available value is used).
- *
- *  Minimum watchdog timeout = 62500 usec
- *  Maximum watchdog timeout = 124 sec (124000000 usec)
- */
-
-void m48_watchdog_arm(int usec)
-{
-    int                mpy, res;
-
-    SYS_TOD_UNPROTECT();
-
-    if (usec == 0) {
-       res = 0;
-       mpy = 0;
-    } else if (usec < 2000000) {       /* Resolution: 1/16s if below 2s */
-       res = 0;
-       mpy = (usec + 62499) / 62500;
-    } else if (usec < 8000000) {       /* Resolution: 1/4s if below 8s */
-       res = 1;
-       mpy = (usec + 249999) / 250000;
-    } else if (usec < 32000000) {      /* Resolution: 1s if below 32s */
-       res = 2;
-       mpy = (usec + 999999) / 1000000;
-    } else {                           /* Resolution: 4s up to 124s */
-       res = 3;
-       mpy = (usec + 3999999) / 4000000;
-       if (mpy > 31)
-           mpy = 31;
-    }
-
-    M48_ADDR[WATCH] = (0x80 |          /* Steer to RST signal (IRQ = N/C) */
-                      mpy << 2 |
-                      res);
-
-    SYS_TOD_PROTECT();
-}
-
-/*
- * U-Boot RTC support.
- */
-int
-rtc_get( struct rtc_time *tmp )
-{
-       m48_tod_get(&tmp->tm_year,
-                   &tmp->tm_mon,
-                   &tmp->tm_mday,
-                   &tmp->tm_hour,
-                   &tmp->tm_min,
-                   &tmp->tm_sec);
-       tmp->tm_yday = 0;
-       tmp->tm_isdst= 0;
-
-#ifdef RTC_DEBUG
-       printf( "Get DATE: %4d-%02d-%02d (wday=%d)  TIME: %2d:%02d:%02d\n",
-               tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
-               tmp->tm_hour, tmp->tm_min, tmp->tm_sec );
-#endif
-
-       return 0;
-}
-
-int rtc_set( struct rtc_time *tmp )
-{
-       m48_tod_set(tmp->tm_year,               /* 1980-2079 */
-                   tmp->tm_mon,                /* 01-12 */
-                   tmp->tm_mday,              /* 01-31 */
-                   tmp->tm_hour,               /* 00-23 */
-                   tmp->tm_min,                /* 00-59 */
-                   tmp->tm_sec);               /* 00-59 */
-
-#ifdef RTC_DEBUG
-       printf( "Set DATE: %4d-%02d-%02d (wday=%d)  TIME: %2d:%02d:%02d\n",
-               tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
-               tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
-#endif
-
-       return 0;
-}
-
-void
-rtc_reset (void)
-{
-  m48_tod_init();
-}
diff --git a/board/mousse/m48t59y.h b/board/mousse/m48t59y.h
deleted file mode 100644 (file)
index 2c7c092..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * SGS M48-T59Y TOD/NVRAM Driver
- *
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 1999, by Curt McDowell, 08-06-99, Broadcom Corp.
- *
- * (C) Copyright 2001, James Dougherty, 07/18/01, Broadcom Corp.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#ifndef __M48_T59_Y_H
-#define __M48_T59_Y_H
-
-/*
- * M48 T59Y -Timekeeping Battery backed SRAM.
- */
-
-int m48_tod_init(void);
-
-int m48_tod_set(int year,
-               int month,
-               int day,
-               int hour,
-               int minute,
-               int second);
-
-int m48_tod_get(int *year,
-               int *month,
-               int *day,
-               int *hour,
-               int *minute,
-               int *second);
-
-int m48_tod_get_second(void);
-
-void m48_watchdog_arm(int usec);
-
-#endif /*!__M48_T59_Y_H */
diff --git a/board/mousse/mousse.c b/board/mousse/mousse.c
deleted file mode 100644 (file)
index e1724e6..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * MOUSSE Board Support
- *
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 2001
- * James Dougherty, jfd@cs.stanford.edu
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <mpc824x.h>
-#include <netdev.h>
-#include <asm/processor.h>
-#include <timestamp.h>
-
-#include "mousse.h"
-#include "m48t59y.h"
-#include <pci.h>
-
-
-int checkboard (void)
-{
-       ulong busfreq = get_bus_freq (0);
-       char buf[32];
-
-       puts ("Board: MOUSSE MPC8240/KAHLUA - CHRP (MAP B)\n");
-       printf ("Built: %s at %s\n", U_BOOT_DATE, U_BOOT_TIME);
-       printf ("MPLD:  Revision %d\n", SYS_REVID_GET ());
-       printf ("Local Bus:  %s MHz\n", strmhz (buf, busfreq));
-
-       return 0;
-}
-
-int checkflash (void)
-{
-       printf ("checkflash\n");
-       flash_init ();
-       return 0;
-}
-
-phys_size_t initdram (int board_type)
-{
-       return CONFIG_SYS_RAM_SIZE;
-}
-
-
-void get_tod (void)
-{
-       int year, month, day, hour, minute, second;
-
-       m48_tod_get (&year, &month, &day, &hour, &minute, &second);
-
-       printf ("  Current date/time: %d/%d/%d %d:%d:%d \n",
-               month, day, year, hour, minute, second);
-
-}
-
-/*
- * EPIC, PCI, and I/O devices.
- * Initialize Mousse Platform, probe for PCI devices,
- * Query configuration parameters if not set.
- */
-int misc_init_f (void)
-{
-       m48_tod_init ();        /* Init SGS M48T59Y TOD/NVRAM */
-       printf ("RTC:   M48T589 TOD/NVRAM (%d) bytes\n", TOD_NVRAM_SIZE);
-       get_tod ();
-       return 0;
-}
-
-int board_eth_init(bd_t *bis)
-{
-       return pci_eth_init(bis);
-}
diff --git a/board/mousse/mousse.h b/board/mousse/mousse.h
deleted file mode 100644 (file)
index ce8a054..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * MOUSSE/MPC8240 Board definitions.
- * For more info, see http://www.vooha.com/
- *
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 2001
- * James Dougherty (jfd@cs.stanford.edu)
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#ifndef __MOUSSE_H
-#define __MOUSSE_H
-
-/* System addresses */
-
-#define PCI_SPECIAL_BASE       0xfe000000
-#define PCI_SPECIAL_SIZE       0x01000000
-
-/* PORTX Device Addresses for Mousse */
-
-#define PORTX_DEV_BASE         0xff000000
-#define PORTX_DEV_SIZE         0x01000000
-
-#define ENET_DEV_BASE          0x80000000
-
-#define PLD_REG_BASE           (PORTX_DEV_BASE | 0xe09000)
-#define PLD_REG(off)           (*(volatile unsigned char *) \
-                                (PLD_REG_BASE + (off)))
-
-#define PLD_REVID_B1           0x7f
-#define PLD_REVID_B2           0x01
-
-/* MPLD */
-#define SYS_HARD_RESET()       { for (;;) PLD_REG(0) = 0; } /* clr 0x80 bit */
-#define SYS_REVID_GET()                ((int) PLD_REG(0) & 0x7f)
-#define SYS_LED_OFF()          (PLD_REG(1) |= 0x80)
-#define SYS_LED_ON()           (PLD_REG(1) &= ~0x80)
-#define SYS_WATCHDOG_IRQ3()    (PLD_REG(2) |= 0x80)
-#define SYS_WATCHDOG_RESET()   (PLD_REG(2) &= ~0x80)
-#define SYS_TOD_PROTECT()      (PLD_REG(3) |= 0x80)
-#define SYS_TOD_UNPROTECT()    (PLD_REG(3) &= ~0x80)
-
-/* SGS M48T59Y */
-#define TOD_BASE               (PORTX_DEV_BASE | 0xe0a000)
-#define TOD_REG_BASE           (TOD_BASE | 0x1ff0)
-#define TOD_NVRAM_BASE         TOD_BASE
-#define TOD_NVRAM_SIZE         0x1ff0
-#define TOD_NVRAM_LIMIT                (TOD_NVRAM_BASE + TOD_NVRAM_SIZE)
-
-/* NS16552 SIO */
-#define SERIAL_BASE(_x)                (PORTX_DEV_BASE | 0xe08000 | ((_x) ? 0 : 0x80))
-#define N_SIO_CHANNELS         2
-#define N_COM_PORTS            N_SIO_CHANNELS
-
-/*
- * On-board Dec21143 PCI Ethernet
- * Note: The PCI MBAR chosen here was used from MPC8240UM which states
- * that PCI memory is at: 0x80000 - 0xFDFFFFFF, if AMBOR[CPU_FD_ALIAS]
- * is set, then PCI memory maps 1-1 with this address range in the
- * correct byte order.
- */
-#define PCI_ENET_IOADDR                0x80000000
-#define PCI_ENET_MEMADDR       0x80000000
-
-/*
- * Flash Memory Layout
- *
- *    2 MB Flash Bank 0 runs in 8-bit mode.  In Flash Bank 0, the 32 kB
- *    sector SA3 is obscured by the 32 kB serial/TOD access space, and
- *    the 64 kB sectors SA19-SA26 are obscured by the 512 kB PLCC
- *    containing the fixed boot ROM.  (If the 512 kB PLCC is
- *    deconfigured by jumper, this window to Flash Bank 0 becomes
- *    visible, but it still contains the fixed boot code and should be
- *    considered read-only).  Flash Bank 0 sectors SA0 (16 kB), SA1 (8
- *    kB), and SA2 (8 kB) are currently unused.
- *
- *    2 MB Flash Bank 1 runs in 16-bit mode.  Flash Bank 1 is fully
- *    usable, but it's a 16-bit wide device on a 64-bit bus.  Therefore
- *    16-bit words only exist at addresses that are multiples of 8.  All
- *    PROM data and control addresses must be multiplied by 8.
- *
- *    See flashMap.c for description of flash filesystem layout.
- */
-
-/*
- * FLASH memory address space: 8-bit wide FLASH memory spaces.
- */
-#define FLASH0_SEG0_START      0xffe00000       /* Baby 32Kb segment */
-#define FLASH0_SEG0_END                0xffe07fff       /* 16 kB + 8 kB + 8 kB */
-#define FLASH0_SEG0_SIZE       0x00008000       /*   (sectors SA0-SA2) */
-
-#define FLASH0_SEG1_START      0xffe10000       /* 1MB - 64Kb FLASH0 seg */
-#define FLASH0_SEG1_END                0xffefffff       /* 960 kB */
-#define FLASH0_SEG1_SIZE       0x000f0000
-
-#define FLASH0_SEG2_START      0xfff00000       /* Boot Loader stored here */
-#define FLASH0_SEG2_END                0xfff7ffff       /* 512 kB FLASH0/PLCC seg */
-#define FLASH0_SEG2_SIZE       0x00080000
-
-#define FLASH0_SEG3_START      0xfff80000       /* 512 kB FLASH0 seg */
-#define FLASH0_SEG3_END                0xffffffff
-#define FLASH0_SEG3_SIZE       0x00080000
-
-/* Where Kahlua starts */
-#define FLASH_RESET_VECT       0xfff00100
-
-/*
- * CHRP / PREP (MAP A/B) definitions.
- */
-
-#define PREP_REG_ADDR          0x80000cf8      /* MPC107 Config, Map A */
-#define PREP_REG_DATA          0x80000cfc      /* MPC107 Config, Map A */
-/* MPC107 (MPC8240 internal EUMBBAR mapped) */
-#define CHRP_REG_ADDR          0xfec00000      /* MPC106 Config, Map B */
-#define CHRP_REG_DATA          0xfee00000      /* MPC106 Config, Map B */
-
-/*
- * Mousse PCI IDSEL Assignments (Device Number)
- */
-#define MOUSSE_IDSEL_ENET      13              /* On-board 21143 Ethernet */
-#define MOUSSE_IDSEL_LPCI      14              /* On-board PCI slot */
-#define MOUSSE_IDSEL_82371     15              /* That other thing */
-#define MOUSSE_IDSEL_CPCI2     31              /* CPCI slot 2 */
-#define MOUSSE_IDSEL_CPCI3     30              /* CPCI slot 3 */
-#define MOUSSE_IDSEL_CPCI4     29              /* CPCI slot 4 */
-#define MOUSSE_IDSEL_CPCI5     28              /* CPCI slot 5 */
-#define MOUSSE_IDSEL_CPCI6     27              /* CPCI slot 6 */
-
-/*
- * Mousse Interrupt Mapping:
- *
- *     IRQ1    Enet (intA|intB|intC|intD)
- *     IRQ2    CPCI intA (See below)
- *     IRQ3    Local PCI slot intA|intB|intC|intD
- *     IRQ4    COM1 Serial port (Actually higher addressed port on duart)
- *
- * PCI Interrupt Mapping in CPCI chassis:
- *
- *                |           CPCI Slot
- *                | 1 (CPU)    2       3       4       5       6
- *     -----------+--------+-------+-------+-------+-------+-------+
- *       intA     |    X               X               X
- *       intB     |            X               X               X
- *       intC     |    X               X               X
- *       intD     |            X               X               X
- */
-
-
-#define EPIC_VECTOR_EXT0       0
-#define EPIC_VECTOR_EXT1       1
-#define EPIC_VECTOR_EXT2       2
-#define EPIC_VECTOR_EXT3       3
-#define EPIC_VECTOR_EXT4       4
-#define EPIC_VECTOR_TM0                16
-#define EPIC_VECTOR_TM1                17
-#define EPIC_VECTOR_TM2                18
-#define EPIC_VECTOR_TM3                19
-#define EPIC_VECTOR_I2C                20
-#define EPIC_VECTOR_DMA0       21
-#define EPIC_VECTOR_DMA1       22
-#define EPIC_VECTOR_I2O                23
-
-
-#define INT_VEC_IRQ0           0
-#define INT_NUM_IRQ0           INT_VEC_IRQ0
-#define MOUSSE_IRQ_ENET                EPIC_VECTOR_EXT1        /* Hardwired */
-#define MOUSSE_IRQ_CPCI                EPIC_VECTOR_EXT2        /* Hardwired */
-#define MOUSSE_IRQ_LPCI                EPIC_VECTOR_EXT3        /* Hardwired */
-#define MOUSSE_IRQ_DUART       EPIC_VECTOR_EXT4        /* Hardwired */
-
-/* Onboard DEC 21143 Ethernet */
-#define PCI_ENET_MEMADDR       0x80000000
-#define PCI_ENET_IOADDR                0x80000000
-
-/* Some other PCI device */
-#define PCI_SLOT_MEMADDR       0x81000000
-#define PCI_SLOT_IOADDR                0x81000000
-
-/* Promise ATA66 PCI Device (ATA controller) */
-#define PROMISE_MBAR0  0xa0000000
-#define PROMISE_MBAR1  (PROMISE_MBAR0 + 0x1000)
-#define PROMISE_MBAR2  (PROMISE_MBAR0 + 0x2000)
-#define PROMISE_MBAR3  (PROMISE_MBAR0 + 0x3000)
-#define PROMISE_MBAR4  (PROMISE_MBAR0 + 0x4000)
-#define PROMISE_MBAR5  (PROMISE_MBAR0 + 0x5000)
-
-/* ATA/66 Controller offsets */
-#define CONFIG_SYS_ATA_BASE_ADDR     PROMISE_MBAR0
-#define CONFIG_SYS_IDE_MAXBUS         2 /* ide0/ide1 */
-#define CONFIG_SYS_IDE_MAXDEVICE      2 /* 2 drives per controller */
-#define CONFIG_SYS_ATA_IDE0_OFFSET    0
-#define CONFIG_SYS_ATA_IDE1_OFFSET    0x3000
-/*
- * Definitions for accessing IDE controller registers
- */
-#define CONFIG_SYS_ATA_DATA_OFFSET    0
-#define CONFIG_SYS_ATA_REG_OFFSET     0
-#define CONFIG_SYS_ATA_ALT_OFFSET    (0x1000)
-
-/*
- * The constants ROM_TEXT_ADRS, ROM_SIZE, RAM_HIGH_ADRS, and RAM_LOW_ADRS
- * are defined in config.h and Makefile.
- * All definitions for these constants must be identical.
- */
-#define ROM_BASE_ADRS          0xfff00000      /* base address of ROM */
-#define ROM_TEXT_ADRS          (ROM_BASE_ADRS+0x0100) /* with PC & SP */
-#define ROM_WARM_ADRS          (ROM_TEXT_ADRS+0x0004) /* warm reboot entry */
-#define ROM_SIZE               0x00080000      /* 512KB ROM space */
-#define RAM_LOW_ADRS           0x00010000   /* RAM address for vxWorks */
-#define RAM_HIGH_ADRS          0x00c00000   /* RAM address for bootrom */
-
-/*
- *  NVRAM configuration
- *  NVRAM is implemented via the SGS Thomson M48T59Y
- *  64Kbit (8Kbx8) Timekeeper SRAM.
- *  This 8KB NVRAM also has a TOD. See m48t59y.{h,c} for more information.
- */
-
-#define NV_RAM_ADRS            TOD_NVRAM_BASE
-#define NV_RAM_INTRVL          1
-#define NV_RAM_WR_ENBL         SYS_TOD_UNPROTECT()
-#define NV_RAM_WR_DSBL         SYS_TOD_PROTECT()
-
-#define NV_OFF_BOOT0           0x0000  /* Boot string 0 (256b) */
-#define NV_OFF_BOOT1           0x0100  /* Boot string 1 (256b) */
-#define NV_OFF_BOOT2           0x0200  /* Boot string 2 (256b)*/
-#define NV_OFF_MACADDR         0x0400  /* 21143 MAC address (6b) */
-#define NV_OFF_ACTIVEBOOT      0x0406  /* Active boot string, 0 to 2 (1b) */
-#define NV_OFF_UNUSED1         0x0407  /* Unused (1b) */
-#define NV_OFF_BINDFIX         0x0408  /* See sysLib.c:sysBindFix() (1b) */
-#define NV_OFF_UNUSED2         0x0409  /* Unused (7b) */
-#define NV_OFF_TIMEZONE                0x0410  /* TIMEZONE env var (64b) */
-#define NV_OFF_VXWORKS_END     0x07FF  /* 2047 VxWorks Total */
-#define NV_OFF_U_BOOT          0x0800  /* 2048 U-Boot boot-loader */
-#define NV_OFF_U_BOOT_ADDR     (TOD_BASE + NV_OFF_U_BOOT) /* sysaddr*/
-#define NV_U_BOOT_ENV_SIZE     2048    /* 2K - U-Boot Total */
-#define NV_OFF__next_free      (NV_U_BOOT_ENVSIZE +1)
-#define NV_RAM_SIZE            8176    /* NVRAM End */
-
-#endif /* __MOUSSE_H */
diff --git a/board/mousse/pci.c b/board/mousse/pci.c
deleted file mode 100644 (file)
index a64144b..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- *
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 2001
- * James Dougherty (jfd@cs.stanford.edu)
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-/*
- * PCI Configuration space access support for MPC824x/MPC107 PCI Bridge
- */
-#include <common.h>
-#include <mpc824x.h>
-#include <pci.h>
-
-#include "mousse.h"
-
-/*
- * Promise ATA/66 support.
- */
-#define XFER_PIO_4     0x0C    /* 0000|1100 */
-#define XFER_PIO_3     0x0B    /* 0000|1011 */
-#define XFER_PIO_2     0x0A    /* 0000|1010 */
-#define XFER_PIO_1     0x09    /* 0000|1001 */
-#define XFER_PIO_0     0x08    /* 0000|1000 */
-#define XFER_PIO_SLOW  0x00    /* 0000|0000 */
-
-/* Promise Regs */
-#define REG_A          0x01
-#define REG_B          0x02
-#define REG_C          0x04
-#define REG_D          0x08
-
-void
-pdc202xx_decode_registers (unsigned char registers, unsigned char value)
-{
-       unsigned char   bit = 0, bit1 = 0, bit2 = 0;
-       switch(registers) {
-               case REG_A:
-                       bit2 = 0;
-                       printf("  A Register ");
-                       if (value & 0x80) printf("SYNC_IN ");
-                       if (value & 0x40) printf("ERRDY_EN ");
-                       if (value & 0x20) printf("IORDY_EN ");
-                       if (value & 0x10) printf("PREFETCH_EN ");
-                       if (value & 0x08) { printf("PA3 ");bit2 |= 0x08; }
-                       if (value & 0x04) { printf("PA2 ");bit2 |= 0x04; }
-                       if (value & 0x02) { printf("PA1 ");bit2 |= 0x02; }
-                       if (value & 0x01) { printf("PA0 ");bit2 |= 0x01; }
-                       printf("PIO(A) = %d ", bit2);
-                       break;
-               case REG_B:
-                       bit1 = 0;bit2 = 0;
-                       printf("  B Register ");
-                       if (value & 0x80) { printf("MB2 ");bit1 |= 0x80; }
-                       if (value & 0x40) { printf("MB1 ");bit1 |= 0x40; }
-                       if (value & 0x20) { printf("MB0 ");bit1 |= 0x20; }
-                       printf("DMA(B) = %d ", bit1 >> 5);
-                       if (value & 0x10) printf("PIO_FORCED/PB4 ");
-                       if (value & 0x08) { printf("PB3 ");bit2 |= 0x08; }
-                       if (value & 0x04) { printf("PB2 ");bit2 |= 0x04; }
-                       if (value & 0x02) { printf("PB1 ");bit2 |= 0x02; }
-                       if (value & 0x01) { printf("PB0 ");bit2 |= 0x01; }
-                       printf("PIO(B) = %d ", bit2);
-                       break;
-               case REG_C:
-                       bit2 = 0;
-                       printf("  C Register ");
-                       if (value & 0x80) printf("DMARQp ");
-                       if (value & 0x40) printf("IORDYp ");
-                       if (value & 0x20) printf("DMAR_EN ");
-                       if (value & 0x10) printf("DMAW_EN ");
-
-                       if (value & 0x08) { printf("MC3 ");bit2 |= 0x08; }
-                       if (value & 0x04) { printf("MC2 ");bit2 |= 0x04; }
-                       if (value & 0x02) { printf("MC1 ");bit2 |= 0x02; }
-                       if (value & 0x01) { printf("MC0 ");bit2 |= 0x01; }
-                       printf("DMA(C) = %d ", bit2);
-                       break;
-               case REG_D:
-                       printf("  D Register ");
-                       break;
-               default:
-                       return;
-       }
-       printf("\n        %s ", (registers & REG_D) ? "DP" :
-                               (registers & REG_C) ? "CP" :
-                               (registers & REG_B) ? "BP" :
-                               (registers & REG_A) ? "AP" : "ERROR");
-       for (bit=128;bit>0;bit/=2)
-               printf("%s", (value & bit) ? "1" : "0");
-       printf("\n");
-}
-
-/*
- * Promise ATA/66 Support: configure Promise ATA66 card in specified mode.
- */
-int
-pdc202xx_tune_chipset (pci_dev_t dev, int drive, unsigned char speed)
-{
-       unsigned short          drive_conf;
-       int                     err = 0;
-       unsigned char                   drive_pci, AP, BP, CP, DP;
-       unsigned char                   TA = 0, TB = 0;
-
-       switch (drive) {
-               case 0: drive_pci = 0x60; break;
-               case 1: drive_pci = 0x64; break;
-               case 2: drive_pci = 0x68; break;
-               case 3: drive_pci = 0x6c; break;
-               default: return -1;
-       }
-
-       pci_read_config_word(dev, drive_pci, &drive_conf);
-       pci_read_config_byte(dev, (drive_pci), &AP);
-       pci_read_config_byte(dev, (drive_pci)|0x01, &BP);
-       pci_read_config_byte(dev, (drive_pci)|0x02, &CP);
-       pci_read_config_byte(dev, (drive_pci)|0x03, &DP);
-
-       if ((AP & 0x0F) || (BP & 0x07)) {
-         /* clear PIO modes of lower 8421 bits of A Register */
-         pci_write_config_byte(dev, (drive_pci), AP & ~0x0F);
-         pci_read_config_byte(dev, (drive_pci), &AP);
-
-         /* clear PIO modes of lower 421 bits of B Register */
-         pci_write_config_byte(dev, (drive_pci)|0x01, BP & ~0x07);
-         pci_read_config_byte(dev, (drive_pci)|0x01, &BP);
-
-         pci_read_config_byte(dev, (drive_pci), &AP);
-         pci_read_config_byte(dev, (drive_pci)|0x01, &BP);
-       }
-
-       pci_read_config_byte(dev, (drive_pci), &AP);
-       pci_read_config_byte(dev, (drive_pci)|0x01, &BP);
-       pci_read_config_byte(dev, (drive_pci)|0x02, &CP);
-
-       switch(speed) {
-               case XFER_PIO_4:        TA = 0x01; TB = 0x04; break;
-               case XFER_PIO_3:        TA = 0x02; TB = 0x06; break;
-               case XFER_PIO_2:        TA = 0x03; TB = 0x08; break;
-               case XFER_PIO_1:        TA = 0x05; TB = 0x0C; break;
-               case XFER_PIO_0:
-               default:                TA = 0x09; TB = 0x13; break;
-       }
-
-       pci_write_config_byte(dev, (drive_pci), AP|TA);
-       pci_write_config_byte(dev, (drive_pci)|0x01, BP|TB);
-
-       pci_read_config_byte(dev, (drive_pci), &AP);
-       pci_read_config_byte(dev, (drive_pci)|0x01, &BP);
-       pci_read_config_byte(dev, (drive_pci)|0x02, &CP);
-       pci_read_config_byte(dev, (drive_pci)|0x03, &DP);
-
-
-#ifdef PDC202XX_DEBUG
-       pdc202xx_decode_registers(REG_A, AP);
-       pdc202xx_decode_registers(REG_B, BP);
-       pdc202xx_decode_registers(REG_C, CP);
-       pdc202xx_decode_registers(REG_D, DP);
-#endif
-       return err;
-}
-/*
- * Show/Init PCI devices on the specified bus number.
- */
-
-void pci_mousse_fixup_irq(struct pci_controller *hose, pci_dev_t dev)
-{
-       unsigned int line;
-
-       switch(PCI_DEV(dev)) {
-       case 0x0d:
-               line = 0x00000101;
-               break;
-
-       case 0x0e:
-       default:
-               line = 0x00000303;
-               break;
-       }
-
-       pci_write_config_dword(dev, PCI_INTERRUPT_LINE, line);
-}
-
-void pci_mousse_setup_pdc202xx(struct pci_controller *hose, pci_dev_t dev,
-                              struct pci_config_table *_)
-{
-       unsigned short vendorId;
-       unsigned int mbar0, cmd;
-       int bar, a;
-
-       pci_read_config_word(dev, PCI_VENDOR_ID, &vendorId);
-
-       if(vendorId == PCI_VENDOR_ID_PROMISE || vendorId == PCI_VENDOR_ID_CMD){
-               /* PDC 202xx card is handled differently, it is a bootable
-                * device and needs all 5 MBAR's configured
-                */
-               for(bar = 0; bar < 5; bar++){
-                       pci_read_config_dword(dev, PCI_BASE_ADDRESS_0+bar*4, &mbar0);
-                       pci_write_config_dword(dev, PCI_BASE_ADDRESS_0+bar*4, ~0);
-                       pci_read_config_dword(dev, PCI_BASE_ADDRESS_0+bar*4, &mbar0);
-#ifdef DEBUG
-                       printf("  ATA_bar[%d] = %dbytes\n", bar,
-                              ~(mbar0 & PCI_BASE_ADDRESS_MEM_MASK) + 1);
-#endif
-               }
-
-               /* Program all BAR's */
-               pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, PROMISE_MBAR0);
-               pci_write_config_dword(dev, PCI_BASE_ADDRESS_1, PROMISE_MBAR1);
-               pci_write_config_dword(dev, PCI_BASE_ADDRESS_2, PROMISE_MBAR2);
-               pci_write_config_dword(dev, PCI_BASE_ADDRESS_3, PROMISE_MBAR3);
-               pci_write_config_dword(dev, PCI_BASE_ADDRESS_4, PROMISE_MBAR4);
-               pci_write_config_dword(dev, PCI_BASE_ADDRESS_5, PROMISE_MBAR5);
-
-               for(bar = 0; bar < 5; bar++){
-                       pci_read_config_dword(dev, PCI_BASE_ADDRESS_0+bar*4, &mbar0);
-#ifdef DEBUG
-                       printf("  ATA_bar[%d]@0x%x\n", bar, mbar0);
-#endif
-               }
-
-               /* Enable ROM Expansion base */
-               pci_write_config_dword(dev, PCI_ROM_ADDRESS, PROMISE_MBAR5|1);
-
-               /* Io enable, Memory enable, master enable */
-               pci_read_config_dword(dev, PCI_COMMAND, &cmd);
-               cmd &= ~0xffff0000;
-               cmd |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY | PCI_COMMAND_IO;
-               pci_write_config_dword(dev, PCI_COMMAND, cmd);
-
-               /* Breath some life into the controller */
-               for( a = 0; a < 4; a++)
-                       pdc202xx_tune_chipset(dev, a, XFER_PIO_0);
-       }
-}
-
-static struct pci_config_table pci_sandpoint_config_table[] = {
-       { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 0x00, 0x0e, 0x00,
-         pci_mousse_setup_pdc202xx },
-#ifndef CONFIG_PCI_PNP
-       { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, 0x00, 0x0d, 0x00,
-         pci_cfgfunc_config_device, {PCI_ENET_IOADDR,
-                                     PCI_ENET_MEMADDR,
-                                     PCI_COMMAND_MEMORY |
-                                     PCI_COMMAND_MASTER}},
-       { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-         pci_cfgfunc_config_device, {PCI_SLOT_IOADDR,
-                                     PCI_SLOT_MEMADDR,
-                                     PCI_COMMAND_MEMORY |
-                                     PCI_COMMAND_MASTER}},
-#endif
-       { }
-};
-
-struct pci_controller hose = {
-       config_table: pci_sandpoint_config_table,
-       fixup_irq: pci_mousse_fixup_irq,
-};
-
-void pci_init_board(void)
-{
-       pci_mpc824x_init(&hose);
-}
diff --git a/board/mousse/u-boot.lds b/board/mousse/u-boot.lds
deleted file mode 100644 (file)
index f49161c..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * (C) Copyright 2001
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  .text      :
-  {
-    arch/powerpc/cpu/mpc824x/start.o   (.text*)
-    *(.text*)
-    . = ALIGN(16);
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x0FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    _GOT2_TABLE_ = .;
-    KEEP(*(.got2))
-    KEEP(*(.got))
-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-    _FIXUP_TABLE_ = .;
-    KEEP(*(.fixup))
-  }
-  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-  __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
-
-  .data    :
-  {
-    *(.data*)
-    *(.sdata*)
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-
-  . = ALIGN(4);
-  .u_boot_list : {
-       KEEP(*(SORT(.u_boot_list*)));
-  }
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(4096);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(4096);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.bss*)
-   *(.sbss*)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
diff --git a/board/mousse/u-boot.lds.ram b/board/mousse/u-boot.lds.ram
deleted file mode 100644 (file)
index c028131..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * (C) Copyright 2000
- * Rob Taylor, Flying Pig Systems Ltd. robt@flyingpig.com
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-MEMORY {
-       ram  (!rx) : org = 0x00000000 , LENGTH = 8M
-       code (!rx) : org = 0x00002000 , LENGTH = (4M - 0x2000)
-       rom   (rx) : org = 0xfff00000 , LENGTH = 512K
-}
-
-SECTIONS
-{
-  _f_init = .;
-  PROVIDE(_f_init = .);
-  _f_init_rom = .;
-  PROVIDE(_f_init_rom = .);
-
-  .init : {
-      arch/powerpc/cpu/mpc824x/start.o (.text)
-      *(.init)
-  } > ram
-  _init_size = SIZEOF(.init);
-  PROVIDE(_init_size = SIZEOF(.init));
-
-  ENTRY(_start)
-
-/*  _ftext = .;
-  _ftext_rom = .;
-  _text_size = SIZEOF(.text);
- */
-  .text : {
-      *(.text)
-      *(.got1)
-      } > ram
-  .rodata : { *(.rodata) } > ram
-  .dtors : { *(.dtors) } > ram
-  .data : { *(.data) } > ram
-  .sdata : { *(.sdata) } > ram
-  .sdata2 : { *(.sdata2)
-      *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-    } > ram
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .sbss : { *(.sbss) } > ram
-  .sbss2 : { *(.sbss2) } > ram
-  .bss : { *(.bss) } > ram
-  .debug : { *(.debug) } > ram
-  .line : { *(.line) } > ram
-  .symtab : { *(.symtab) } > ram
-  .shrstrtab : { *(.shstrtab) } > ram
-  .strtab : { *(.strtab) } > ram
- /* .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  } > ram
-  */
-
-
-   __start___ex_table = .;
-    __ex_table : { *(__ex_table) } > ram
-    __stop___ex_table = .;
-
-
-  .ppcenv      :
-  {
-    common/env_embedded.o (.ppcenv)
-  } > ram
-
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
diff --git a/board/mousse/u-boot.lds.rom b/board/mousse/u-boot.lds.rom
deleted file mode 100644 (file)
index f162ae3..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * (C) Copyright 2001
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-/* Do we need any of these for elf?
-   __DYNAMIC = 0;    */
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-  .init          : { *(.init)  }
-  .plt : { *(.plt) }
-  .text      :
-  {
-    arch/powerpc/cpu/mpc824x/start.o   (.text)
-        common/board.o (.text)
-    arch/powerpc/lib/ppcstring.o       (.text)
-    lib/vsprintf.o     (.text)
-    lib/crc32.o                (.text)
-    lib/zlib.o         (.text)
-
-               . = env_offset;
-    common/env_embedded.o (.text)
-
-               *(.text)
-
-    *(.got1)
-    . = ALIGN(16);
-    *(.rodata)
-    *(.rodata1)
-    *(.rodata.str1.4)
-    *(.eh_frame)
-  }
-  .fini      : { *(.fini)    } =0
-  .ctors     : { *(.ctors)   }
-  .dtors     : { *(.dtors)   }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x0FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    *(.got)
-    _GOT2_TABLE_ = .;
-    *(.got2)
-    _FIXUP_TABLE_ = .;
-    *(.fixup)
-  }
-  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
-  __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
-
-  .data    :
-  {
-    *(.data)
-    *(.data1)
-    *(.sdata)
-    *(.sdata2)
-    *(.dynamic)
-    CONSTRUCTORS
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(4096);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(4096);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss       :
-  {
-   *(.sbss) *(.scommon)
-   *(.dynbss)
-   *(.bss)
-   *(COMMON)
-  }
-
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
index d0df823a1471dda7e3d15a3a1d091fe45e54ac51..5b5015d1466b06eff96305246ab9cdfd995b5cc9 100644 (file)
@@ -1243,4 +1243,3 @@ Orphan  arm         arm1136        mx31        -               imx31_phycore
 Orphan  arm         arm1136        mx31        freescale       -                   mx31ads                              -                                                                                                                                 (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
 Orphan  arm         pxa            -           -               -                   lubbock                              -                                                                                                                                 (dead address) Kyle Harris <kharris@nexus-tech.net>
 Orphan  powerpc     74xx_7xx       -           -               evb64260            EVB64260                             -                                                                                                                                 -
-Orphan  powerpc     mpc824x        -           -               mousse              MOUSSE                               -                                                                                                                                 -
index adcf163a816f18e2d241a3b9f9ee2b3cd0159683..0e4d329ed18ed37f484f1f6902ea1ea816d4467c 100644 (file)
@@ -11,6 +11,7 @@ easily if here is something they might want to dig for...
 
 Board            Arch        CPU            Commit      Removed     Last known maintainer/contact
 =================================================================================================
+MOUSSE           powerpc     mpc824x        -           2014-04-04
 rsdproto         powerpc     mpc8260        -           2014-04-04
 RPXsuper         powerpc     mpc8260        -           2014-04-04
 RPXClassic       powerpc     mpc8xx         -           2014-04-04
diff --git a/include/configs/MOUSSE.h b/include/configs/MOUSSE.h
deleted file mode 100644 (file)
index e84d12f..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * (C) Copyright 2000, 2001
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 2001
- * James F. Dougherty (jfd@cs.stanford.edu)
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-/*
- *
- * Configuration settings for the MOUSSE board.
- * See also: http://www.vooha.com/
- *
- */
-
-/* ------------------------------------------------------------------------- */
-
-/*
- * board/config.h - configuration options, board specific
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-/*
- * High Level Configuration Options
- * (easy to change)
- */
-
-#define CONFIG_MPC8240      1
-#define CONFIG_MOUSSE       1
-
-#define        CONFIG_SYS_TEXT_BASE    0xFFF00000
-#define        CONFIG_SYS_LDSCRIPT     "board/mousse/u-boot.lds"
-
-#define CONFIG_SYS_ADDR_MAP_B      1
-
-#define CONFIG_CONS_INDEX   1
-#define CONFIG_BAUDRATE     9600
-#if 1
-#define CONFIG_BOOTCOMMAND  "tftp 100000 vmlinux.img;bootm"    /* autoboot command */
-#else
-#define CONFIG_BOOTCOMMAND  "bootm ffe10000"
-#endif
-#define CONFIG_BOOTARGS      "console=ttyS0 root=/dev/nfs rw nfsroot=209.128.93.133:/boot nfsaddrs=209.128.93.133:209.128.93.138"
-#define CONFIG_BOOTDELAY     3
-
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_BOOTFILESIZE
-#define CONFIG_BOOTP_BOOTPATH
-#define CONFIG_BOOTP_GATEWAY
-#define CONFIG_BOOTP_HOSTNAME
-
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_DATE
-
-
-#define CONFIG_ENV_OVERWRITE 1
-#define CONFIG_ETH_ADDR      "00:10:18:10:00:06"
-
-#define CONFIG_DOS_PARTITION  1 /* MSDOS bootable partitiion support */
-
-#include "../board/mousse/mousse.h"
-
-/*
- * Miscellaneous configurable options
- */
-#undef CONFIG_SYS_LONGHELP                /* undef to save memory     */
-#define CONFIG_SYS_CBSIZE      256        /* Console I/O Buffer Size  */
-#define CONFIG_SYS_PBSIZE      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_SYS_MAXARGS     8           /* Max number of command args   */
-
-#define CONFIG_SYS_BARGSIZE    CONFIG_SYS_CBSIZE  /* Boot Argument Buffer Size    */
-#define CONFIG_SYS_LOAD_ADDR   0x00100000  /* Default load address         */
-
-/*-----------------------------------------------------------------------
- * Start addresses for the final memory configuration
- * (Set up by the startup code)
- * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
- */
-#define CONFIG_SYS_SDRAM_BASE      0x00000000
-
-#ifdef DEBUG
-#define CONFIG_SYS_MONITOR_BASE    CONFIG_SYS_SDRAM_BASE
-#else
-#define CONFIG_SYS_MONITOR_BASE    CONFIG_SYS_FLASH_BASE
-#endif
-
-#ifdef DEBUG
-#define CONFIG_SYS_MONITOR_LEN     (4 << 20)   /* lots of mem ... */
-#else
-#define CONFIG_SYS_MONITOR_LEN     (512 << 10) /* 512K PLCC bootrom */
-#endif
-#define CONFIG_SYS_MALLOC_LEN      (2*(4096 << 10))    /* 2*4096kB for malloc()  */
-
-#define CONFIG_SYS_MEMTEST_START   0x00004000  /* memtest works on      */
-#define CONFIG_SYS_MEMTEST_END     0x02000000  /* 0 ... 32 MB in DRAM   */
-
-
-#define CONFIG_SYS_EUMB_ADDR       0xFC000000
-
-#define CONFIG_SYS_ISA_MEM         0xFD000000
-#define CONFIG_SYS_ISA_IO          0xFE000000
-
-#define CONFIG_SYS_FLASH_BASE      0xFFF00000
-#define CONFIG_SYS_FLASH_SIZE      ((uint)(512 * 1024))
-#define CONFIG_SYS_RESET_ADDRESS   0xFFF00100
-#define FLASH_BASE0_PRELIM  0xFFF00000  /* 512K PLCC FLASH/AM29F040*/
-#define FLASH_BASE0_SIZE    0x80000     /* 512K */
-#define FLASH_BASE1_PRELIM  0xFFE10000  /* AMD 29LV160DB
-                                          1MB - 64K FLASH0 SEG =960K
-                                          (size=0xf0000)*/
-
-/*
- * NS16550 Configuration
- */
-#define CONFIG_SYS_NS16550
-#define CONFIG_SYS_NS16550_SERIAL
-
-#define CONFIG_SYS_NS16550_REG_SIZE    1
-
-#define CONFIG_SYS_NS16550_CLK         18432000
-
-#define CONFIG_SYS_NS16550_COM1        0xFFE08080
-
-/*-----------------------------------------------------------------------
- * Definitions for initial stack pointer and data area (in DPRAM)
- */
-#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_MONITOR_LEN
-#define CONFIG_SYS_INIT_RAM_SIZE   0x2F00  /* Size of used area in DPRAM  */
-#define CONFIG_SYS_GBL_DATA_OFFSET  (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
-#define CONFIG_SYS_INIT_SP_OFFSET  CONFIG_SYS_GBL_DATA_OFFSET
-
-/*
- * Low Level Configuration Settings
- * (address mappings, register initial values, etc.)
- * You should know what you are doing if you make changes here.
- * For the detail description refer to the MPC8240 user's manual.
- */
-
-#define CONFIG_SYS_CLK_FREQ  33000000  /* external frequency to pll */
-#define CONFIG_PLL_PCI_TO_MEM_MULTIPLIER  2
-
-#define CONFIG_SYS_ETH_DEV_FN       0x00
-#define CONFIG_SYS_ETH_IOBASE       0x00104000
-
-
-       /* Bit-field values for MCCR1.
-        */
-#define CONFIG_SYS_ROMNAL          8
-#define CONFIG_SYS_ROMFAL          8
-
-       /* Bit-field values for MCCR2.
-        */
-#define CONFIG_SYS_REFINT          0xf5     /* Refresh interval               */
-
-       /* Burst To Precharge. Bits of this value go to MCCR3 and MCCR4.
-        */
-#define CONFIG_SYS_BSTOPRE         0x79
-
-#ifdef INCLUDE_ECC
-#define USE_ECC                                1
-#else /* INCLUDE_ECC */
-#define USE_ECC                                0
-#endif /* INCLUDE_ECC */
-
-
-       /* Bit-field values for MCCR3.
-        */
-#define CONFIG_SYS_REFREC          8       /* Refresh to activate interval   */
-#define CONFIG_SYS_RDLAT           (4+USE_ECC)   /* Data latancy from read command */
-
-       /* Bit-field values for MCCR4.
-        */
-#define CONFIG_SYS_PRETOACT        3       /* Precharge to activate interval */
-#define CONFIG_SYS_ACTTOPRE        5       /* Activate to Precharge interval */
-#define CONFIG_SYS_SDMODE_CAS_LAT  3       /* SDMODE CAS latancy             */
-#define CONFIG_SYS_SDMODE_WRAP     0       /* SDMODE wrap type               */
-#define CONFIG_SYS_SDMODE_BURSTLEN 2       /* SDMODE Burst length            */
-#define CONFIG_SYS_ACTORW          2
-#define CONFIG_SYS_REGISTERD_TYPE_BUFFER (1-USE_ECC)
-
-/* Memory bank settings.
- * Only bits 20-29 are actually used from these vales to set the
- * start/end addresses. The upper two bits will always be 0, and the lower
- * 20 bits will be 0x00000 for a start address, or 0xfffff for an end
- * address. Refer to the MPC8240 book.
- */
-#define CONFIG_SYS_RAM_SIZE        0x04000000  /* 64MB */
-
-
-#define CONFIG_SYS_BANK0_START     0x00000000
-#define CONFIG_SYS_BANK0_END       (CONFIG_SYS_RAM_SIZE - 1)
-#define CONFIG_SYS_BANK0_ENABLE    1
-#define CONFIG_SYS_BANK1_START     0x3ff00000
-#define CONFIG_SYS_BANK1_END       0x3fffffff
-#define CONFIG_SYS_BANK1_ENABLE    0
-#define CONFIG_SYS_BANK2_START     0x3ff00000
-#define CONFIG_SYS_BANK2_END       0x3fffffff
-#define CONFIG_SYS_BANK2_ENABLE    0
-#define CONFIG_SYS_BANK3_START     0x3ff00000
-#define CONFIG_SYS_BANK3_END       0x3fffffff
-#define CONFIG_SYS_BANK3_ENABLE    0
-#define CONFIG_SYS_BANK4_START     0x3ff00000
-#define CONFIG_SYS_BANK4_END       0x3fffffff
-#define CONFIG_SYS_BANK4_ENABLE    0
-#define CONFIG_SYS_BANK5_START     0x3ff00000
-#define CONFIG_SYS_BANK5_END       0x3fffffff
-#define CONFIG_SYS_BANK5_ENABLE    0
-#define CONFIG_SYS_BANK6_START     0x3ff00000
-#define CONFIG_SYS_BANK6_END       0x3fffffff
-#define CONFIG_SYS_BANK6_ENABLE    0
-#define CONFIG_SYS_BANK7_START     0x3ff00000
-#define CONFIG_SYS_BANK7_END       0x3fffffff
-#define CONFIG_SYS_BANK7_ENABLE    0
-
-#define CONFIG_SYS_ODCR            0x7f
-
-
-#define CONFIG_SYS_PGMAX           0x32 /* how long the 8240 reatins the currently accessed page in memory
-                                   see 8240 book for details*/
-#define PCI_MEM_SPACE1_START   0x80000000
-#define PCI_MEM_SPACE2_START   0xfd000000
-
-/* IBAT/DBAT Configuration */
-/* Ram: 64MB, starts at address-0, r/w instruction/data */
-#define CONFIG_SYS_IBAT0U      (CONFIG_SYS_SDRAM_BASE | BATU_BL_64M | BATU_VS | BATU_VP)
-#define CONFIG_SYS_IBAT0L      (CONFIG_SYS_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
-#define CONFIG_SYS_DBAT0U      CONFIG_SYS_IBAT0U
-#define CONFIG_SYS_DBAT0L      CONFIG_SYS_IBAT0L
-
-/* MPLD/Port-X I/O Space : data and instruction read/write,  cache-inhibit */
-#define CONFIG_SYS_IBAT1U      (PORTX_DEV_BASE | BATU_BL_128M | BATU_VS | BATU_VP)
-#if 0
-#define CONFIG_SYS_IBAT1L      (PORTX_DEV_BASE | BATL_PP_10  | BATL_MEMCOHERENCE |\
-                        BATL_WRITETHROUGH | BATL_CACHEINHIBIT)
-#else
-#define CONFIG_SYS_IBAT1L      (PORTX_DEV_BASE | BATL_PP_10 |BATL_CACHEINHIBIT)
-#endif
-#define CONFIG_SYS_DBAT1U      CONFIG_SYS_IBAT1U
-#define CONFIG_SYS_DBAT1L      CONFIG_SYS_IBAT1L
-
-/* PCI Memory region 1: 0x8XXX_XXXX PCI Mem space: EUMBAR, etc - 16MB */
-#define CONFIG_SYS_IBAT2U      (PCI_MEM_SPACE1_START|BATU_BL_16M | BATU_VS | BATU_VP)
-#define CONFIG_SYS_IBAT2L      (PCI_MEM_SPACE1_START|BATL_PP_10 | BATL_GUARDEDSTORAGE|BATL_CACHEINHIBIT)
-#define CONFIG_SYS_DBAT2U      CONFIG_SYS_IBAT2U
-#define CONFIG_SYS_DBAT2L      CONFIG_SYS_IBAT2L
-
-/* PCI Memory region 2: PCI Devices in 0xFD space */
-#define CONFIG_SYS_IBAT3U      (PCI_MEM_SPACE2_START|BATU_BL_16M | BATU_VS | BATU_VP)
-#define CONFIG_SYS_IBAT3L      (PCI_MEM_SPACE2_START|BATL_PP_10 | BATL_GUARDEDSTORAGE | BATL_CACHEINHIBIT)
-#define CONFIG_SYS_DBAT3U      CONFIG_SYS_IBAT3U
-#define CONFIG_SYS_DBAT3L      CONFIG_SYS_IBAT3L
-
-
-/*
- * For booting Linux, the board info and command line data
- * have to be in the first 8 MB of memory, since this is
- * the maximum mapped by the Linux kernel during initialization.
- */
-#define CONFIG_SYS_BOOTMAPSZ       (8 << 20)   /* Initial Memory map for Linux */
-
-/*-----------------------------------------------------------------------
- * FLASH organization
- */
-#define CONFIG_SYS_MAX_FLASH_BANKS     3       /* Max number of flash banks         */
-#define CONFIG_SYS_MAX_FLASH_SECT      64      /* Max number of sectors in one bank */
-
-#define CONFIG_SYS_FLASH_ERASE_TOUT    120000  /* Timeout for Flash Erase (in ms)   */
-#define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Timeout for Flash Write (in ms)   */
-
-#if 0
-#define        CONFIG_ENV_IS_IN_FLASH      1
-#define CONFIG_ENV_OFFSET          0x8000  /* Offset of the Environment Sector */
-#define CONFIG_ENV_SIZE            0x4000  /* Size of the Environment Sector    */
-#else
-#define CONFIG_ENV_IS_IN_NVRAM          1
-#define CONFIG_ENV_ADDR            NV_OFF_U_BOOT_ADDR /* PortX NVM Free addr*/
-#define CONFIG_ENV_OFFSET          CONFIG_ENV_ADDR
-#define CONFIG_ENV_SIZE            NV_U_BOOT_ENV_SIZE /* 2K */
-#endif
-/*-----------------------------------------------------------------------
- * Cache Configuration
- */
-#define CONFIG_SYS_CACHELINE_SIZE  16
-
-/* Localizations */
-#if 0
-#define CONFIG_ETHADDR          0:0:0:0:1:d
-#define CONFIG_IPADDR           172.16.40.113
-#define CONFIG_SERVERIP         172.16.40.111
-#else
-#define CONFIG_ETHADDR          0:0:0:0:1:d
-#define CONFIG_IPADDR           209.128.93.138
-#define CONFIG_SERVERIP         209.128.93.133
-#endif
-
-/*-----------------------------------------------------------------------
- * PCI stuff
- *-----------------------------------------------------------------------
- */
-#define CONFIG_PCI                     /* include pci support                  */
-#define CONFIG_PCI_INDIRECT_BRIDGE     /* indirect PCI bridge support */
-#undef CONFIG_PCI_PNP
-
-
-#define CONFIG_TULIP
-
-#endif  /* __CONFIG_H */