summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyril Jourdan2012-04-10 17:30:28 +0200
committerYacine Belkadi2012-06-11 13:40:10 +0200
commit2099c5f50bc01e604cc9fe0e8ffbf0eff00435d5 (patch)
treeb57c979e91eb717c3d8dbfa4112146bb1ed66559
parent79cc12de1db3bbbccc3bb5b2fed30576800ba02a (diff)
polux/tools: remove genNVRAM, refs #3012
-rw-r--r--polux/tools/Makefile2
-rw-r--r--polux/tools/genNVRAM/Makefile15
-rwxr-xr-xpolux/tools/genNVRAM/flashboot.sh73
-rw-r--r--polux/tools/genNVRAM/genNVRAM.c301
-rw-r--r--polux/tools/genNVRAM/nvram80.conf11
5 files changed, 1 insertions, 401 deletions
diff --git a/polux/tools/Makefile b/polux/tools/Makefile
index 059e3548c1..1377915a08 100644
--- a/polux/tools/Makefile
+++ b/polux/tools/Makefile
@@ -1,6 +1,6 @@
#
CC := gcc
-OBJ := mtd-utils flashfs genNVRAM mkimagedesc
+OBJ := mtd-utils flashfs mkimagedesc
DIR=$(shell pwd)
export CC
diff --git a/polux/tools/genNVRAM/Makefile b/polux/tools/genNVRAM/Makefile
deleted file mode 100644
index ad033e2eb4..0000000000
--- a/polux/tools/genNVRAM/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-TOPDIR=../..
-LINUX_DIR=$(TOPDIR)/linux-2.6.10
-CFLAGS= -I$(TOPDIR)/include -I$(LINUX_DIR)/include -D__LINUX__
-
-all: genNVRAM
-
-debug: CFLAGS += -g
-debug: all
-
-genNVRAM: genNVRAM.c
- $(CC) $(CFLAGS) -o $@ $<
-
-
-clean:
- @rm *.o *~ genNVRAM -f
diff --git a/polux/tools/genNVRAM/flashboot.sh b/polux/tools/genNVRAM/flashboot.sh
deleted file mode 100755
index 97be3b701c..0000000000
--- a/polux/tools/genNVRAM/flashboot.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-REP=//moulins/CRISTINA/
-TMPNVRAM=C:/cygwin/tmp/nvram
-
-export PATH=.:"$PATH"
-
-if [ $# -lt 2 ]
-then
- echo "Usage: $0 <board> <no> [ <bootloader file > ]"
- exit
-fi
-
-BOARD=$1
-NO=$2
-BFILE=$3
-
-which SPiDProgrammer > /dev/null 2> /dev/null
-if [ "$?" != "0" ]
-then
- echo "Unable to find SPiDProgrammer"
- exit
-fi
-
-which genNVRAM > /dev/null 2> /dev/null
-if [ "$?" != "0" ]
-then
- echo "Unable to find genNVRAM"
- exit
-fi
-
-if [ "$BOARD" = "angelina" -o "$BOARD" = "SPR200-ETH" ]
-then
- BREP="ANGELINA"
- BOARD="SPR200-ETH"
-elif [ "$BOARD" = "sofia" -o "$BOARD" = "SPK200-e" ]
-then
- BREP="CRISTINA3"
- BOARD="SPK200-e"
-elif [ "$BOARD" = "cristina2" -o "$BOARD" = "SPK200-2" ]
-then
- BREP="CRISTINA2"
- BOARD="SPK200-2"
-else
- echo "Board must be angelina, sofia, cristina2, SPR200-ETH, SPK200-e or SPK200-2"
- exit
-fi
-
-if [ -n "$BFILE" ]
-then
- if [ ! -f "$BFILE" ]
- then
- echo "File $BFILE not found."
- exit
- fi
-else
- ls $REP/$BREP/bootloader | grep -o "[0-9]*\.[0-9]*" |sort -r -t . -g -k 1,1 -k 2,2 > /tmp/vers
- read VERSION < /tmp/vers
- BFILE=$REP/$BREP/bootloader/v$VERSION/SPiDBoot-$BOARD.bin
-fi
-
-echo "Generating NVRAM for $BOARD no $NO in $TMPNVRAM"
-genNVRAM $BOARD $NO > $TMPNVRAM
-[ "$?" = "0" ] || exit
-
-echo "Flashing $TMPNVRAM at 0x0e020000"
-SPiDProgrammer -n $TMPNVRAM 0x0e020000 > /dev/null
-[ "$?" = "0" ] || exit
-
-echo "Flashing $BFILE at 0x0e000000"
-SPiDProgrammer -n $BFILE > /dev/null
-[ "$?" = "0" ] || exit
-
-rm -f $TMPNVRAM
diff --git a/polux/tools/genNVRAM/genNVRAM.c b/polux/tools/genNVRAM/genNVRAM.c
deleted file mode 100644
index 68dd140a78..0000000000
--- a/polux/tools/genNVRAM/genNVRAM.c
+++ /dev/null
@@ -1,301 +0,0 @@
-#include <stdio.h>
-#include <regex.h>
-#include <string.h>
-#include <getopt.h>
-#include <unistd.h>
-#include <sys/types.h>
-
-/* we use non arch dependant path to compile even if kernel
- * has not been compiled first;
- * nvram structures of spc200c and spc200e are the same
- */
-#include <asm-arm/arch-spc2XXc/nvram.h>
-
-#define HWADDR_LEN 6
-
-/*
- * Default nvram image
- */
-static spidcom_nvram_t image = {
- .magicWord1 = NVRAM_MAGIC_WORD1,
- .magicWord2 = NVRAM_MAGIC_WORD2,
- .boardNumber = 0,
- .serialNumber = { "1234567890" },
- .sysDescr = { "Spidcom SPC200 EoC modem" },
- .ethPhysAddress = { "\x00\x13\xd7\x00\x00\x00" },
- .plcPhysAddress = { "\x00\x13\xd7\x00\x00\x01" },
- .magicNvram2 = { NVRAM2_MAGIC },
- .boardDesc = { "" },
- .boardId = 0,
- .vendorInfo = { "" },
- .sdramSize = 32,
- .imageOffset0 = (unsigned char*)0x000a0000,
- .imageOffset1 = (unsigned char*)0x00250000,
- .ethPortNum = 1,
- .manufactoryInfo = { "" }
-};
-
-/*
- * Private functions
- */
-static void print_usage(const char *cmd) {
-
- fprintf(stderr, "Usage : %s " \
- "[ --infile conf_file ]" \
- "[ --oufile result_file ]" \
- "[ --serial sn ]" \
- "[ --desc system desc ]" \
- "[ --ether hwaddr ]" \
- "[ --plc hwaddr ]" \
- "[ --afe type ]" \
- "[ --board_desc desc ]" \
- "[ --board_id 0-4 ]" \
- "[ --vendor vendor info ]" \
- "[ --sdram size]" \
- "[ --image0 addr ]" \
- "[ --image1 addr ]" \
- "[ --eth_port number ]" \
- "[ --manufactory info ]\n",
- cmd);
-}
-
-static int str2hwaddr(unsigned char *hw, const char *str) {
-
- /*
- * Little-endian only...
- */
-
- int c;
- unsigned char hwaddr[16];
-
- c = sscanf(str, "%02x:%02x:%02x:%02x:%02x:%02x",
- &hwaddr[0], &hwaddr[1], &hwaddr[2],
- &hwaddr[3], &hwaddr[4], &hwaddr[5]);
-
- memcpy(hw, hwaddr, HWADDR_LEN);
- return (c != HWADDR_LEN);
-}
-
-/*
- * *** Parser ***
- */
-struct parser {
- char label[32];
- int (*func)(char*);
-};
-
-/*
- * Parser functions
- */
-static int parse_serial(char *arg) {
- strncpy(image.serialNumber, arg, sizeof(image.serialNumber));
- return 0;
-}
-static int parse_desc(char *arg) {
- strncpy(image.sysDescr, arg, sizeof(image.sysDescr));
- return 0;
-}
-static int parse_eth(char *arg) {
- return str2hwaddr(image.ethPhysAddress, arg);
-}
-static int parse_plc(char *arg) {
- return str2hwaddr(image.plcPhysAddress, arg);
-}
-static int parse_board_desc(char *arg) {
- strncpy(image.boardDesc, arg, sizeof(image.boardDesc));
- return 0;
-}
-static int parse_board_id(char *arg) {
- return (image.boardId = atoi(arg));
-}
-static int parse_vendor(char *arg) {
- strncpy(image.vendorInfo, arg, sizeof(image.vendorInfo));
- return 0;
-}
-static int parse_sdram(char *arg) {
- return (image.sdramSize = atoi(arg));
-}
-static int parse_image0(char *arg) {
- return sscanf(arg, "0x%08x", &image.imageOffset0);
-}
-static int parse_image1(char *arg) {
- return sscanf(arg, "0x%08x", &image.imageOffset1);
-}
-static int parse_afe_type(char *arg) {
- return (sscanf(arg, "%u", &image.afeType));
-}
-static int parse_eth_port(char *arg) {
- return (sscanf(arg, "%u", &image.ethPortNum));
-}
-static int parse_manufactory(char *arg) {
- strncpy(image.manufactoryInfo, arg, sizeof(image.manufactoryInfo));
- return 0;
-}
-
-static char *chop(char *str)
-{
- int i;
- for(i = strlen(str); i > 0; i--)
- {
- if(str[i] == ' ' || str[i] == '\t' || str[i] == '\n')
- str[i] = '\0';
- else break;
- }
-
- while(*str == ' ' || *str == '\t')
- str++;
-
- return str;
-}
-
-/*
- * Parser tables
- */
-struct parser parse_table[] =
- { { "serial", parse_serial },
- { "description", parse_desc },
- { "ethernet", parse_eth },
- { "plc", parse_plc },
- { "board_desc", parse_board_desc },
- { "board_id", parse_board_id },
- { "vendor", parse_vendor },
- { "sdram", parse_sdram },
- { "image0", parse_image0 },
- { "image1", parse_image1 },
- { "afe_type", parse_afe_type },
- { "eth_port", parse_eth_port },
- { "manufactory", parse_manufactory }};
-
-/*
- * Parser main functions
- */
-static int parse(char *line) {
-
- int i;
- char *plabel, *parg;
-
- parg = line;
-
- /* Separate fields */
- plabel = strsep(&parg, "=");
- if(!parg) return;
-
- /* keyword processing */
- for(i = sizeof(parse_table) / sizeof(struct parser); i--;)
- {
- if(!strcasecmp(parse_table[i].label, chop(plabel)))
- {
- //fprintf(stderr, "found label %s\n", parse_table[i].label);
- parse_table[i].func(chop(parg));
- break;
- }
- }
-
- return 0;
-}
-
-static int parse_file(char* filename)
-{
- FILE *fp;
- char line[256];
-
- if((fp = fopen(filename, "r")) != NULL)
- {
- while(!feof(fp))
- {
- fgets(line, sizeof(line), fp);
- parse(line);
- }
- }
- return 0;
-}
-
-/*
- * Main program
- */
-int main(int argc, char **argv) {
-
- int c, input = 0;
- int opt_index = 0;
- char line[256];
-
- struct option long_opts[] =
- { { "infile", required_argument, NULL, 'i' },
- { "outfile", required_argument, NULL, 'o' },
- { "serial", required_argument, NULL, 's' },
- { "desc", required_argument, NULL, 'd' },
- { "afe", required_argument, NULL, 'a' },
- { "ether", required_argument, NULL, 'e' },
- { "plc", required_argument, NULL, 'p' },
- { "board_desc", required_argument, NULL, 'b' },
- { "board_id", required_argument, NULL, 'B' },
- { "vendor", required_argument, NULL, 'v' },
- { "sdram", required_argument, NULL, 'r' },
- { "image0", required_argument, NULL, '0' },
- { "image1", required_argument, NULL, '1' },
- { "port", required_argument, NULL, 'P' },
- { "manufactory", required_argument, NULL, 'm' }};
-
- while((c = getopt_long_only(argc, argv,
- "i:o:s:d:a:e:p:b:B:v:r:0:1:P:",
- long_opts, &opt_index)) != -1){
-
- switch(c){
- case 'i' : /* config file */
- input = 1; parse_file(optarg); break;
- case 'o' : /* result NVRAM file */
- freopen(optarg, "w", stdout); break;
- case 's' : /* serial */
- strncpy(image.serialNumber, optarg, sizeof(image.serialNumber)); break;
- case 'd' : /* desc */
- strncpy(image.sysDescr, optarg, sizeof(image.sysDescr)); break;
- case 'a' : /* desc */
- sscanf(optarg, "%u", &image.afeType); break;
- case 'e' : /* ether */
- str2hwaddr(image.ethPhysAddress, optarg); break;
- case 'p' : /* plc */
- str2hwaddr(image.plcPhysAddress, optarg); break;
- case 'b' : /* board_desc */
- strncpy(image.boardDesc, optarg, sizeof(image.boardDesc)); break;
- case 'B' : /* board_id */
- image.boardId = atoi(optarg); break;
- case 'v' : /* vendor */
- strncpy(image.vendorInfo, optarg, sizeof(image.vendorInfo)); break;
- case 'r' : /* sdram */
- image.sdramSize = atoi(optarg); break;
- case '0' : /* image0 */
- sscanf(optarg, "0x%08x", &image.imageOffset0); break;
- case '1' : /* image1 */
- sscanf(optarg, "0x%08x", &image.imageOffset1); break;
- case 'P' : /* sdram */
- image.ethPortNum = atoi(optarg); break;
- case 'm' : /* sdram */
- strncpy(image.manufactoryInfo, optarg, sizeof(image.manufactoryInfo)); break;
-
- default :
- print_usage(argv[0]);
- return 1;
- }
- }
-
- /* Check there's no arguments left */
- if (optind < argc)
- {
- printf("Unknown argument %s\n\n", argv[optind]);
- print_usage(argv[0]);
- return -1;
- }
-
- if (!input)
- {
- while ( !feof(stdin) )
- {
- fscanf(stdin,"%s",line);
- parse(line);
- }
- }
-
- /* Output image */
- write(fileno(stdout), &image, sizeof(image));
- return 0;
-}
diff --git a/polux/tools/genNVRAM/nvram80.conf b/polux/tools/genNVRAM/nvram80.conf
deleted file mode 100644
index 105bd095bd..0000000000
--- a/polux/tools/genNVRAM/nvram80.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-serial=999999
-description=spc200 slave
-plc=00:13:d7:20:03:80
-ethernet=00:13:d7:20:03:81
-board_desc=dev_board
-board_id=224
-vendor=spidcom
-sdram=32
-afe_type=16
-manufactory=nothing
-eth_port=0