Changes between Version 13 and Version 14 of newport


Ignore:
Timestamp:
12/14/2017 07:48:15 PM (2 years ago)
Author:
Tim Harvey
Comment:

added details regarding firmware images and firmware updates

Legend:

Unmodified
Added
Removed
Modified
  • newport

    v13 v14  
    5656
    5757== Software ==
     58 * [#source Source code for Newport including keeping abreast of changes]
     59 * [#images Firmware Images]
    5860 * [#firmware Firmware (up to and including the Bootloader)]
    5961 * [#bootloader U-Boot Bootloader]
     
    8991 * [wiki:linux/devicetree Linux Kernel Device-Tree info]
    9092
     93== User Manual ==
     94 * [http://www.gateworks.com/usermanuals All Gateworks User Manuals]
     95
     96== Processor Reference Manual / Datasheet / Errata ==
     97The ​[http://www.cavium.com/OCTEON-TX-CN80XX-81XX.html Cavium Website] contains details about the OCTEON TX Dual and Quad core 64bit ARM based SoC's.
     98
     99Additional references:
     100 * ​[http://www.cavium.com/pdfFiles/OCTEON-TX-CN80XX-CN81XX-Product-Brief-Rev1.pdf OCTEON TX CN80XX-CN81XX Product Brief]
     101
     102
     103[=#source]
     104= Source Code =
     105Newport Source code for firmware, bootloader and kernel are hosted at !GitHub. We highly recommend you create a !GitHub account and 'Watch' these repositories to keep abreast of important feature additions, bugfixes, and firmware-releases. You can configure your !GitHub account to e-mail you when changes are made to repositories [https://github.com/settings/notifications here].
     106
     107The following !GitHub repos are used for Newport:
     108 * [https://github.com/Gateworks/uboot-newport images-newport] - Newport pre-built firmware Firmware Images ([https://github.com/Gateworks/uboot-newport/subscription watch])
     109 * [https://github.com/Gateworks/uboot-newport uboot-newport] - Newport Bootloader ([https://github.com/Gateworks/uboot-newport/subscription watch)]
     110 * [https://github.com/Gateworks/linux-newport linux-newport] - Newport Linux Kernel ([https://github.com/Gateworks/linux-newport/subscription watch)]
     111 * [https://github.com/Gateworks/bdk-newport bdk-newport] - Newport BDK (used as Secondary Program Loader) ([https://github.com/Gateworks/bdk-newport/subscription watch)]
     112 * [https://github.com/Gateworks/atf-newport atf-newport] - Newport ATF (ARM Trusted Firmware) ([https://github.com/Gateworks/atf-newport/subscription watch)]
     113
     114
     115[=#images]
     116= Pre-built Firmware Images =
     117The [https://github.com/Gateworks/uboot-newport images-newport] !GitHub repository hosts various pre-built firmware images used for Newport:
     118 * [https://github.com/Gateworks/images-newport/raw/master/gsc_630x_v49.txt GSC firmware image]
     119 * [https://github.com/Gateworks/images-newport/raw/master/firmware-newport.img firmware image] (everything up to and including the bootloader stored on the embedded FLASH boot device) (see [#firmware below] for details)
     120 * [https://github.com/Gateworks/images-newport/raw/master/linux-newport.tar.bz2 linux-newport.tar.bz2] - Compressed TAR archive of pre-built Linux kernel
     121 * [https://github.com/Gateworks/images-newport/raw/master/xenial-newport.img.gz xenial-newport.img.gz] - Compressed Disk Image containing Firmware and Ubuntu 16.04 Xenial
     122 * [https://github.com/Gateworks/images-newport/blob/master/xenial-newport.tar.bz2 xenial-newport.tar.bz2] - Compressed TAR archive of Ubuntu 16.04 Xenial arm64 root filesystem
     123
     124
     125[=#firmware-update]
     126= Updating Firmware =
     127This section provides instructions for updating both GSC firmware as well as boot device firmware.
     128
     129There are two methods for updating firmware:
     130 * on a live board using Serial Console and Ethernet ('''Note that currently the eMMC FLASH can only be updated on a live board booted from either eMMC or microSD''')
     131 * using a GW16099 JTAG dongle (see [#jtag below]) ('''Note that currently only the GSC firmware can be updated via JTAG''')
     132
     133The various items that can be updated:
     134 * GSC Firmware - currently only JTAG updates are supported for Newport - see [#jtag-gsc below]
     135 * Firmware (Everything up to and including the Bootloader) - currently must be updated from U-Boot or Linux on a live system - see [#firmware-update-uboot below]
     136 * Root Filesystem (Operating System) - currently must be updated from U-Boot or Linux on a live system - see [#firmware-update-uboot below]
     137
     138
     139[=#serial-ethernet]
     140== Update Firmware via Serial Console and Ethernet ==
     141The quickest and easiest way to update your firmware is via Serial Console and Ethernet. You can do this either in the U-Boot bootloader (recommended) or within a Linux OS. If your primary boot device is corrupt, then you can boot via an alternate boot device (ie microSD).
     142
     143If using U-Boot (recommended) you need to setup a TFTP server to host the files for transfer. Alternatively you could load firmware files from removable storage (microSD, mSATA, or USB for example) however the transfer rate is typically very slow compared to Gigabit Ethernet. For details on setting up a TFTP server see [wiki:tftpserver here].
     144
     145The following instructions assume your board target IP address is 192.168.1.1 and you have a TFTP server at 192.168.1.146. Adjust environment according to your network via 'setenv ipaddr <ipaddr>' and 'setenv serverip <serverip>'.
     146
     147Note that if booted from the eMMC (primary device) U-Boot mmc dev 0 is eMMC and mmc dev 1 is microSD however if you booted from the microSD (secondary device) then U-Boot mmc dev 0 is microSD and mmc dev 1 is eMMC. Be sure to use {{{mmc list}}} to determine which device you should set via the {{{mmc dev}}} command.
     148
     149To update just the 'firmware' (everything up to and including the Bootloader) ([https://github.com/Gateworks/images-newport/raw/master/firmware-newport.img firmware image]):
     150{{{#!bash
     151mmc dev 0 # use 'mmc list' to show which device is which
     152tftpboot ${loadaddr} firmware-newport.img && mmc write ${loadaddr} 0 8000
     153}}}
     154
     155To update the 'firmware' as well as the root filesystem ([https://github.com/Gateworks/images-newport/raw/master/xenial-newport.img.gz xenial-newport.img.gz]):
     156{{{#!bash
     157mmc dev 0 # use 'mmc list' to show which device is which
     158tftpboot ${loadaddr} xenial-newport.img.gz && gzwrite mmc ${dev} ${loadaddr} ${filesize}
     159}}}
     160
    91161
    92162[=#jtag]
    93 == JTAG Programming
    94 The Gateworks JTAG dongle (GW16099) is available in the Newport Dev Kit as well as on the Gateworks web store [http://shop.gateworks.com/index.php?route=product/category&path=70_80 here]
     163== JTAG Programming ==
     164The Gateworks JTAG adapter (GW16099) is available in the Newport Dev Kit as well as on the Gateworks web store [http://shop.gateworks.com/index.php?route=product/category&path=70_80 here]
    95165
    96166All Newport boards have a 10-pin JTAG header which provides:
     
    101171 * '''Linux software is supported for programming Newport (jtag_usbv4 required).''' Windows is not supported at this time.''' (serial console through Windows does work).
    102172 * '''JTAG Programming of eMMC has not been made available yet'''. You must boot from a microSD image to program or re-program eMMC flash
    103 
    104 
    105 == User Manual ==
    106  * [http://www.gateworks.com/usermanuals All Gateworks User Manuals]
    107 
    108 
    109 == Processor Reference Manual / Datasheet / Errata ==
    110 The ​[http://www.cavium.com/OCTEON-TX-CN80XX-81XX.html Cavium Website] contains details about the OCTEON TX Dual and Quad core 64bit ARM based SoC's.
    111 
    112 Additional references:
    113  * ​[http://www.cavium.com/pdfFiles/OCTEON-TX-CN80XX-CN81XX-Product-Brief-Rev1.pdf OCTEON TX CN80XX-CN81XX Product Brief]
     173 * '''JTAG Programming of the GSC firmware is supported by the most recent version of jtag_usbv4''' [http://svn.gateworks.com/jtag/linux/x86/jtag_usbv4 here]
     174
     175[=#jtag-gsc]
     176=== Update GSC Firmware via JTAG ===
     177To update the GSC firmware via JTAG download the {{{jtag_usbv4}}} application on a Linux x86 host from [http://svn.gateworks.com/jtag/linux/x86/jtag_usbv4 here] and execute as follows:
     178{{{#!bash
     179./jtag_usbv4 -m gsc_630x_v49.txt
     180}}}
     181
     182Note that the {{{ftdi_sio}}} kernel module must not be loaded (sudo rmmod ftdi_sio) and you may need to run this command as root by pre-pending a sudo depending on the configuration of your linux host.
     183
     184For more details please see:
     185 * [wiki:jtag Gateworks JTAG wiki page]
    114186
    115187