summaryrefslogtreecommitdiffstats
path: root/bsps/m68k/uC5282/README
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/m68k/uC5282/README')
-rw-r--r--bsps/m68k/uC5282/README236
1 files changed, 236 insertions, 0 deletions
diff --git a/bsps/m68k/uC5282/README b/bsps/m68k/uC5282/README
new file mode 100644
index 0000000000..e237c695bc
--- /dev/null
+++ b/bsps/m68k/uC5282/README
@@ -0,0 +1,236 @@
+Description: Arcturus Networks uC DIMM ColdFire 5282
+============
+ CPU: MCF5282, 64MHz
+ RAM: 16M
+SRAM: 64k (BSP places FEC buffer descriptors here)
+ ROM: 4M
+
+This is a credit-card sized board in a DIMM format. It is part of a family
+which includes Dragonball and Coldfire CPUs, with a standardized DIMM-based bus.
+
+ACKNOWLEDGEMENTS:
+=================
+This BSP is based on the work of:
+ D. Peter Siddons
+ Till Straumann
+ Brett Swimley
+ Jay Monkman
+
+TODO:
+=====
+The bsp relies on the Arcturus monitor to set up DRAM and all chip selects.
+This seems OK to me, but others may find it lame.....
+
+I/O pin restrictions make simultaneous operation of I2C, CAN and UART2
+impossible. The BSP configures UART2 to use the CAN pins and leaves
+the I2C pins available for use.
+
+BSP NAME: uC5282
+BOARD: Arcturus Netrworks uCdimm 5282
+BUS: Arcturus DIMM bus, A24/D16, plus peripherals.
+CPU FAMILY: ColdFire 5282
+CPU: MCF5282
+COPROCESSORS: N/A
+
+DEBUG MONITOR: Arcturus bootloader
+
+PERIPHERALS
+===========
+TIMERS: Four PIT (RTEMS clock is PIT3), Four Timers
+ RESOLUTION: 1 microsecond
+SERIAL PORTS: Internal UART 0, 1 and 2
+REAL-TIME CLOCK: none
+DMA: none
+VIDEO: none
+SCSI: none
+NETWORKING: Internal 10/100Mbs FEC, 100 Mb/s, full/half-duplex
+
+DRIVER INFORMATION
+==================
+CLOCK DRIVER: PIT3
+IOSUPP DRIVER: none
+SHMSUPP: none
+TIMER DRIVER: TIMER3
+TTY DRIVER: UART0, 1 and 2
+
+STDIO
+=====
+PORT: UART0 Terminal
+ELECTRICAL: RS-232
+BAUD: 9600
+BITS PER CHARACTER: 8
+PARITY: None
+STOP BITS: 1
+
+Downloading the image to the board.
+===================================
+The bootable image is generated by the make-exe target in the bsp makefile. It
+generates a simple stripped binary file which is downloaded over the ethernet
+port into RAM then executed or programmed into flash memory.
+
+1) Power up the uC5282 board. A dump of some memory maps is produced
+ followed by a prompt.
+
+2) (first time only)
+ Set the uC5282 board Internet configuration:
+ setenv IPADDR0 www.xxx.yyy.zzz (Your board's address)
+ setenv NETMASK ppp.qqq.rrr.sss (Your local network address mask)
+ setenv HOSTNAME somename (Your board's name)
+
+3) Type 'tftp<CR>'
+ This forces the network link to half-duplex. If your network link is
+ locked at full duplex you'll have to find another port!
+ The RTEMS network driver can be forced to 100 Mbs/full-duplex by setting
+ the bootstrap environment variable IPADDR0_100FULL to Y. The driver can
+ be forced to 10 Mbs/half-duplex by setting the bootstrap environment
+ variable IPADDR0_10HALF to Y.
+
+4) Run 'tftp' on your host machine:
+ tftp> binary
+ tftp> connect www.xxx.yyy.zzz (Your ucDIMM's address)
+ tftp> put someFile.exe (someFile.boot for the EPICS build system)
+
+5) When the file has downloaded press the <ESC> key to terminate
+ the uCDIMM tftp command.
+
+6) Type 'goram<CR>' to start the downloaded program, or type 'program<CR>'
+to burn the code onto the uCDIMM flash.
+
+Clock Speed Determination Algorithm
+===================================
+Till Straumann submitted a patch to provide more dynamic clock speed
+selection.
+
+Currently, the uC5282 BSP requires relinking the application with a
+special linker flag in order to make it work with 80MHz boards (breaking
+run-time compatibility with 64MHz variants).
+
+The change aims adds support for run-time guessing/setting of
+the system-clock frequency:
+
+1) If uCbootloader environment variable SYS_CLOCK_SPEED is set to a
+non-zero number then the BSP assumes this number to specify the clock
+frequency in Hz.
+
+2) If 1) yields no non-zero frequency then the linker-provided symbol
+_CPUClockSpeed is assumed to specify the clock frequency (in Hz). This
+is the traditional behavior but the default value of _CPUClockSpeed
+was changed from 64000000 to 0 (in order to let step 3) do it's work
+by default).
+
+3) If neither 1) nor 2) yield a non-zero frequency then assume a PLL
+reference frequency (in Hz) as defined by the linker-provided symbol
+'_PLLRefClockSpeed' (which defaults to 8000000) and compute the system
+clock frequency from the divisor/multiplier settings in the SYNCR
+register.
+
+We have both, 64MHz and 80MHz variants and both use a PLL reference of
+8MHz so that run-time heuristics + detection 3) work fine.
+
+EPICS Bootstrap Information
+===========================
+The EPICS startup code uses the following environment variables. If an
+optional environment variable is missing the value in parentheses will be used.
+All Internet addresses must be given in 'dotted-decimal' format.
+HWADDR0 - Ethernet hardware address.
+IPADDR0 - Internet address (192.168.0.2).
+NETMASK - Local network address mask (255.255.252.0).
+HOSTNAME - Internet host name (iocNobody).
+GATEWAY - Internet address of gateway machine (NULL).
+SERVER - Internet address of NFS server (192.168.0.1).
+NAMESERVER - Internet address of DNS server (SERVER).
+DOMAIN - DNS domain name (precompiled value from CONFIG_SITE).
+NTPSERVER - Internet address of NTP server (SERVER).
+BOOTFILE - Path to executable (epics/iocNobody/bin/RTEMS-uC5282/myApp.boot).
+CMDLINE - Path to startup script (epics/iocBoot/iocNobody/st.cmd).
+NFSMOUNT - NFS information: www.xxx.yyy.zzz:/remote/path /localpath
+ A : can also be used to separate the remote and local paths.
+ If NFSMOUNT is not set, SERVER will be used as the NFS server,
+ and the remote and local paths will be taken from the first
+ component of CMDLINE. If CMDLINE does not begin with a /
+ then '/tftpboot' is prepended to the remote path. This allows
+ a remote TFTP and NFS server to be handled transaparently.
+
+
+============================================================================
+
+ Memory map as set up by dBUG bootstrap and BSP initialization
+
+ +--------------------------------------------------+
+0000 0000 | 16 MByte SDRAM | 00FF FFFF
+0100 0000 | --------------------------------------------- |
+ | Address space for future SDRAM expansion |
+ . .
+ . .
+ . .
+ | | 0FFF FFFF
+ +--------------------------------------------------+
+1000 0000 | External 4 MByte flash memory |
+ . .
+ . .
+ . .
+ | | 1FFF FFFF
+ +--------------------------------------------------+
+2000 0000 | 64 kByte on-chip SRAM (RAMBAR) |
+ . .
+ . .
+ . .
+ | | 2FFF FFFF
+ +--------------------------------------------------+
+3000 0000 | CS1* (devLib 'VME' A24 space) | 30FF FFFF
+3100 0000 | CS2* (devLib 'VME' A32 and A16 space) x| 31FF FFFF
+ . .
+ . .
+ . .
+ | | 3FFF FFFF
+ +--------------------------------------------------+
+4000 0000 | Internal peripheral system (IPSBAR) |
+ . .
+4400 0000 | Backdoor access to on-chip flash |
+ . .
+ . .
+ . .
+ | | 4FFF FFFF
+ +--------------------------------------------------+
+ . .
+ . .
+ . .
+ +--------------------------------------------------+
+f000 0000 | 512 kByte on-chip flash (FLASHBAR) |
+ . .
+ . .
+ . .
+ | | fFFF FFFF
+ +--------------------------------------------------+
+
+x - Final 16-bit location of CS2* space is reserved for FPGA interrupt status.
+
+============================================================================
+
+ Interrupt map
+
+External interrupt lines (priority is fixed between 3 and 4):
+ IRQ7* - Ethernet Transceiver interrupts
+ IRQ1* - FPGA ('VME') interrupts.
++-----+-----------------------------------------------------------------------+
+| | PRIORITY |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+|LEVEL| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+| 7 | | | | | | | | |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+| 6 | | | | | | | | |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+| 5 | | | | | | | | |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+| 4 | FEC RX | FEC TX | | | | | | PIT |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+| 3 | UART 0 | UART 1 | UART 2 | | | | | |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+| 2 | | | | | | | | |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+| 1 | | | | | | | | |
++-----+--------+--------+--------+--------+--------+--------+--------+--------+
+
+============================================================================
+