* Fix problems caused by Robert Schwebel's cramfs patch
* Patch by Scott McNutt, 02 Jan 2004:
Add support for the Nios Active Serial Memory Interface (ASMI)
on Cyclone devices
* Patch by Andrea Marson, 16 Dec 2003:
Add support for the PPChameleon ME and HI modules
* Patch by Yuli Barcohen, 22 Dec 2003:
Add support for Motorola DUET ADS board (MPC87x/88x)
diff --git a/doc/README.dk1c20 b/doc/README.dk1c20
index b3a6b8b..bf3b699 100644
--- a/doc/README.dk1c20
+++ b/doc/README.dk1c20
@@ -2,7 +2,7 @@
Nios Development Kit
Cyclone Editions
- Last Update: October 15, 2003
+ Last Update: January 2, 2004
====================================================================
This file contains information regarding U-Boot and the Altera
@@ -12,31 +12,41 @@
For those interested in contributing ... see HELP WANTED section
in doc/README.nios.
+Contents:
-Files
-------
+ 1. Files
+ 2. Memory Organization
+ 3. Examples
+ 4. Programming U-Boot into FLASH with GERMS
+ 5. Active Serial Memory Interface (ASMI) Support
+
+====================================================================
+
+1. Files
+=========
board/dk1c20/*
include/configs/DK1C20.h
-Memory Organization
---------------------
+2. Memory Organization
+=======================
- -The heap is placed below the monitor (U-Boot code).
- -Global data is placed below the heap.
- -The stack is placed below global data (&grows down).
+ -The heap is placed below the monitor (U-Boot code).
+ -Global data is placed below the heap.
+ -The stack is placed below global data (&grows down).
-Misc
------
+3. Examples
+============
-The hello_world example works fine.
+The hello_world example works fine. The default load address
+is 0x0100_0000 (the start of SDRAM).
-Programming U-Boot into FLASH with GERMS
------------------------------------------
-The current version of the DK-1C20 port occupies less than
-60 KByte with network support disabled. So everything will fit
-into a single flash sector. With network support (e.g. bootp,
-tftpboot, ping, etc) the flash footprint is about 77K.
+4. Programming U-Boot into FLASH with GERMS
+============================================
+The current version of the DK-1C20 port with the default
+configuration settings occupies about 81 KBytes of flash.
+A minimal configuration occupies less than 60 KByte (asmi
+and network support disabled).
To program U-Boot into the DK-1C20 flash using GERMS do the
following:
@@ -51,10 +61,10 @@
U-Boot 1.0.0-pre (Oct 4 2003 - 07:39:24)
- CPU: Nios-32 Rev. 3.08 (0x3018)
+ CPU: Nios-32 Rev. 3.3 (0x3038)
Reg file size: 256 LO_LIMIT/HI_LIMIT: 2/14
Board: Altera Nios 1C20 Development Kit
- In: serial
+ In: serial
Out: serial
Err: serial
==>
@@ -63,18 +73,18 @@
2. Quit nios-run and start your terminal application (e.g. start
Hyperterminal or minicom).
-3. From the U-Boot command prompt, erase a sector of flash at 0x40000:
+3. From the U-Boot command prompt, erase flash 0x40000 to 0x 5ffff:
- ==> erase 40000 4ffff
+ ==> erase 1:4-5
4. Download the u-boot code to RAM. When using Hyperterminal, do the
following:
- --From the u-boot command prompt start a binary download to SRAM:
+ a. From the u-boot command prompt start a binary download to SRAM:
==> loadb 800000
- --Download u-boot.bin using kermit.
+ b. Download u-boot.bin using kermit.
5. Copy the binary image from SRAM to flash:
@@ -85,3 +95,59 @@
Safe-32 configuration, enter the following GERMS command:
+ g 40000
+
+5. Active Serial Memory Interface (ASMI) Support
+================================================
+ASMI is fully supported in U-Boot. Please note that ASMI is supported
+only on Cyclone devices. Do not expect ASMI to work with Stratix or
+APEX devices.
+
+ ************* IMPORTANT *************
+ ===================================================
+ IN ORDER FOR THE NIOS ASMI TO OPERATE PROPERLY, THE
+ CYCLONE DEVICE MUST BE CONFIGURED USING JTAG OR ASMI.
+
+There are two techniques you can use to bootstrap the ASMI. The
+first is to use the program_epcs utility that is part of Altera's SDK.
+But I've found program_epcs to be slow and cumbersome at best.
+
+An undocumented alternative is to use the Quartus device programing
+interface:
+
+ 1. Select "Active Serial" mode.
+
+ 2. Choose the xxx.pof file. For example, for the standard_32
+ configuration use the "standard_32.pof" file.
+
+ 3. Attach your ByteBlaster to J28. Make sure you have the
+ cable attached properly -- the orientation of J28 is
+ different than J24 (the JTAG header). On J28, pin 1 is on
+ the bottom row, left-most pin.
+
+ 4. Press and hold the "Power-On Reset" switch (SW10). You will
+ see the green "Loading" and red "Error" LEDs (LED3 and LED4)
+ in the on state.
+
+ 5. While holding down the "Power-On Reset" switch, start the
+ programming sequence. This only takes about 10 seconds.
+
+ 6. After programming is complete, release the "Power-On Reset"
+ switch. The Cyclone device should now load its configuration
+ from the EPCS4 (U59). The green "User" LED (LED 1) should be
+ blinking if the device was successfully loaded via ASMI.
+
+ 7. Remove the ByteBlaster cable. The cable must be removed to
+ allow the Nios ASMI access to the EPCS4 device.
+
+After you have successfully programmed a configuration into the
+EPCS4, the ASMI will be used to load the Cyclone configuration
+unless the "Force Safe" switch (SW9) is pressed.
+
+NOTE: To maximize the amount of space available for program use,
+you can enable configuration compression in Quartus. With compression
+enabled, the size of the standard_32 configuration data is
+approximately 192 KBytes.
+
+To use the U-Boot ASMI commands, try typing "help asmi" at the
+command prompt. The command "asmi info" will show the current
+status of the ASMI.
diff --git a/doc/README.nios b/doc/README.nios
index 8765df7..af21b3e 100644
--- a/doc/README.nios
+++ b/doc/README.nios
@@ -1,7 +1,7 @@
U-Boot for Nios-32
- Last Update: November 30, 2003
+ Last Update: January 2, 2004
====================================================================
This file contains information regarding U-Boot and the Altera
@@ -31,7 +31,7 @@
U-Boot has been successfully tested on the Nios Cyclone development
board using both the 'safe' and 'standard 32' configurations with
-Nios CPU revision 3.08 (CPU_ID = 0x3008). U-Boot can be used with
+Nios CPU revision 3.1 (CPU_ID = 0x3018). U-Boot can be used with
or without the GERMS monitor. The initial version of U-Boot for the
Cyclone development kit is about 60 Kbyte and will fit in a single
sector of on-board FLASH. Only the Nios 32-bit CPU is supported.
@@ -55,9 +55,6 @@
a problem as little, if any, of the Altera source contains
features that are not already available in U-Boot.
-The Nios port also does not use the long-winded peripheral
-structure definitions from the Nios SDK.
-
2. CONFIGURATION OPTIONS/SETTINGS
----------------------------------
@@ -103,6 +100,9 @@
CFG_NIOS_TMRMS -- the period of the timer in milliseconds.
+CFG_NIOS_ASMIBASE -- the base address of the ASMI peripheral.
+ (standard-32: na_asmi_base).
+
2.2 Differences in U-Boot Options/Settings
-------------------------------------------
Some 'standard' U-Boot options/settings are treated differently in
@@ -238,8 +238,6 @@
-CompactFlash. Port & test CF/FAT.
--ASMI support. Use ASMI for environment, etc.
-
-Bedbug. Develop bedbug for Nios ... or at least provide a disassemble
command.