From b86b0a1b44f88e74a82da81eebae02828d6d09fc Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Tue, 11 Dec 2012 20:15:51 +0100 Subject: imxtools: introduce the new scsitool It appears that all devices based on the Sigmaltel SDK support a common vendor specific SCSI interface when in UMS mode. This applies to the STMP36xx and the STMP37xx. This interface supports many operations: - get device info - get device paritionning - get janus/drm info - read/write/allocate/erase any partition - reset (chip or to updater and/or recovery) This includes the ability to do a firmware upgrade by rewriting the firmware partition. The tool currently does mostly nothing but will be enhanced depending on the reverse engineering efforts and the use of it. It has been tested on the Fuze+ and the Zen X-Fi2/3. Change-Id: Ibd4b2ad364c03ada4f9001573ef4cc87cfb041d1 --- utils/imxtools/scsitools/stmp_scsi.h | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 utils/imxtools/scsitools/stmp_scsi.h (limited to 'utils/imxtools/scsitools/stmp_scsi.h') diff --git a/utils/imxtools/scsitools/stmp_scsi.h b/utils/imxtools/scsitools/stmp_scsi.h new file mode 100644 index 0000000000..14f651f6dd --- /dev/null +++ b/utils/imxtools/scsitools/stmp_scsi.h @@ -0,0 +1,42 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2012 Amaury Pouly + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef __STMP_SCSI__ +#define __STMP_SCSI__ + +#include + +#define SCSI_STMP_READ 0xc0 +#define SCSI_STMP_WRITE 0xc1 +/** STMP: Command */ +#define SCSI_STMP_CMD_GET_PROTOCOL_VERSION 0 +#define SCSI_STMP_CMD_GET_LOGICAL_MEDIA_INFO 2 +#define SCSI_STMP_CMD_GET_LOGICAL_TABLE 5 +#define SCSI_STMP_CMD_GET_LOGICAL_DRIVE_INFO 0x12 +#define SCSI_STMP_CMD_GET_CHIP_MAJOR_REV_ID 0x30 +#define SCSI_STMP_CMD_GET_ROM_REV_ID 0x37 + +struct scsi_stmp_protocol_version_t +{ + uint8_t major; + uint8_t minor; +} __attribute__((packed)); + +#endif /* __STMP_SCSI__ */ -- cgit v1.2.3