diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mvme2307/NOTES')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme2307/NOTES | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/mvme2307/NOTES b/c/src/lib/libbsp/powerpc/mvme2307/NOTES new file mode 100644 index 0000000000..4623e80fad --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mvme2307/NOTES @@ -0,0 +1,180 @@ +This should run on Motorola MVME230x boards, where x is 5, 6, 7, +or 8 designating 16, 32, 64, or 128 MB of DRAM. It should also +work on MVME230x where x is 1, 2, 3, or 4 which is the same board +using a '603 instead of a '604 processor. RTEMS_CPU_MODEL would +need to change in make/custom/mvme2307.cfg. + +Application is linked to run from RAM. If running from ROM, it +will copy itself to RAM (0x4000) when it boots. PPCBUG should +be used to load a binary image from the TFTP host into location +0x4000, with an entry point at 0x401c. PPCBUG can be set to +autoboot the application from ROM. PPCBUG does all of the low +level setup of memory controllers and such on the board before +jumping into the RTEMS application. + +TODO: Data cache is not enabled. This BSP should probably +be part of the MCP750 BSP as much of the hardware here is +also on the MCP750 board. The dec21140 driver here is derived +from an early version from the MCP750 BSP, but has been +rewritten to use scatter/gather DMA and interrupts rather than +CPU copies and polling. This should be considered for merging +into to the MCP750 BSP. The interrupt conroller code needs to +be better integrated into RTEMS calls like the MCP750. The +BSP should probably be renamed to mvme230x. + +---------------------------------------------------------------------------- + +Building and loading an application: + +=============== (host) ======================================= +% make +% powerpc-rtems-objcopy --output-target=binary hello.exe /tftpboot/hello.bin + +=============== (target - run from RAM) ====================== +PPC1-Bug>niop +Controller LUN =00? +Device LUN =00? +Get/Put =G? +File Name =? hello.bin +Memory Address =00004000? +Length =00000000? +Byte Offset =00000000? + +Bytes Received =&140780, Bytes Loaded =&140780 +Bytes/Second =&140780, Elapsed Time =1 Second(s) +PPC1-Bug>go 401c +Effective address: 0000401C + + +*** HELLO WORLD TEST *** +Hello World +*** END OF HELLO WORLD TEST *** +PPC1-Bug> + +=============== (target - run from ROM) ====================== + +PPC1-Bug>niop +Controller LUN =00? +Device LUN =00? +Get/Put =G? +File Name =? hello.bin +Memory Address =00004000? +Length =00000000? +Byte Offset =00000000? + +Bytes Received =&140780, Bytes Loaded =&140780 +Bytes/Second =&140780, Elapsed Time =1 Second(s) + +PPC1-Bug>pflash 4000:28000 ff000000 +Source Starting/Ending Addresses =00004000/0002BFFF +Destination Starting/Ending Addresses =FF000000/FF027FFF +Number of Effective Bytes =00028000 (&163840) + +Program FLASH Memory (Y/N)? y +FLASH Memory Programming Complete + +(reset to boot into application) + +---------------------------------------------------------------------------- + +memory map: +0x00000000 - 0x03ffffff RAM +0x80000000 - 0xbf7fffff PCI I/O space +0xc0000000 - 0xfcffffff PCI memory space +0xfd000000 - 0xfdffffff PCI memory space +0xfe000000 - 0xfe7fffff PCI I/O space +0xfef80000 - 0xfef8ffff Falcon registers +0xfeff0000 - 0xfeffffff Raven registers +0xff000000 - 0xff3fffff ROM bank A - application +0xff800000 - 0xff8fffff ROM bank B - PPCBUG +0xfff00000 - 0xffffffff ROM bank A or B + +---------------------------------------------------------------------------- +Use the PPCBUG "env" command to configure the board: + +PPC1-Bug>env +Bug or System environment [B/S] = B? +Field Service Menu Enable [Y/N] = N? +Remote Start Method Switch [G/M/B/N] = B? +Probe System for Supported I/O Controllers [Y/N] = Y? +Auto-Initialize of NVRAM Header Enable [Y/N] = Y? +Network PReP-Boot Mode Enable [Y/N] = N? +Negate VMEbus SYSFAIL* Always [Y/N] = N? +SCSI Bus Reset on Debugger Startup [Y/N] = N? +Primary SCSI Bus Negotiations Type [A/S/N] = A? +Primary SCSI Data Bus Width [W/N] = N? +Secondary SCSI Identifier = "07"? +NVRAM Bootlist (GEV.fw-boot-path) Boot Enable [Y/N] = N? +NVRAM Bootlist (GEV.fw-boot-path) Boot at power-up only [Y/N] = N? +NVRAM Bootlist (GEV.fw-boot-path) Boot Abort Delay = 5? +Auto Boot Enable [Y/N] = N? +Auto Boot at power-up only [Y/N] = N? +Auto Boot Scan Enable [Y/N] = N? +Auto Boot Scan Device Type List = FDISK/CDROM/TAPE/HDISK/? +Auto Boot Controller LUN = 00? +Auto Boot Device LUN = 00? +Auto Boot Partition Number = 00? +Auto Boot Abort Delay = 7? +Auto Boot Default String [NULL for an empty string] = ? +ROM Boot Enable [Y/N] = Y? +ROM Boot at power-up only [Y/N] = N? +ROM Boot Enable search of VMEbus [Y/N] = N? +ROM Boot Abort Delay = 5? +ROM Boot Direct Starting Address = FF000000? +ROM Boot Direct Ending Address = FF3FFFFF? +Network Auto Boot Enable [Y/N] = N? +Network Auto Boot at power-up only [Y/N] = N? +Network Auto Boot Controller LUN = 00? +Network Auto Boot Device LUN = 00? +Network Auto Boot Abort Delay = 5? +Network Auto Boot Configuration Parameters Offset (NVRAM) = 00001000? +Memory Size Enable [Y/N] = Y? +Memory Size Starting Address = 00000000? +Memory Size Ending Address = 02000000? +DRAM Speed in NANO Seconds = 60? +ROM First Access Length (0 - 31) = 10? +ROM Next Access Length (0 - 15) = 0? +DRAM Parity Enable [On-Detection/Always/Never - O/A/N] = O? +L2Cache Parity Enable [On-Detection/Always/Never - O/A/N] = O? +PCI Interrupts Route Control Registers (PIRQ0/1/2/3) = 0A0B0E0F? +Serial Startup Code Master Enable [Y/N] = N? +Serial Startup Code LF Enable [Y/N] = N? +VME3PCI Master Master Enable [Y/N] = Y? +PCI Slave Image 0 Control = 00000000? +PCI Slave Image 0 Base Address Register = 00000000? +PCI Slave Image 0 Bound Address Register = 00000000? +PCI Slave Image 0 Translation Offset = 00000000? +PCI Slave Image 1 Control = C0820000? +PCI Slave Image 1 Base Address Register = 01000000? +PCI Slave Image 1 Bound Address Register = 20000000? +PCI Slave Image 1 Translation Offset = 00000000? +PCI Slave Image 2 Control = C0410000? +PCI Slave Image 2 Base Address Register = 20000000? +PCI Slave Image 2 Bound Address Register = 22000000? +PCI Slave Image 2 Translation Offset = D0000000? +PCI Slave Image 3 Control = C0400000? +PCI Slave Image 3 Base Address Register = 2FFF0000? +PCI Slave Image 3 Bound Address Register = 30000000? +PCI Slave Image 3 Translation Offset = D0000000? +VMEbus Slave Image 0 Control = E0F20000? +VMEbus Slave Image 0 Base Address Register = 00000000? +VMEbus Slave Image 0 Bound Address Register = 02000000? +VMEbus Slave Image 0 Translation Offset = 80000000? +VMEbus Slave Image 1 Control = 00000000? +VMEbus Slave Image 1 Base Address Register = 00000000? +VMEbus Slave Image 1 Bound Address Register = 00000000? +VMEbus Slave Image 1 Translation Offset = 00000000? +VMEbus Slave Image 2 Control = 00000000? +VMEbus Slave Image 2 Base Address Register = 00000000? +VMEbus Slave Image 2 Bound Address Register = 00000000? +VMEbus Slave Image 2 Translation Offset = 00000000? +VMEbus Slave Image 3 Control = 00000000? +VMEbus Slave Image 3 Base Address Register = 00000000? +VMEbus Slave Image 3 Bound Address Register = 00000000? +VMEbus Slave Image 3 Translation Offset = 00000000? +PCI Miscellaneous Register = 10000000? +Special PCI Slave Image Register = 00000000? +Master Control Register = 80C00000? +Miscellaneous Control Register = 52060000? +User AM Codes + |