diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..7422b0b4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.bin +output diff --git a/README.md b/README.md index 4be3960d..b0ef1b38 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # u-boot-ingenic -U-Boot for Ingenic Xburst T10-T31 SoC's +U-Boot for Ingenic Xburst T10-T31 chipsets. + +``` +bash build.sh +``` diff --git a/arch/mips/config.mk b/arch/mips/config.mk index 513c8ad0..2764a442 100644 --- a/arch/mips/config.mk +++ b/arch/mips/config.mk @@ -21,7 +21,7 @@ # MA 02111-1307 USA # -CROSS_COMPILE ?= mips-linux-gnu- +CROSS_COMPILE ?= mipsel-linux-gnu- # Handle special prefix in ELDK 4.0 toolchain ifneq (,$(findstring 4KCle,$(CROSS_COMPILE))) @@ -39,9 +39,6 @@ endif # Default to EB if no endianess is configured ENDIANNESS ?= -EB -PLATFORM_CPPFLAGS += -msoft-float -std=gnu89 -PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ - # # From Linux arch/mips/Makefile # @@ -63,8 +60,9 @@ PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ # to RAM, unless we're building SPL which doesn't relocate. $28 is always # used as gp. # + +PLATFORM_CPPFLAGS += -std=gnu89 -DCONFIG_MIPS -D__MIPS__ PLATFORM_CPPFLAGS += -G 0 $(ENDIANNESS) -PLATFORM_CPPFLAGS += -msoft-float PLATFORM_LDFLAGS += -G 0 -static -n -nostdlib $(ENDIANNESS) PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections LDFLAGS_FINAL += --gc-sections diff --git a/build.sh b/build.sh index 91f69182..f99a15e4 100755 --- a/build.sh +++ b/build.sh @@ -1,21 +1,5 @@ -#!/bin/sh -e - -export ARCH=mips -export CROSS_PATH="../../../../pc/tools/toolchain/gcc_540/mips-gcc540-glibc222-32bit-r3.3.0/bin" -export CROSS_COMPILE="$(readlink -f $CROSS_PATH)/mips-linux-gnu-" - -# NOR -# T31N make isvp_t31_sfcnor -# T31L make isvp_t31_sfcnor_lite -# T31X make isvp_t31_sfcnor_ddr128M -# T31A make isvp_t31a_sfcnor_ddr128M -# T31AL make isvp_t31al_sfcnor_ddr128M -# MMC -# T31N make isvp_t31_msc0 -# T31L make isvp_t31_msc0_lite -# T31X make isvp_t31_msc0_ddr128M -# T31A make isvp_t31a_msc0_ddr128M -# T31AL make isvp_t31al_msc0_ddr128M +#!/bin/bash +output=output declare -A cfg cfg[t10]="isvp_t10_sfcnor" @@ -23,29 +7,24 @@ cfg[t10l]="isvp_t10_sfcnor_lite" cfg[t20]="isvp_t20_sfcnor" cfg[t20l]="isvp_t20_sfcnor_lite" cfg[t20x]="isvp_t20_sfcnor_ddr128M" -cfg[t31n]="isvp_t31_sfcnor" -cfg[t31l]="isvp_t31_sfcnor_lite" -cfg[t31x]="isvp_t31_sfcnor_ddr128M" -cfg[t31a]="isvp_t31a_sfcnor_ddr128M" -cfg[t31al]="isvp_t31al_sfcnor_ddr128M" -cfg[t31lc]="isvp_t31lc_sfcnor" cfg[t21n]="isvp_t21_sfcnor" cfg[t30n]="isvp_t30_sfcnor" cfg[t30l]="isvp_t30_sfcnor_lite" cfg[t30x]="isvp_t30_sfcnor_ddr128M" cfg[t30a]="isvp_t30a_sfcnor_ddr128M" cfg[t30a1]="isvp_t30a1_sfcnor_ddr128M" +cfg[t31n]="isvp_t31_sfcnor" +cfg[t31l]="isvp_t31_sfcnor_lite" +cfg[t31x]="isvp_t31_sfcnor_ddr128M" +cfg[t31a]="isvp_t31a_sfcnor_ddr128M" +cfg[t31al]="isvp_t31al_sfcnor_ddr128M" +cfg[t31lc]="isvp_t31lc_sfcnor" +rm -rf $output +mkdir -p $output -OUTPUTDIR="${HOME}/uboot" -mkdir -p ${OUTPUTDIR} 2>&1 > /dev/null - -for soc in "${!cfg[@]}" ;do - -make distclean -make ${cfg[$soc]} -make -j`nproc` - -cp u-boot-with-spl.bin ${OUTPUTDIR}/u-boot-${soc}-universal.bin - +for soc in ${!cfg[@]}; do + make ${cfg[$soc]} -j8 + cp u-boot-lzo-with-spl.bin $output/u-boot-${soc}-nor.bin + make distclean done diff --git a/common/cmd_sdupdate.c b/common/cmd_sdupdate.c index 01e1160a..e40c5f20 100755 --- a/common/cmd_sdupdate.c +++ b/common/cmd_sdupdate.c @@ -131,7 +131,6 @@ static int au_check_header_valid(int idx, long nbytes) unsigned long checksum; char env[20]; - char auversion[20]; hdr = (image_header_t *)LOAD_ADDR; /* check the easy ones first */ @@ -277,7 +276,6 @@ static int update_to_flash(void) { int i = 0; long sz; - int res, cnt; int uboot_updated = 0; int image_found = 0; @@ -334,8 +332,7 @@ static int update_to_flash(void) /* this is really not a good idea, but it's what the */ /* customer wants. */ - cnt = 0; - res = au_do_update(i, sz); + au_do_update(i, sz); if (LOAD_ID != -1) break; @@ -357,7 +354,6 @@ int do_auto_update(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { block_dev_desc_t *stor_dev; int old_ctrlc; - int j; int state = -1; long start = -1, end = 0; diff --git a/common/cmd_sf.c b/common/cmd_sf.c index bd6b253e..2e0656fa 100644 --- a/common/cmd_sf.c +++ b/common/cmd_sf.c @@ -131,6 +131,32 @@ static int do_spi_flash_probe(int argc, char * const argv[]) spi_flash_free(flash); flash = new; + char buf[64]; + unsigned int magic, bytes; + + if (spi_flash_read(flash, CONFIG_ENV_ROOTADDR, sizeof(buf), buf)) { + printf("Failed to read from SPI flash\n"); + return 1; + } + + memcpy(&magic, &buf[0], sizeof(magic)); + memcpy(&bytes, &buf[40], sizeof(bytes)); + + if (magic == 0x73717368) { + if (bytes + 0x1000 < 0x500000) { + setenv("rootmtd", "5120k"); + } else { + setenv("rootmtd", "8192k"); + } + } + + ulong file = getenv_ulong("filesize", 16, 0); + if (file < 0x500000) { + setenv("rootsize", "0x500000"); + } else { + setenv("rootsize", "0x800000"); + } + return 0; } @@ -515,7 +541,7 @@ static int do_spi_flash(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[ done: #ifdef PRINT_TIME end = get_timer(0); - printf("--->%s spend %d ms\n",cmd,end - start); + printf("---> %s spend %d ms\n",cmd,end - start); #endif if (ret != -1) diff --git a/common/main.c b/common/main.c index 78520fac..d818eb5b 100644 --- a/common/main.c +++ b/common/main.c @@ -37,6 +37,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -410,6 +411,11 @@ static void process_boot_delay(void) debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : ""); + if (mmc_get_dev(0) && !run_command(LOAD_SCRIPT0, 0)) { + run_command("source", 0); + return; + } + if (bootdelay != -1 && s && !abortboot(bootdelay)) { #ifdef CONFIG_AUTOBOOT_KEYED int prev = disable_ctrlc(1); /* disable Control C checking */ diff --git a/common/spl/spl_sfc_nor.c b/common/spl/spl_sfc_nor.c index 0cd7cfbe..f90d47e4 100644 --- a/common/spl/spl_sfc_nor.c +++ b/common/spl/spl_sfc_nor.c @@ -105,7 +105,7 @@ static int sfc_read_data(unsigned int *data, unsigned int len) static int sfc_read(unsigned int addr, unsigned int addr_plus, unsigned int addr_len, unsigned int *data, unsigned int len) { - unsigned int cmd, ret, qread[1] = {0}, tmp; + unsigned int cmd, ret; jz_sfc_writel(STOP, SFC_TRIG); jz_sfc_writel(FLUSH, SFC_TRIG); @@ -123,7 +123,7 @@ static int sfc_read(unsigned int addr, unsigned int addr_plus, return 0; } -void sfc_init() +void sfc_init(void) { unsigned int tmp; diff --git a/drivers/gpio/jz_gpio_common.c b/drivers/gpio/jz_gpio_common.c index c2faaa02..76804baf 100644 --- a/drivers/gpio/jz_gpio_common.c +++ b/drivers/gpio/jz_gpio_common.c @@ -170,6 +170,7 @@ int gpio_get_value(unsigned gpio) return pca953x_get_value(gpio); #endif } + return 0; } int gpio_get_flag(unsigned int gpio) diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c index eb280790..3bdd08b4 100644 --- a/drivers/mtd/spi/spi_flash.c +++ b/drivers/mtd/spi/spi_flash.c @@ -589,8 +589,6 @@ struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, if (!flash) { printf("SF: Unsupported manufacturer %02x\n", *idp); goto err_manufacturer_probe; - }else{ - printf("the manufacturer %02x\n", *idp); } #ifdef CONFIG_SPI_FLASH_BAR @@ -618,8 +616,8 @@ struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, print_size(flash->size, ""); #endif if (flash->memory_map) - printf(", mapped at %p", flash->memory_map); - puts("\n"); + printf(", mapped at %p\n", flash->memory_map); + #ifndef CONFIG_SPI_FLASH_BAR if (flash->size > SPI_FLASH_16MB_BOUN) { puts("SF: Warning - Only lower 16MiB accessible,"); diff --git a/drivers/net/SynopGMAC_Dev.c b/drivers/net/SynopGMAC_Dev.c index 14ceb1de..f032d7a4 100644 --- a/drivers/net/SynopGMAC_Dev.c +++ b/drivers/net/SynopGMAC_Dev.c @@ -1109,7 +1109,10 @@ s32 synopGMAC_search_phy (synopGMACdevice * gmacdev) { status += synopGMAC_read_phy_reg((u32 *)gmacdev->MacBase,phy_id, PHY_ID_HI_REG, &id1); status += synopGMAC_read_phy_reg((u32 *)gmacdev->MacBase,phy_id, PHY_ID_LOW_REG, &id2); if ((!status)&&(id2 != 0xffff)) { - printf("====>phy %d:0x%x-0x%x found\n", phy_id, id1, id2); + if ((0x0 == id1) && (0x0 == id2)) { + return -ESYNOPGMACPHYERR; + } + printf("====>phy %d: 0x%x-0x%x found\n", phy_id, id1, id2); if ((0x0 == id1) && ((0x128 == id2) || (0x118 == id2))) { status = synopGMAC_write_phy_reg((u32 *)gmacdev->MacBase, 0, 0x1e, 0x50); status = synopGMAC_read_phy_reg((u32 *)gmacdev->MacBase, 0, 0x1f, &data); diff --git a/drivers/net/jz4775-9161.c b/drivers/net/jz4775-9161.c index 517179c1..f4d2756c 100644 --- a/drivers/net/jz4775-9161.c +++ b/drivers/net/jz4775-9161.c @@ -435,9 +435,6 @@ static int jz_init(struct eth_device* dev, bd_t * bd) #endif synopGMAC_check_phy_init(gmacdev); - u16 data; - s32 status = -ESYNOPGMACNOERR; - jz47xx_mac_configure(); /* setup tx_desc */ for (i = 0; i < NUM_TX_DESCS; i++) { @@ -506,9 +503,6 @@ int jz_net_initialize(bd_t *bis) struct eth_device *dev; u32 cpm_mphyc = 0; int phy_id; - u16 data; - s32 status = -ESYNOPGMACNOERR; - clk_set_rate(MACPHY,50000000); udelay(50000); @@ -613,7 +607,7 @@ int jz_net_initialize(bd_t *bis) if (phy_id >= 0) { gmacdev->PhyBase = phy_id; } else { - printf("====>PHY not found!"); + printf("====>PHY not found!\n"); } #endif //CONFIG_NET_PHY_TYPE udelay(100000); @@ -684,8 +678,7 @@ static int do_ethphy(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) if(status) { printf("%s,%d:read mac register error\n", __func__, __LINE__); } - printf("phy read 0x%x = 0x%x\n", - addr, data); + printf("phy read 0x%lx = 0x%x\n", addr, data); } else if (strcmp(cmd, "reset") == 0) { #ifdef CONFIG_GPIO_IP101G_RESET @@ -717,8 +710,7 @@ static int do_ethphy(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) } s32 status = -ESYNOPGMACNOERR; - printf("phy write 0x%x = 0x%x\n", - addr, data); + printf("phy write 0x%lx = 0x%x\n", addr, data); status = synopGMAC_write_phy_reg((u32 *)gmacdev->MacBase, gmacdev->PhyBase, addr, data); if(status) { printf("%s,%d:write phy register error\n", __func__, __LINE__); diff --git a/drivers/spi/jz_sfc_nor.c b/drivers/spi/jz_sfc_nor.c index d2a358d4..00fcc908 100644 --- a/drivers/spi/jz_sfc_nor.c +++ b/drivers/spi/jz_sfc_nor.c @@ -464,8 +464,11 @@ static int sfc_read(unsigned int addr, unsigned int addr_plus, } #endif +#undef CPM_SSICDR +#undef CPM_CLKGR0 #define CPM_SSICDR (0xb0000000 + 0x74) #define CPM_CLKGR0 (0xb0000000 + 0x20) + int sfc_init(void ) { unsigned int i; @@ -978,7 +981,6 @@ void sfc_nor_RDID(unsigned int *idcode) static void dump_norflash_params(void) { - int i; printf(" =================================================\n"); printf(" ====== gparams->name = %s\n",gparams.name); printf(" ====== gparams->id_manufactory = %x\n",gparams.id_manufactory); @@ -1091,10 +1093,7 @@ int sfc_nor_init(unsigned int idcode) int sfc_nor_read(struct spi_flash *flash, unsigned int src_addr, unsigned int count,unsigned int dst_addr) { - - int i; int ret = 0; - flag = 0; #ifdef CONFIG_SPI_QUAD @@ -1120,8 +1119,6 @@ int sfc_nor_read(struct spi_flash *flash, unsigned int src_addr, unsigned int co int sfc_nor_write(struct spi_flash *flash, unsigned int src_addr, unsigned int count,unsigned int dst_addr) { - - int i; int ret = 0; #ifdef CONFIG_SPI_QUAD @@ -1153,10 +1150,8 @@ int sfc_nor_write(struct spi_flash *flash, unsigned int src_addr, unsigned int c int sfc_nor_erase(struct spi_flash *flash, unsigned int src_addr, unsigned int count) { - int i; int ret = 0; - #ifdef CONFIG_SPI_QUAD sfc_quad_mode = 1; #endif diff --git a/include/configs/isvp_common.h b/include/configs/isvp_common.h index 471697ff..a4b62a6e 100644 --- a/include/configs/isvp_common.h +++ b/include/configs/isvp_common.h @@ -1,118 +1,111 @@ +#undef CONFIG_BOOTARGS +#undef CONFIG_BOOTCOMMAND + +#undef CONFIG_ENV_OFFSET +#undef CONFIG_ENV_SECT_SIZE +#undef CONFIG_ENV_SIZE +#undef CONFIG_SFC_MIN_ALIGN + +#undef CONFIG_SYS_BOOTPARAMS_LEN +#undef CONFIG_SYS_CBSIZE +#undef CONFIG_SYS_LOAD_ADDR +#undef CONFIG_SYS_MONITOR_LEN +#undef CONFIG_SYS_PROMPT + +#undef CONFIG_IPADDR +#undef CONFIG_GATEWAYIP +#undef CONFIG_SERVERIP +#undef CONFIG_ETHADDR + #ifdef __CONFIG_ISVP_H__ - #define CONFIG_SOC "t10" +#define CONFIG_SOC "t10" #elif defined(__CONFIG_ISVP_T20_H__) - #define CONFIG_SOC "t20" +#define CONFIG_SOC "t20" #elif defined(__CONFIG_ISVP_T21_H__) - #define CONFIG_SOC "t21" +#define CONFIG_SOC "t21" #elif defined(__CONFIG_ISVP_T30_H__) - #define CONFIG_SOC "t30" +#define CONFIG_SOC "t30" #else - #define CONFIG_SOC "t31" +#define CONFIG_SOC "t31" #endif -#define CONFIG_BOOTCOMMAND "setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x300000; bootm ${baseaddr}; reset" - #if (defined(CONFIG_DDR2_128M) || defined(CONFIG_DDR3_128M)) #define CONFIG_EXTRA_SETTINGS \ - "totalmem=128M\0" \ - "osmem=64M\0" \ - "rmem=64M@0x4000000\0" + "totalmem=128M\0" \ + "osmem=64M\0" \ + "rmem=64M@0x4000000\0" #else #define CONFIG_EXTRA_SETTINGS \ - "totalmem=64M\0" \ - "osmem=40M\0" \ - "rmem=24M@0x2800000\0" + "totalmem=64M\0" \ + "osmem=40M\0" \ + "rmem=24M@0x2800000\0" #endif -/* USEFUL STUFF, BUT LATER... -#ifdef CONFIG_SPL_MMC_SUPPORT - #define CONFIG_BOOTARGS "mem=\${osmem} rmem=\${rmem} init=/init root=/dev/mmcblk0p2 rootdelay=1" -#elif defined(CONFIG_SFC_NOR) - #define CONFIG_BOOTARGS "mem=\${osmem} rmem=\${rmem} root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=jz_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)" -#elif defined(CONFIG_SFC_NAND) - #define CONFIG_BOOTARGS "mem=\${osmem} rmem=\${rmem} ip=off init=/init ubi.mtd=2 root=ubi0:rootfs ubi.mtd=3 rootfstype=ubifs rw" -#endif -*/ +#define CONFIG_ENV_KERNADDR 0x50000 +#define CONFIG_ENV_KERNSIZE 0x200000 +#define CONFIG_ENV_ROOTADDR 0x250000 +#define CONFIG_ENV_ROOTSIZE 0x500000 -#ifdef CONFIG_SPL_MMC_SUPPORT - #define CONFIG_BOOTCOMMAND "setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; mmc read ${baseaddr} 0x1800 0x3000; bootm ${baseaddr}" -#endif -#ifdef CONFIG_SFC_NOR - #define CONFIG_BOOTCOMMAND "setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe; sf read ${baseaddr} 0x50000 0x300000; bootm ${baseaddr}; reset" -#endif -#ifdef CONFIG_SFC_NAND - #define CONFIG_BOOTCOMMAND "setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sfcnand read 0x50000 0x200000 ${baseaddr} ; bootm ${baseaddr}; reset" -#endif - -#define CONFIG_BOOTARGS "mem=\${osmem} rmem=\${rmem} console=ttyS1,115200n8 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=\${mtdparts} \${extras}" +#define CONFIG_BOOTARGS "console=ttyS1,115200 panic=10 root=/dev/mtdblock3 init=/init mtdparts=jz_sfc:256k(boot),64k(env),2048k(kernel),\\${rootmtd}(rootfs),-(rootfs_data) mem=\\${osmem} rmem=\\${rmem} \\${extras}" +#define CONFIG_BOOTCOMMAND "setenv bootcmd ${cmdnor}; sf probe 0; saveenv; run bootcmd" #define CONFIG_EXTRA_ENV_SETTINGS \ - "baseaddr=0x80600000\0" \ - "uknor8m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} ; sf probe 0; sf erase 0x50000 0x200000; sf write ${baseaddr} 0x50000 ${filesize}\0" \ - "uknor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} ; sf probe 0; sf erase 0x50000 0x300000; sf write ${baseaddr} 0x50000 ${filesize}\0" \ - "urnor8m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.squashfs.${soc} ; sf probe 0; sf erase 0x250000 0x500000; sf write ${baseaddr} 0x250000 ${filesize}\0" \ - "urnor16m=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.squashfs.${soc} ; sf probe 0; sf erase 0x350000 0xa00000; sf write ${baseaddr} 0x350000 ${filesize}\0" \ - "uknand=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} uImage.${soc} ; nand erase 0x100000 0x300000; nand write ${baseaddr} 0x100000 0x300000\0" \ - "urnand=mw.b ${baseaddr} ff 1000000; tftpboot ${baseaddr} rootfs.ubi.${soc} ; nand erase 0x400000 0x7c00000; nand write ${baseaddr} 0x400000 ${filesize}\0" \ - "mtdparts=jz_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)\0" \ - "mtdpartsubi=setenv mtdparts jz_sfcnand:256k(boot),768k(wtf),3072k(kernel),-(ubi)\0" \ - "mtdpartsnand=setenv mtdparts jz_sfcnand:256k(boot),768k(wtf),3072k(kernel),10240k(rootfs),-(rootfs_data)\0" \ - "mtdpartsnor8m=setenv mtdparts jz_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)\0" \ - "mtdpartsnor16m=setenv mtdparts jz_sfc:256k(boot),64k(env),3072k(kernel),10240k(rootfs),-(rootfs_data)\0" \ - "nfsroot=/srv/nfs/"CONFIG_SOC"\0" \ - "bootargsnfs=mem=\${osmem} console=ttyS1,115200n8 panic=20 root=/dev/nfs rootfstype=nfs ip=${ipaddr}:::255.255.255.0::eth0 nfsroot=${serverip}:${nfsroot},v3,nolock rw \${extras}\0" \ - "bootargsubi=mem=\${osmem} console=ttyS1,115200n8 panic=20 init=/init root=ubi0:rootfs rootfstype=ubifs ubi.mtd=3,2048 mtdparts=\${mtdparts} \${extras}\0" \ - "bootnfs=setenv setargs setenv bootargs ${bootargsnfs}; run setargs; tftpboot ${baseaddr} uImage.${soc}; bootm ${baseaddr}\0" \ - "bootcmdnand=setenv setargs setenv bootargs ${bootargs}; run setargs; nand read ${baseaddr} 0x100000 0x300000; bootm ${baseaddr}\0" \ - "bootcmdubi=setenv setargs setenv bootargs ${bootargsubi}; run setargs; nand read ${baseaddr} 0x100000 0x300000; bootm ${baseaddr}\0" \ - "bootcmdnor=setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read ${baseaddr} 0x50000 0x300000; bootm ${baseaddr}\0" \ - "setnand=run mtdpartsubi; setenv bootcmd ${bootcmdubi}; saveenv; reset\0" \ - "setnor8m=run mtdpartsnor8m; setenv bootcmd ${bootcmdnor}; saveenv; reset\0" \ - "setnor16m=run mtdpartsnor16m; setenv bootcmd ${bootcmdnor}; saveenv; reset\0" \ - "restore=n\0" \ - "soc="CONFIG_SOC"\0" \ - CONFIG_EXTRA_SETTINGS + "baseaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \ + "kernaddr=" __stringify(CONFIG_ENV_KERNADDR) "\0" \ + "kernsize=" __stringify(CONFIG_ENV_KERNSIZE) "\0" \ + "rootaddr=" __stringify(CONFIG_ENV_ROOTADDR) "\0" \ + "rootsize=" __stringify(CONFIG_ENV_ROOTSIZE) "\0" \ + "cmdnor=sf probe 0; setenv setargs setenv bootargs ${bootargs}; run setargs; sf read ${baseaddr} ${kernaddr} ${kernsize}; bootm ${baseaddr}\0" \ + "ubnor=sf probe 0; sf erase 0x0 ${kernaddr}; sf write ${baseaddr} 0x0 ${kernaddr}\0" \ + "uknor=${updatetool} ${baseaddr} uImage.${soc}; sf probe 0; sf erase ${kernaddr} ${kernsize}; sf write ${baseaddr} ${kernaddr} ${filesize}\0" \ + "urnor=${updatetool} ${baseaddr} rootfs.squashfs.${soc}; sf probe 0; sf erase ${rootaddr} ${rootsize}; sf write ${baseaddr} ${rootaddr} ${filesize}\0" \ + "rootmtd=5120k\0" \ + "updatetool=tftpboot\0" \ + "sdcard=mmc rescan; setenv updatetool fatload mmc 0\0" \ + "soc="CONFIG_SOC"\0" \ + CONFIG_EXTRA_SETTINGS +#define CONFIG_ENV_OFFSET 0x40000 +#define CONFIG_ENV_SIZE 0x10000 +#define CONFIG_ENV_SECT_SIZE 0x10000 #define CONFIG_SFC_MIN_ALIGN 0x10000 -#define CONFIG_ENV_OFFSET 0x40000 -#define CONFIG_ENV_SIZE 0x10000 -#define CONFIG_ENV_SECT_SIZE 0x10000 - -#undef CONFIG_SYS_PROMPT -#define CONFIG_SYS_PROMPT "OpenIPC # " - #define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press Ctrl-c to abort autoboot... %d \n", bootdelay -#define CONFIG_AUTOBOOT_STOP_STR "\x3" +#define CONFIG_AUTOBOOT_PROMPT "\nPress ENTER to interrupt boot in %d...\n" +#define CONFIG_AUTOBOOT_STOP_STR "\x0D" -#define CONFIG_SYS_LONGHELP #define CONFIG_CMDLINE_EDITING -#define CONFIG_SYS_MAXARGS 64 +#define CONFIG_CMDLINE_TAG +#define CONFIG_SKIP_LOWLEVEL_INIT +#define CONFIG_SYS_LONGHELP +#define CONFIG_SYS_MAXARGS 64 #define CONFIG_SYS_NO_FLASH -#define CONFIG_SYS_CBSIZE 2048 /* Console I/O Buffer Size */ +#define CONFIG_DECMP_BUFFER_ADRS 0x80200000 +#define CONFIG_SPL_LZOP +#define CONFIG_SYS_HUSH_PARSER +#define CONFIG_SYS_LOAD_ADDR 0x80600000 +#define CONFIG_SYS_PROMPT "OpenIPC # " + +#define CONFIG_SYS_CBSIZE 2048 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MALLOC_LEN (32 * 1024 * 1024) #define CONFIG_SYS_BOOTPARAMS_LEN (256 * 1024) #define CONFIG_SYS_MONITOR_LEN (230 * 1024) -#define CONFIG_SKIP_LOWLEVEL_INIT -#define CONFIG_CMDLINE_TAG - #define CONFIG_BOOTDELAY 1 -#define CONFIG_CMD_TFTPPUT 1 -#define CONFIG_CMD_FAT 1 -#define CONFIG_CMD_FS_GENERIC 1 -#define CONFIG_CMD_GPIO 1 -#define CONFIG_NETMASK 255.255.255.0 +#define CONFIG_CMD_ECHO +#define CONFIG_CMD_FAT +#define CONFIG_CMD_FS_GENERIC +#define CONFIG_CMD_GPIO +#define CONFIG_CMD_SOURCE +#define CONFIG_CMD_TFTPPUT +#define CONFIG_VERSION_VARIABLE + +#define LOAD_SCRIPT0 "fatload mmc 0 ${baseaddr} boot.scr" + +#define CONFIG_IPADDR 192.168.1.10 #define CONFIG_GATEWAYIP 192.168.1.1 #define CONFIG_SERVERIP 192.168.1.254 -#define CONFIG_IPADDR 192.168.1.10 +#define CONFIG_NETMASK 255.255.255.0 #define CONFIG_ETHADDR 00:00:23:34:45:66 - -#define CONFIG_AUTO_UPDATE 1 -#ifdef CONFIG_AUTO_UPDATE - #define CONFIG_CMD_SDUPDATE 1 -#endif diff --git a/include/configs/isvp_t21.h b/include/configs/isvp_t21.h index c567a0f9..7b97f755 100644 --- a/include/configs/isvp_t21.h +++ b/include/configs/isvp_t21.h @@ -169,7 +169,9 @@ #endif #if defined(CONFIG_SPL_SFC_NOR) || defined(CONFIG_SPL_SFC_NAND) +#ifndef CONFIG_SPL_SFC_SUPPORT #define CONFIG_SPL_SFC_SUPPORT +#endif #define CONFIG_JZ_SFC #define CONFIG_SPL_VERSION 1 #ifdef CONFIG_SPL_SFC_NOR @@ -254,7 +256,9 @@ #define CONFIG_SPI_FLASH_INGENIC #define CONFIG_SPI_FLASH #define CONFIG_UBOOT_OFFSET CONFIG_SPL_MAX_SIZE/*(26 * 1024)*/ +#ifndef CONFIG_SPL_SFC_NOR #define CONFIG_SPL_SFC_NOR +#endif #define CONFIG_SPI_DUAL /*#define CONFIG_SPI_QUAD*/ #endif diff --git a/include/configs/isvp_t30.h b/include/configs/isvp_t30.h index 99f1a802..b66f6b1f 100644 --- a/include/configs/isvp_t30.h +++ b/include/configs/isvp_t30.h @@ -177,7 +177,9 @@ #endif #if defined(CONFIG_SPL_SFC_NOR) || defined(CONFIG_SPL_SFC_NAND) +#ifndef CONFIG_SPL_SFC_SUPPORT #define CONFIG_SPL_SFC_SUPPORT +#endif #define CONFIG_JZ_SFC #define CONFIG_SPL_VERSION 1 #ifdef CONFIG_SPL_SFC_NOR @@ -254,7 +256,9 @@ #define CONFIG_SPI_FLASH_INGENIC #define CONFIG_SPI_FLASH #define CONFIG_UBOOT_OFFSET CONFIG_SPL_MAX_SIZE/*(26 * 1024)*/ +#ifndef CONFIG_SPL_SFC_NOR #define CONFIG_SPL_SFC_NOR +#endif #define CONFIG_SPI_DUAL /*#define CONFIG_SPI_QUAD*/ #endif diff --git a/include/configs/isvp_t31.h b/include/configs/isvp_t31.h index 8f48b65a..214aa9ab 100644 --- a/include/configs/isvp_t31.h +++ b/include/configs/isvp_t31.h @@ -334,7 +334,9 @@ #endif #if defined(CONFIG_SPL_SFC_NOR) || defined(CONFIG_SPL_SFC_NAND) +#ifndef CONFIG_SPL_SFC_SUPPORT #define CONFIG_SPL_SFC_SUPPORT +#endif #define CONFIG_JZ_SFC #define CONFIG_SPL_VERSION 1 #ifdef CONFIG_SPL_SFC_NOR diff --git a/include/linux/compiler-gcc10.h b/include/linux/compiler-gcc10.h new file mode 120000 index 00000000..695510c9 --- /dev/null +++ b/include/linux/compiler-gcc10.h @@ -0,0 +1 @@ +compiler-gcc7.h \ No newline at end of file diff --git a/include/regulator.h b/include/regulator.h index 9460233d..4a7dfb00 100644 --- a/include/regulator.h +++ b/include/regulator.h @@ -86,6 +86,6 @@ int regulator_get_current_limit(struct regulator *regulator); enum regulator_outnum { REGULATOR_CORE = 1, REGULATOR_MEM, REGULATOR_IO }; int spl_regulator_set_voltage(enum regulator_outnum outnum, int vol_mv); -int spl_regulator_init(); +int spl_regulator_init(void); #endif