summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPenny Chiu <pchiu@nvidia.com>2014-04-01 18:57:48 -0700
committerAllen Martin <amartin@nvidia.com>2014-04-04 19:09:08 -0700
commit3ac6afbd7230cf128dea32b16462c5a290f6755e (patch)
treed13edce3e957f944bc461787d45164dee2e6710e
parent00609580b6525bd407b1825c7df68eff900f95d9 (diff)
downloadtegrarcm-3ac6afbd7230cf128dea32b16462c5a290f6755e.tar.gz
tegrarcm: Add odm production secure mode support
tegrarcm should work if the operating mode is ODM production secure mode. Add the operating mode definition and description. Signed-off-by: Penny Chiu <pchiu@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Allen Martin <amartin@nvidia.com>
-rw-r--r--src/main.c4
-rw-r--r--src/rcm.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index fe29df0..50adc14 100644
--- a/src/main.c
+++ b/src/main.c
@@ -290,8 +290,9 @@ int main(int argc, char **argv)
if (info.op_mode != RCM_OP_MODE_DEVEL &&
info.op_mode != RCM_OP_MODE_ODM_OPEN &&
+ info.op_mode != RCM_OP_MODE_ODM_SECURE &&
info.op_mode != RCM_OP_MODE_PRE_PRODUCTION)
- error(1, ENODEV, "device is not in developer, open, "
+ error(1, ENODEV, "device is not in developer, open, secure, "
"or pre-production mode, cannot flash");
// download the BCT
@@ -654,6 +655,7 @@ static void dump_platform_info(nv3p_platform_info_t *info)
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;
+ case RCM_OP_MODE_ODM_SECURE: op_mode = "odm secure mode"; break;
default: op_mode = "unknown"; break;
}
printf(" (%s)\n", op_mode);
diff --git a/src/rcm.h b/src/rcm.h
index 505547c..ab4bea2 100644
--- a/src/rcm.h
+++ b/src/rcm.h
@@ -107,6 +107,7 @@ typedef struct {
// security operating modes
#define RCM_OP_MODE_PRE_PRODUCTION 0x1
#define RCM_OP_MODE_DEVEL 0x3
+#define RCM_OP_MODE_ODM_SECURE 0x4
#define RCM_OP_MODE_ODM_OPEN 0x5
int rcm_init(uint32_t version);