
###########################################################################
##
## QNX Neutrino 6.4.0 on the Freescale MPC8313E RDB board 
##
###########################################################################
##
## SUPPORTED DEVICES:
##
## SERIAL: DUART
## NETWORK: eTSEC1( five Vitesse VSC7385) and eTSEC2 (Marvell 88E1111 PHY)
## I2C:
## FLASH: (SPANSION S29GL054A90TFIR3) 
## NAND:
## SPI:
## PCI:
## USB:
##
##  - For detailed instructions on the default example configuration for
##    these devices see the "CONFIGURING ON-BOARD SUPPORTED HARDWARE"
##    section below the build script section, or refer to the BSP docs.
##  - Tip: Each sub-section which relates to a particular device is marked
##         with its tag (ex. SERIAL). You can use the search features of
##         your editor to quickly find and add or remove support for
##         these devices.
##  - For details on how build files work, please refer to the help
##    documentation for "mkifs" in the QNX Neutrino Utilities Reference.
##
###########################################################################
##
## NOTES:
##
###########################################################################

###########################################################################
## START OF BUILD SCRIPT
###########################################################################

[image=0x200000]
[+compress]
[virtual=ppcbe,raw] .bootstrap = {
    startup-mpc8313e-rdb -vvvv
    #######################################################################
    ## PATH set here is the *safe* path for executables.
    ## LD_LIBRARY_PATH set here is the *safe* path for libraries.
    ##     i.e. These are the paths searched by setuid/setgid binaries.
    ##          (confstr(_CS_PATH...) and confstr(_CS_LIBPATH...))
    #######################################################################
    PATH=:/proc/boot:/bin:/usr/bin LD_LIBRARY_PATH=:/proc/boot:/lib:/usr/lib:/lib/dll procnto-600 -vvvv
}
[+script] startup.script = {
    procmgr_symlink ../../proc/boot/libc.so.3 /usr/lib/ldqnx.so.2

    display_msg Welcome to QNX Neutrino 6.4.0 on the Freescale MPC8315E RDB board

    #######################################################################
    ## SERIAL driver
    #######################################################################
    devc-ser8250 -e -F -c133000000 -b115200 0xe0004500,0x09 0xe0004600,0x0A 
    waitfor /dev/ser1
    reopen /dev/ser1
    
    slogger
    pipe

    #######################################################################
    ## Network driver
    #
    ## Please note:
    #<1>  the Vitesse switch firmware must first be loaded before the QNX image is run. This must be done after every reset of the board. 
    # Add the following to the U-boot environment:
    # setenv ldswitch 'cp.b fe710000 40000 11000; go 40004'
    # setenv bootcmd 'tftpboot $loadaddr $bootfile; run ldswitch; go $loadaddr'
    #
    # <2>tsec0 must always be forced to GigE because of a known issue with the Vitesse chip.
    # ifconfig tsec0 media 1000BaseT mediaopt full-duplex
    # 
    # This procedure is explained in the Freescale MPC8313E-RDB BSP User's Manual.
    #
    #######################################################################
    # To start the driver on TSEC0 (five 10/100/100 BaseT RJ-45 interface using Vitesse VSC7385 L2 switch) and
    # on TSEC1 (one 10/100/100 BaseT RJ-45 interface using Marvell 88E1111 PHY)
    # display_msg starting TSEC0
    # io-pkt-v4 -dmpc85xx pci=0,syspage,emu_phy=0,irq_tx=32,irq_rx=33,irq_err=34 
    # display_msg starting TSEC1
    # io-pkt-v4 -d mpc85xx pci=1,ioport=0xe0025000,irq_tx=35,irq_rx=36,irq_err=37
     display_msg starting TSEC0 and TSEC1
     io-pkt-v4 -dmpc85xx pci=0,phy_addr=0,irq_tx=32,irq_rx=33,irq_err=34 -d mpc85xx pci=1,phy_addr=1,irq_tx=35,irq_rx=36,irq_err=37
     ifconfig tsec0 192.168.22.111 up
     ifconfig tsec1 192.168.21.111 up
    
    #######################################################################
    ## REMOTE_DEBUG (gdb or Momentics)
    ##  - refer to the help documentation for the gdb, qconn and the IDE
    ##    for more information on remote debugging
    ##  - the commands shown require that NETWORK is enabled too
    #######################################################################
     devc-pty
     waitfor /dev/ptyp0 4
     waitfor /dev/socket 4
     qconn port=8000

    #######################################################################
    ## NOR FLASH driver
    #######################################################################
    #display_msg Starting flash driver...
    #devf-generic -s 0xFE000000,8M

    #######################################################################
    ## NAND FLASH driver
    ##  - supports 1 bank of NAND flash (32 MB), selected by the
    ##    'cs=x' driver-specific option, where x=0,1 are the allowable
    ##    values.
    #######################################################################
    #display_msg Starting ETFS driver for NAND flash...
    #fs-etfs-mpc8313erdb512 -D cs=1 -m /fs/etfs

    #######################################################################
    ## USB driver
    #######################################################################
    #display_msg Starting USB driver...
    #io-usb -d ehci-8313 ioport=0xe0023100,irq=38 &
    #waitfor /dev/io-usb/io-usb 4

    #######################################################################
    ## I2C driver
    #######################################################################
    #display_msg Starting i2c driver...

    # For I2C channel 1
    #i2c-mpc5200 -p0xe0003000 -c88000000 -i14 --u1
    # For I2C channel 2 
    #i2c-mpc5200 -p0xe0003100 -c88000000 -i15 --u0


    #######################################################################
    ## SPI driver
    #######################################################################
    #display_msg Starting SPI driver...

    #spi-master -d mpc8349

    #######################################################################
    ## PCI server
    #######################################################################
    #display_msg Starting PCI server...

    #pci-mpc8313 &
    #waitfor /dev/pci 4

    #######################################################################
    ## These env variables are inherited by all the programs which follow
    #######################################################################
    SYSNAME=nto
    TERM=qansi
    HOME=/
    PATH=:/proc/boot:/bin:/usr/bin:/opt/bin
    LD_LIBRARY_PATH=:/proc/boot:/lib:/usr/lib:/lib/dll:/opt/lib

    [+session] ksh &
}

[type=link] /bin/sh=/proc/boot/ksh
[type=link] /dev/console=/dev/ser1
[type=link] /tmp=/dev/shmem

libc.so

###########################################################################
## uncomment for legacy binary support (Momentics 6.3.2 and earlier)  
###########################################################################
#libc.so.2

###########################################################################
## uncomment for NETWORK driver
###########################################################################
devnp-mpc85xx.so
libsocket.so

###########################################################################
## uncomment for SPI driver
###########################################################################
#spi-mpc8349.so

###########################################################################
## uncomment for USB driver & disk driver
###########################################################################
#devu-ehci-8313.so
#libusbdi.so
#io-blk.so
#libcam.so
#fs-dos.so
#fs-qnx4.so
#fs-ext2.so
#cam-disk.so


[data=c]
devc-ser8250


###########################################################################
## uncomment for PCI server
###########################################################################
#pci-mpc8313
#pci

###########################################################################
## uncomment for NETWORK driver
###########################################################################
io-pkt-v4
nicinfo
ifconfig
ping
cat
netstat
fs-cifs
ftp

###########################################################################
## uncomment for REMOTE_DEBUG (gdb or Momentics)
###########################################################################
devc-pty
qconn
/usr/bin/pdebug=pdebug

###########################################################################
## uncomment for NOR FLASH driver
###########################################################################
#devf-generic
#flashctl

###########################################################################
## uncomment for NAND FLASH driver
###########################################################################
#fs-etfs-mpc8313erdb512
#etfsctl

###########################################################################
## uncomment for USB driver & disk driver
###########################################################################
#io-usb
#usb
#devb-umass

###########################################################################
## uncomment for I2C driver
###########################################################################
#i2c-mpc5200

###########################################################################
## uncomment for SPI-client
###########################################################################
#spi-master


###########################################################################
## general commands
###########################################################################
ls
cp
ksh
pipe
pidin
uname
slogger
sloginfo
slay
mount
umount
shutdown
kill

###########################################################################
## END OF BUILD SCRIPT
###########################################################################

###########################################################################
##
## CONFIGURING ON-BOARD SUPPORTED HARDWARE:
##
##-------------------------------------------------------------------------
##
## SERIAL: DUART ports
##   example buildfile commands:
##     devc-ser8250 -e -F -c264000000 -b115200 0xe0004500,0x09 0xe0004600,0x0A
##     waitfor /dev/ser1
##     reopen /dev/ser1
##
##   required binaries:
##     devc-ser8250
##
##-------------------------------------------------------------------------
##
## PCI:
##   example buildfile commands:
##     pci-mpc8313
##     waitfor /dev/pci 4
##
##   required binaries:
##     pci-mpc8313
##     pci
##
##-------------------------------------------------------------------------
##
## NETWORK (big stack):
## NOTE: channel and mac are mandatory arguments
##   example buildfile commands:
##     io-pkt-v4 -dmpc85xx syspage
##
##   required libraries:
##     devnp-mpc85xx.so
##     libsocket.so
##
##   required binaries:
##     io-pkt-v4
##     ifconfig
##
##-------------------------------------------------------------------------
##
## FLASH:
##   example buildfile commands:
##     devf-generic -s0xfe000000,8M
##
##   required binaries:
##     devf-generic
##     flashctl
##
##-------------------------------------------------------------------------
##
## NAND FLASH:
##   recommended buildfile commands:
##     fs-etfs-mpc8313erdb512 -D cs=1
##
##   required binaries:
##     fs-etfs-mpc8313erdb512
##     etfsctl
##
##   recommended extra commands:
##     # 1. stop the filesystem on the device
##     etfsctl -d /dev/etfs2 -s
##     # 2. format the filesystem
##     etfsctl -d /dev/etfs2 -f
##     # 3. make the filesystem continue
##     etfsctl -d /dev/etfs2 -c
##     # 4. you should find a /fs/etfs directory automounted
##
##-------------------------------------------------------------------------
##
## I2C:
##   example buildfile commands:
##     To start I2C channel 1:
##     i2c-mpc5200 -p0xe0003000 -c88000000 -i14
##     To start I2C channel 2:
##     i2c-mpc5200 -p0xe0003100 -c88000000 -i15
##
##   required binaries:
##    i2c-mpc5200 
##
##-------------------------------------------------------------------------
##
##  USB: EHCI USB Host Controller
##  example buildfile commands:
##      io-usb -d ehci-8313 ioport=0xe0023100,irq=38  &
##      waitfor /dev/io-usb/io-usb 4
##
##  required libraries:
##      devu-ehci-8313.so
##      libusbdi.so
##
##  required binaries:
##      io-usb
##      usb
##-------------------------------------------------------------------------
##
##
###########################################################################

###########################################################################
##
## INTERRUPT MAP
##
###########################################################################
##
## Interrupt Assignments
## ---------------------
##
## vector:  0
## trigger: N/A
## device:  unassigned
##
## vector:  1 - 8
## trigger: N/A
## device:  Reserved
##
## vector:  9
## trigger: N/A
## device:  UART1
##
## vector:  10
## trigger: N/A
## device:  UART2
##
## vector:  11 
## trigger: N/A
## device:  SEC
##
## vector:  12
## trigger: N/A
## device:  eTSEC1 1588 timer
##
## vector:  13
## trigger: N/A
## device:  eTSEC2 1588 timer
##
## vector:  14
## trigger: N/A
## device:  I2C1
##
## vector:  15
## trigger: N/A
## device:  I2C2
##
## vector:  16
## trigger: N/A
## device:  SPI
##
## vector:  17
## trigger: N/A
## device:  IRQ1
##
## vector:  18
## trigger: N/A
## device:  IRQ2
##
## vector:  19
## trigger: N/A
## device:  IRQ3
##
## vector:  20
## trigger: N/A
## device:  IRQ4
##
## vector:  21 - 31
## trigger: N/A
## device:  Reserved
##
## vector:  32
## trigger: N/A
## device:  TSEC2 Err
##
## vector:  33
## trigger: N/A
## device:  TSEC2 Rx
##
## vector:  34
## trigger: N/A
## device:  TSEC2 Tx
##
## vector:  35
## trigger: N/A
## device:  TSEC1 Err
##
## vector:  36
## trigger: N/A
## device:  TSEC1 Rx
##
## vector:  37
## trigger: N/A
## device:  TSEC1 Tx
##
## vector:  38
## trigger: N/A
## device:  USB DR
##
## vector:  39-47
## trigger: N/A
## device:  Reserved
##
## vector:  48
## trigger: N/A
## device:  IRQ0
##
## vector:  49 - 63
## trigger: N/A
## device:  Reserved
##
## vector:  64
## trigger: N/A
## device:  RTC SEC
##
## vector:  65
## trigger: N/A
## device:  PIT
##
## vector:  66
## trigger: N/A
## device:  PCI
##
## vector:  67
## trigger: N/A
## device:  Reserved
##
## vector:  68
## trigger: N/A
## device:  RTC ALR
##
## vector:  69
## trigger: N/A
## device:  MU
##
## vector:  70
## trigger: N/A
## device:  SBA
##
## vector:  71
## trigger: N/A
## device:  DMA
##
## vector:  72
## trigger: N/A
## device:  GTM4
##
## vector:  73
## trigger: N/A
## device:  GTM8
##
## vector:  74
## trigger: N/A
## device:  GPIO
##
## vector:  75
## trigger: N/A
## device:  Reserved
##
## vector:  76
## trigger: N/A
## device:  DDR
##
## vector:  77
## trigger: N/A
## device:  LBC
##
## vector:  78
## trigger: N/A
## device:  GTM2
##
## vector:  79
## trigger: N/A
## device:  GTM6
##
## vector:  80
## trigger: N/A
## device:  PMC
##
## vector:  81 - 83
## trigger: N/A
## device:  Reserved
##
## vector:  84
## trigger: N/A
## device:  GTM3
##
## vector:  85
## trigger: N/A
## device:  GTM7
##
## vector:  86 - 89
## trigger: N/A
## device:  Reserved
##
## vector:  90
## trigger: N/A
## device:  GTM1
##
## vector:  91
## trigger: N/A
## device:  GTM5
##
## vector:  92 - 127
## trigger: N/A
## device:  Reserved
##
###########################################################################
