1
0
mirror of git://projects.qi-hardware.com/xburst-tools.git synced 2024-11-01 18:31:54 +02:00

delete repeat code

This commit is contained in:
xiangfu 2009-05-16 02:57:10 +00:00
parent 470a2548f7
commit e7a23fd7b6
8 changed files with 60 additions and 159 deletions

View File

@ -110,6 +110,7 @@ out:
return res; return res;
} }
/* after upload stage2. must init device */
int init_cfg() int init_cfg()
{ {
if (usb_get_ingenic_cpu(&ingenic_dev) < 3) { if (usb_get_ingenic_cpu(&ingenic_dev) < 3) {
@ -526,6 +527,14 @@ int nand_program_file(struct nand_in_t *nand_in,
return 1; return 1;
} }
int nand_program_file_planes(struct nand_in_t *nand_in,
struct nand_out_t *nand_out,
char *fname)
{
printf(" \n not implement yet !");
return -1;
}
int init_nand_in(void) int init_nand_in(void)
{ {
nand_in.buf = code_buf; nand_in.buf = code_buf;
@ -574,9 +583,9 @@ int nand_prog(void)
printf("%s", help); printf("%s", help);
if (hand.nand_plane > 1) if (hand.nand_plane > 1)
;/* nand_program_file_planes(&nand_in,&nand_out, image_file); */ nand_program_file_planes(&nand_in, &nand_out, image_file);
else else
nand_program_file(&nand_in,&nand_out, image_file); nand_program_file(&nand_in, &nand_out, image_file);
#ifdef CONFIG_NAND_OUT #ifdef CONFIG_NAND_OUT
printf("\n Flash check result:"); printf("\n Flash check result:");
@ -584,16 +593,7 @@ int nand_prog(void)
printf(" %d", (nand_out.status)[i]); printf(" %d", (nand_out.status)[i]);
#endif #endif
printf("\n nprog %d %s %d %d %d", nand_in.start,
image_file,
nand_in.dev,
(nand_in.cs_map)[atoi(com_argv[4])],
nand_in.option);
printf("\n not implement yet!! just test");
return 1; return 1;
} }
int nand_query(void) int nand_query(void)

View File

@ -13,49 +13,56 @@ CC := mipsel-linux-gcc
AR := mipsel-linux-ar rcsv AR := mipsel-linux-ar rcsv
LD := mipsel-linux-ld LD := mipsel-linux-ld
OBJCOPY := mipsel-linux-objcopy OBJCOPY := mipsel-linux-objcopy
NM := mipsel-linux-nm NM := mipsel-linux-nm
OBJDUMP := mipsel-linux-objdump OBJDUMP := mipsel-linux-objdump
CFLAGS := -mips32 -O2 -FPIC \ CFLAGS := -mips32 -O2 -FPIC \
-fno-exceptions -ffunction-sections \ -fno-exceptions -ffunction-sections \
-fomit-frame-pointer -msoft-float -G 0 -fomit-frame-pointer -msoft-float -G 0
#CFLAGS := -mips32 -O2 -FPIC -mno-abicalls -fno-builtin \ #CFLAGS := -mips32 -O2 -FPIC -mno-abicalls -fno-builtin \
LDFLAGS := -nostdlib -T target.ld $(CFLAGS) LDFLAGS := -nostdlib -T target.ld $(CFLAGS)
LIBS := -lstdc++ -lc -lm -lgcc LIBS := -lstdc++ -lc -lm -lgcc
USBBOOTDIR := . USBBOOTDIR := .
LIBDIR := LIBDIR :=
#SOURCES += $(wildcard $(USBBOOTDIR)/usb_boot/*.c) #SOURCES += $(wildcard $(USBBOOTDIR)/usb_boot/*.c)
SOURCES := ./usb_boot/main.c ./usb_boot/udc.c ./usb_boot/cache.c ./usb_boot/serial.c ./usb_boot/boothandler.c SOURCES := ./usb_boot/main.c \
./usb_boot/udc.c \
./usb_boot/cache.c \
./usb_boot/serial.c \
./usb_boot/boothandler.c
SOURCES += $(wildcard $(USBBOOTDIR)/nandflash/*.c) SOURCES += $(wildcard $(USBBOOTDIR)/nandflash/*.c)
SOURCES += $(wildcard $(USBBOOTDIR)/usb_boot/*.S) SOURCES += $(wildcard $(USBBOOTDIR)/usb_boot/*.S)
HEADS := $(SOCDIR)/head.S HEADS := $(SOCDIR)/head.S
CFLAGS += -I$(SOCDIR)/include -I$(USBBOOTDIR)/usb_boot -I$(USBBOOTDIR)/nandflash -I$(USBBOOTDIR)/include CFLAGS += -I$(SOCDIR)/include -I$(USBBOOTDIR)/usb_boot \
-I$(USBBOOTDIR)/nandflash -I$(USBBOOTDIR)/include \
-I..
OBJS := $(addsuffix .o , $(basename $(notdir $(SOURCES)))) OBJS := $(addsuffix .o , $(basename $(notdir $(SOURCES))))
HEADO := $(addsuffix .o , $(basename $(notdir $(HEADS)))) HEADO := $(addsuffix .o , $(basename $(notdir $(HEADS))))
TARGET := usb_boot TARGET := usb_boot
APP := $(TARGET).elf APP := $(TARGET).elf
VPATH := $(ARCHDIR) $(SOCDIR) $(OSDIR) $(USBBOOTDIR)/usb_boot $(USBBOOTDIR)/norflash $(USBBOOTDIR)/nandflash VPATH := $(ARCHDIR) $(SOCDIR) $(OSDIR) $(USBBOOTDIR)/usb_boot \
$(USBBOOTDIR)/norflash $(USBBOOTDIR)/nandflash
all: $(APP) all: $(APP)
$(OBJCOPY) -O binary $(APP) $(TARGET).bin $(OBJCOPY) -O binary $(APP) $(TARGET).bin
$(OBJDUMP) -D $(APP) > $(TARGET).dump $(OBJDUMP) -D $(APP) > $(TARGET).dump
$(NM) $(APP) | sort > $(TARGET).sym $(NM) $(APP) | sort > $(TARGET).sym
$(OBJDUMP) -h $(APP) > $(TARGET).map $(OBJDUMP) -h $(APP) > $(TARGET).map
cp usb_boot.bin $(FLASH_TOOL_PATH) cp usb_boot.bin $(FLASH_TOOL_PATH)
$(APP): $(HEADO) $(OBJS) $(EXTLIBS) $(APP): $(HEADO) $(OBJS) $(EXTLIBS)
$(CC) $(LDFLAGS) $^ -o $@ $(CC) $(LDFLAGS) $^ -o $@
.c.o: .c.o:

View File

@ -1,56 +0,0 @@
#ifndef __HAND_H__
#define __HAND_H__
struct fw_args_t {
/* CPU ID */
unsigned int cpu_id;
/* PLL args */
unsigned char ext_clk;
unsigned char cpu_speed;
unsigned char phm_div;
unsigned char use_uart;
unsigned int boudrate;
/* SDRAM args */
unsigned char bus_width;
unsigned char bank_num;
unsigned char row_addr;
unsigned char col_addr;
unsigned char is_mobile;
unsigned char is_busshare;
/* debug args */
unsigned char debug_ops;
unsigned char pin_num;
unsigned int start;
unsigned int size;
/* for align */
/* unsigned char align1; */
/* unsigned char align2; */
} __attribute__((packed));
struct hand_t {
/* nand flash info */
int pt; /* cpu type */
unsigned int nand_bw; /* bus width */
unsigned int nand_rc; /* row cycle */
unsigned int nand_ps; /* page size */
unsigned int nand_ppb; /* page number per block */
unsigned int nand_force_erase;
unsigned int nand_pn; /* page number in total */
unsigned int nand_os; /* oob size */
unsigned int nand_eccpos;
unsigned int nand_bbpage;
unsigned int nand_bbpos;
unsigned int nand_plane;
unsigned int nand_bchbit;
unsigned int nand_wppin;
unsigned int nand_bpc; /* block number per chip */
struct fw_args_t fw_args;
} __attribute__((packed));
#endif /* __HAND_H__ */

View File

@ -1,11 +1,29 @@
#ifndef __USB_BOOT_H /*
#define __USB_BOOT_H * "Ingenic flash tool" - flash the Ingenic CPU via USB
*
* (C) Copyright 2009
* Author: Xiangfu Liu <xiangfu.z@gmail.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 3 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA
*/
//#define dprintf(x...) #ifndef __USB_BOOT_H__
//printf(x); #define __USB_BOOT_H__
#define BULK_OUT_BUF_SIZE 0x21000 //buffer size : #define BULK_OUT_BUF_SIZE 0x21000
#define BULK_IN_BUF_SIZE 0x21000 // too #define BULK_IN_BUF_SIZE 0x21000
enum UDC_STATE enum UDC_STATE
{ {
@ -14,7 +32,7 @@ enum UDC_STATE
BULK_OUT BULK_OUT
}; };
enum USB_JZ4740_REQUEST //add for USB_BOOT enum USB_JZ4740_REQUEST /* add for USB_BOOT */
{ {
VR_GET_CUP_INFO = 0, VR_GET_CUP_INFO = 0,
VR_SET_DATA_ADDERSS, VR_SET_DATA_ADDERSS,
@ -28,71 +46,4 @@ enum USB_JZ4740_REQUEST //add for USB_BOOT
VR_CONFIGRATION VR_CONFIGRATION
}; };
enum NOR_OPS_TYPE #endif /* __USB_BOOT_H__ */
{
NOR_INIT = 0,
NOR_QUERY,
NOR_WRITE,
NOR_ERASE_CHIP,
NOR_ERASE_SECTOR
};
enum NOR_FLASH_TYPE
{
NOR_AM29 = 0,
NOR_SST28,
NOR_SST39x16,
NOR_SST39x8
};
enum NAND_OPS_TYPE
{
NAND_QUERY = 0,
NAND_INIT,
NAND_MARK_BAD,
NAND_READ_OOB,
NAND_READ_RAW,
NAND_ERASE,
NAND_READ,
NAND_PROGRAM,
NAND_READ_TO_RAM
};
enum SDRAM_OPS_TYPE
{
SDRAM_LOAD,
};
enum DATA_STRUCTURE_OB
{
DS_flash_info ,
DS_hand
};
/*typedef enum _USB_BOOT_STATUS
{
USB_NO_ERR =0 ,
GET_CPU_INFO_ERR,
SET_DATA_ADDRESS_ERR,
SET_DATA_LENGTH_ERR,
FLUSH_CAHCES_ERR,
PROGRAM_START1_ERR,
PROGRAM_START2_ERR,
NOR_OPS_ERR,
NAND_OPS_ERR,
NOR_FLASHTYPE_ERR,
OPS_NOTSUPPORT_ERR
}USB_BOOT_STATUS;*/
enum OPTION
{
OOB_ECC,
OOB_NO_ECC,
NO_OOB,
};
#endif

View File

@ -1,7 +1,7 @@
#include "nandflash.h" #include "nandflash.h"
#include "jz4740.h" #include "jz4740.h"
#include "usb_boot.h" #include "usb_boot.h"
#include "hand.h" #include "usb_boot_defines.h"
#define __nand_enable() (REG_EMC_NFCSR |= EMC_NFCSR_NFE1 | EMC_NFCSR_NFCE1) #define __nand_enable() (REG_EMC_NFCSR |= EMC_NFCSR_NFE1 | EMC_NFCSR_NFCE1)
#define __nand_disable() (REG_EMC_NFCSR &= ~(EMC_NFCSR_NFCE1)) #define __nand_disable() (REG_EMC_NFCSR &= ~(EMC_NFCSR_NFCE1))

View File

@ -1,7 +1,7 @@
#include "jz4750.h" #include "jz4750.h"
#include "nandflash.h" #include "nandflash.h"
#include "usb_boot.h" #include "usb_boot.h"
#include "hand.h" #include "usb_boot_defines.h"
#define dprintf(n...) #define dprintf(n...)

View File

@ -4,7 +4,7 @@
#include "usb.h" #include "usb.h"
#include "error.h" #include "error.h"
#include "usb_boot.h" #include "usb_boot.h"
#include "hand.h" #include "usb_boot_defines.h"
#include "nandflash.h" #include "nandflash.h"
#include "udc.h" #include "udc.h"
#define dprintf(x) serial_puts(x) #define dprintf(x) serial_puts(x)

View File

@ -1,8 +1,7 @@
/* special main file! /* special main file!
* do not edit! * do not edit!
*/ */
//#include "jz4740.h" #include "usb_boot_defines.h"
#include "hand.h"
extern void usb_main(); extern void usb_main();
unsigned int start_addr,got_start,got_end; unsigned int start_addr,got_start,got_end;