Commit 0b69e1cd authored by Federico Vaga's avatar Federico Vaga

usb-loader: little style review

Signed-off-by: 's avatarFederico Vaga <federico.vaga@gmail.com>
parent 9fa122e1
...@@ -176,8 +176,8 @@ uint32_t samba_read (uint32_t addr, int size, int timeout) ...@@ -176,8 +176,8 @@ uint32_t samba_read (uint32_t addr, int size, int timeout)
tstart = sys_get_clock_usec(); tstart = sys_get_clock_usec();
for(i=0;i<1024 && c!='>';) for(i=0;i<1024 && c!='>';)
{ {
if(serial_data_avail()) if(serial_data_avail())
{ {
tmpbuf[i]=c=serial_read_byte(); tmpbuf[i]=c=serial_read_byte();
...@@ -194,7 +194,7 @@ uint32_t samba_read (uint32_t addr, int size, int timeout) ...@@ -194,7 +194,7 @@ uint32_t samba_read (uint32_t addr, int size, int timeout)
sscanf(tmpbuf, "%x", &rval); sscanf(tmpbuf, "%x", &rval);
// fprintf(stderr,"samba_read: %x\n", rval); // fprintf(stderr,"samba_read: %x\n", rval);
return rval; return rval;
} }
/** /**
...@@ -282,7 +282,7 @@ static void samba_load_applet(char *applet_name, uint32_t address) ...@@ -282,7 +282,7 @@ static void samba_load_applet(char *applet_name, uint32_t address)
static void mbox_write(uint32_t base, uint32_t offset, uint32_t value) static void mbox_write(uint32_t base, uint32_t offset, uint32_t value)
{ {
samba_write(base+offset, value, 4, SERIAL_TIMEOUT); samba_write(base+offset, value, 4, SERIAL_TIMEOUT);
} }
void samba_run(uint32_t addr, int timeout) void samba_run(uint32_t addr, int timeout)
{ {
...@@ -353,8 +353,8 @@ int ddr_init(int board_rev) ...@@ -353,8 +353,8 @@ int ddr_init(int board_rev)
{ {
if(board_rev == BOARD_REV_V2) if(board_rev == BOARD_REV_V2)
samba_load_applet("isp-extram-at91sam9263", INTERNAL_SRAM_BUF); samba_load_applet("isp-extram-at91sam9263", INTERNAL_SRAM_BUF);
else if(board_rev == BOARD_REV_V3) else if(board_rev == BOARD_REV_V3)
samba_load_applet("isp-extram-at91sam9g45", INTERNAL_SRAM_BUF); samba_load_applet("isp-extram-at91sam9g45", INTERNAL_SRAM_BUF);
mbox_write(INTERNAL_SRAM_BUF, MBOX_COMMAND, APPLET_CMD_INIT); mbox_write(INTERNAL_SRAM_BUF, MBOX_COMMAND, APPLET_CMD_INIT);
...@@ -452,7 +452,7 @@ void mem_check(int type) ...@@ -452,7 +452,7 @@ void mem_check(int type)
mbox_write(INTERNAL_SRAM_BUF, MBOX_COMMAND, APPLET_CMD_LIST_BAD_BLOCKS); mbox_write(INTERNAL_SRAM_BUF, MBOX_COMMAND, APPLET_CMD_LIST_BAD_BLOCKS);
samba_run(INTERNAL_SRAM_BUF, 0); samba_run(INTERNAL_SRAM_BUF, 0);
if((samba_read(INTERNAL_SRAM_BUF + MBOX_COMMAND, 4, 10000000)) != ~APPLET_CMD_LIST_BAD_BLOCKS) die("invalid response from applet write"); if((samba_read(INTERNAL_SRAM_BUF + MBOX_COMMAND, 4, 10000000)) != ~APPLET_CMD_LIST_BAD_BLOCKS) die("invalid response from applet write");
if((samba_read(INTERNAL_SRAM_BUF + MBOX_STATUS, 4, 10000000)) != APPLET_SUCCESS) die("invalid response from applet status"); if((samba_read(INTERNAL_SRAM_BUF + MBOX_STATUS, 4, 10000000)) != APPLET_SUCCESS) die("invalid response from applet status");
} }
void mem_full_erase(int type) void mem_full_erase(int type)
...@@ -488,7 +488,7 @@ int mem_write(int type, uint32_t offset, uint32_t buf_addr, uint32_t size) ...@@ -488,7 +488,7 @@ int mem_write(int type, uint32_t offset, uint32_t buf_addr, uint32_t size)
samba_run(INTERNAL_SRAM_BUF, timeout); samba_run(INTERNAL_SRAM_BUF, timeout);
fprintf(stderr,"F"); fprintf(stderr,"F");
if(type == MEMTYPE_DDR) // booting a barebox/kernel will fuck up USB, so we'll never get any response if(type == MEMTYPE_DDR) // booting a barebox/kernel will fuck up USB, so we'll never get any response
return 0; return 0;
...@@ -568,15 +568,27 @@ main(int argc, char *argv[]) ...@@ -568,15 +568,27 @@ main(int argc, char *argv[])
//Parse options //Parse options
while ((opt = getopt (argc, argv, "m:p:r:ecsh")) != -1) while ((opt = getopt (argc, argv, "m:p:r:ecsh")) != -1)
switch (opt) switch (opt) {
{ case 'm':
case 'm': mode_str = optarg; break; mode_str = optarg;
case 'p': serial_port = optarg; break; break;
case 'e': erase = 1; break; case 'p':
case 'c': check = 1; break; serial_port = optarg;
case 's': scrub = 1; break; break;
case 'r': run = 1;sscanf(optarg,"%i", &run_addr); break; case 'e':
erase = 1;
break;
case 'c':
check = 1;
break;
case 's':
scrub = 1;
break;
case 'r':
run = 1;
sscanf(optarg,"%i", &run_addr);
break;
case 'h': case 'h':
case '?': case '?':
show_help(serial_port); show_help(serial_port);
...@@ -607,11 +619,13 @@ main(int argc, char *argv[]) ...@@ -607,11 +619,13 @@ main(int argc, char *argv[])
fprintf(stderr,"Initializing DDR > Done\n\n"); fprintf(stderr,"Initializing DDR > Done\n\n");
//Obtain the memory type mode //Obtain the memory type mode
if(strcmp(mode_str,"nand")==0 || strcmp(mode_str,"nf")==0) type=MEMTYPE_NAND; if(strcmp(mode_str,"nand")==0 || strcmp(mode_str,"nf")==0) {
else if(strcmp(mode_str,"dataflash")==0 || strcmp(mode_str,"df")==0) type=MEMTYPE_DF; type=MEMTYPE_NAND;
else if(strcmp(mode_str,"ddr")==0 || strcmp(mode_str,"ram")==0) type=MEMTYPE_DDR; } else if(strcmp(mode_str,"dataflash")==0 || strcmp(mode_str,"df")==0) {
else type=MEMTYPE_DF;
{ } else if(strcmp(mode_str,"ddr")==0 || strcmp(mode_str,"ram")==0) {
type=MEMTYPE_DDR;
} else {
fprintf(stderr,"Bad memory type %s...\n\n",mode_str); fprintf(stderr,"Bad memory type %s...\n\n",mode_str);
show_help(serial_port); show_help(serial_port);
return 0; return 0;
...@@ -619,13 +633,18 @@ main(int argc, char *argv[]) ...@@ -619,13 +633,18 @@ main(int argc, char *argv[])
//Init the memory (except DDR which is already init) //Init the memory (except DDR which is already init)
if(type!=MEMTYPE_DDR) memflash_init(type, board_rev); if(type!=MEMTYPE_DDR)
memflash_init(type, board_rev);
//Run the action //Run the action
if(erase) mem_full_erase(type); if(erase)
if(check) mem_check(type); mem_full_erase(type);
if(scrub && type==MEMTYPE_NAND) nand_scrub(); if(check)
if(nFile>0) mem_program(type,nFile,(const sndfile*)&filearray); mem_check(type);
if(scrub && type==MEMTYPE_NAND)
nand_scrub();
if(nFile>0)
mem_program(type,nFile,(const sndfile*)&filearray);
if(run) if(run)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment