meta-digi/meta-digi-arm/recipes-bsp/kobs-ng/cpx2/0002-rom-version.patch

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