From 665e2e7cacb9053eea5aa60f98201399b4b6a6f6 Mon Sep 17 00:00:00 2001 From: Allen Martin Date: Mon, 19 Nov 2012 10:06:55 -0800 Subject: Add support for pre-production mode parts Add support for downloading to pre-production parts as well as developer and open parts. Signed-off-by: Allen Martin Change-Id: I86f56960a9c227b99d5ee4a1acf6f07d586d51c0 Reviewed-on: http://git-master/r/164846 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Eric Brower Reviewed-by: Stephen Warren --- src/main.c | 7 +++++-- src/rcm.h | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main.c b/src/main.c index 3068ea1..f075c87 100644 --- a/src/main.c +++ b/src/main.c @@ -240,8 +240,10 @@ int main(int argc, char **argv) dump_platform_info(&info); if (info.op_mode != RCM_OP_MODE_DEVEL && - info.op_mode != RCM_OP_MODE_ODM_OPEN) - error(1, ENODEV, "device is not in developer or open mode, cannot flash"); + info.op_mode != RCM_OP_MODE_ODM_OPEN && + info.op_mode != RCM_OP_MODE_PRE_PRODUCTION) + error(1, ENODEV, "device is not in developer, open, " + "or pre-production mode, cannot flash"); // download the BCT ret = download_bct(h3p, bctfile); @@ -452,6 +454,7 @@ static void dump_platform_info(nv3p_platform_info_t *info) printf("Operating Mode: 0x%x", info->op_mode); char *op_mode = NULL; switch(info->op_mode) { + case RCM_OP_MODE_PRE_PRODUCTION: op_mode = "pre-production mode"; break; case RCM_OP_MODE_DEVEL: op_mode = "developer mode"; break; case RCM_OP_MODE_ODM_OPEN: op_mode = "odm open mode"; break; default: op_mode = "unknown"; break; diff --git a/src/rcm.h b/src/rcm.h index c78a098..868893e 100644 --- a/src/rcm.h +++ b/src/rcm.h @@ -69,8 +69,9 @@ typedef struct { } rcm_msg_t; // security operating modes -#define RCM_OP_MODE_DEVEL 0x3 -#define RCM_OP_MODE_ODM_OPEN 0x5 +#define RCM_OP_MODE_PRE_PRODUCTION 0x1 +#define RCM_OP_MODE_DEVEL 0x3 +#define RCM_OP_MODE_ODM_OPEN 0x5 uint32_t rcm_get_msg_len(uint8_t *msg); int rcm_create_msg( -- cgit v1.2.1