82 lines
2.6 KiB
Diff
82 lines
2.6 KiB
Diff
From c0a2cc4852f59810ce2fd330ecf5c2a38f232935 Mon Sep 17 00:00:00 2001
|
|
From: Javier Viguera <javier.viguera@digi.com>
|
|
Date: Fri, 1 Apr 2011 14:53:24 +0200
|
|
Subject: [PATCH] rom version
|
|
|
|
Add ROM version for the CPX2
|
|
|
|
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
|
|
---
|
|
src/main.c | 42 ++++++++++++++++++++++--------------------
|
|
1 files changed, 22 insertions(+), 20 deletions(-)
|
|
|
|
diff --git a/src/main.c b/src/main.c
|
|
index c21dece..eb9504d 100644
|
|
--- a/src/main.c
|
|
+++ b/src/main.c
|
|
@@ -795,7 +795,9 @@ void discover_boot_rom_version(void)
|
|
{
|
|
FILE *cpuinfo;
|
|
char line_buffer[100];
|
|
- static char *banner = "Hardware\t: Freescale MX";
|
|
+ static char *banner_hw = "Hardware\t:";
|
|
+ static char *banner = "Hardware\t: Freescale MX";
|
|
+ static char *banner_digi_x2 = "Hardware\t: Digi ConnectPort X2";
|
|
static char *v0_rom_tag = "23";
|
|
static char *v1_rom_tag = "28";
|
|
static char *v2_rom_tag = "53";
|
|
@@ -828,31 +830,31 @@ void discover_boot_rom_version(void)
|
|
//--------------------------------------------------------------
|
|
// Check if the current line contains the information we need.
|
|
//--------------------------------------------------------------
|
|
-
|
|
- if (strncmp(line_buffer, banner, strlen(banner))) {
|
|
+ if (strncmp(line_buffer, banner_hw, strlen(banner_hw))) {
|
|
continue;
|
|
}
|
|
|
|
- //--------------------------------------------------------------
|
|
- // If control arrives here, we found what we're looking for.
|
|
- // Extract the information we need.
|
|
- //--------------------------------------------------------------
|
|
-
|
|
- if (!strncmp(line_buffer + strlen(banner), v0_rom_tag, strlen(v0_rom_tag))) {
|
|
- rom_version = ROM_Version_0;
|
|
- break;
|
|
+ if ( !strncmp(line_buffer, banner, strlen(banner)) ) {
|
|
+ if (!strncmp(line_buffer + strlen(banner), v0_rom_tag, strlen(v0_rom_tag))) {
|
|
+ rom_version = ROM_Version_0;
|
|
+ break;
|
|
+ }
|
|
+ else
|
|
+ if (!strncmp(line_buffer + strlen(banner), v1_rom_tag, strlen(v1_rom_tag))) {
|
|
+ rom_version = ROM_Version_1;
|
|
+ break;
|
|
+ }
|
|
+ else
|
|
+ if (!strncmp(line_buffer + strlen(banner), v2_rom_tag, strlen(v2_rom_tag))) {
|
|
+ rom_version = ROM_Version_2;
|
|
+ break;
|
|
+ }
|
|
}
|
|
- else
|
|
- if (!strncmp(line_buffer + strlen(banner), v1_rom_tag, strlen(v1_rom_tag))) {
|
|
+
|
|
+ if ( !strncmp(line_buffer, banner_digi_x2, strlen(banner_digi_x2)) ) {
|
|
+ // The CPX2 has a ROM version 1
|
|
rom_version = ROM_Version_1;
|
|
- break;
|
|
}
|
|
- else
|
|
- if (!strncmp(line_buffer + strlen(banner), v2_rom_tag, strlen(v2_rom_tag))) {
|
|
- rom_version = ROM_Version_2;
|
|
- break;
|
|
- }
|
|
-
|
|
}
|
|
|
|
//----------------------------------------------------------------------
|
|
--
|
|
1.7.4.2
|
|
|