view fluid-mnf/protocol.h @ 337:814d3f24bed6

frbl/README: minor updates
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 12 Mar 2020 20:46:33 +0000
parents 9cecc930d78f
children
line wrap: on
line source

/******************************************************************************
 * FLUID (Flash Loader Utility Independent of Device)
 *
 * (C) Delta Technologies 2001.
 * Cleanup, modifications and extensions by Mads Meisner-Jensen, mmj@ti.com.
 *
 * Target/PC protocol definition
 *
 * $Id: protocol.h 1.21 Mon, 28 Apr 2003 08:49:16 +0200 tsj $
 *
 ******************************************************************************/


enum ProtocolChars {
    PROTO_HELLO         = 'H',
    PROTO_BAUDRATE      = 'B',
    PROTO_BAUDRATE_XXO  = 'X',
    PROTO_INIT          = 'N',
    PROTO_QUERY         = 'Q',
    PROTO_QUERY_CHIP    = 'C',
    PROTO_READY         = 'R',
    PROTO_ISEMPTY       = 'I',
    PROTO_DOWNLOAD      = 'L',
    PROTO_DETECT        = 'D',
    PROTO_ERASE         = 'E',
    PROTO_COMPRESS      = 'Z',
    PROTO_PROGRAM       = 'P',
    PROTO_CKSUM         = 'C',
    PROTO_READ          = 'R',
    PROTO_RESET         = '0',
    PROTO_CHECKSUM      = 'C',
    PROTO_VERSION       = 'V',
    PROTO_TIMERS        = 'T',
    PROTO_FLASH_START   = '[',
    PROTO_FLASH_END     = ']',
    PROTO_IMEI_PROTECT  = 'I',

    PROTO_ERROR               = '?',
    PROTO_ERROR_INVALID       = '!', // Invalid command parameter
    PROTO_ERROR_CKSUM         = 'X',
    PROTO_ERROR_MEMORY        = 'M',
    PROTO_ERROR_VERIFY        = 'D',
    PROTO_ERROR_FLASH_TIMEOUT = 'T',
    PROTO_ERROR_FLASH_COMMAND = 'C',
    PROTO_ERROR_FLASH_VPP     = 'V',
    PROTO_ERROR_FLASH_LOCKED  = 'L',
    PROTO_ERROR_FLASH_UNKNOWN = 'F',
    PROTO_ERROR_HARDWARE      = 'H',
    PROTO_ERROR_FIFO_OVERFLOW = 'O',
    PROTO_ERROR_ROM_SSERVICE  = 'S',

    PROTO_IS_ERASING    = 'I', // Not a real protocol char - for internal use

    PROTO_TRACE         = '$'
};



// Not really part of the protocol but as this header file is included by
// both PC side and target side source code, this is an easy place to put
// these difinitions.
enum ChipIdCodes {
    // Ulysses and Hercules
    CHIP_ID_ULYSSES_0  = 0xB2B5,
    CHIP_ID_ULYSSES_A  = 0xB335,
    CHIP_ID_HERCULES_A = 0xB334, // Correct revision designation?
    CHIP_ID_HERCULES_B = 0xB32C, // Correct revision designation?

    // Samson and Calypso
    CHIP_ID_CALYPSO_A  = 0xB2AC,
    CHIP_ID_CALYPSO_B  = 0xB396,
    CHIP_ID_CALYPSO_C  = 0xB496,
    CHIP_ID_CALYPSO_L  = 0xB4FB,

    CHIP_ID_CALYPSO_PLUS   = 0xB512,
    CHIP_ID_CALYPSO_PLUS_A = 0xB608
};