突然发现 D1 / D1s 不支持 GD5F1GQ4UAYIG
-
U-Boot 2018.05-g24521d6-dirty (Mar 27 2022 - 11:58:13 +0800) Allwinner Technology [08.090]DRAM: 64 MiB [08.095]Relocation Offset is: 01ee7000 [08.121]secure enable bit: 0 [08.127]CPU=720 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=300Mhz [08.133]flash init start [08.136]workmode = 16,storage type = 0 try card 2 set card number 2 get card number 2 [08.143][mmc]: mmc driver ver uboot2018:2021-11-19 15:38:00 [08.153][mmc]: get sdc_type fail and use default host:tm4. [08.185][mmc]: Is not Boot mode! [08.188][mmc]: SUNXI SDMMC Controller Version:0x50310 [08.199][mmc]: ************Try SD card 2************ [08.205][mmc]: mmc 2 cmd timeout 100 status 100 [08.209][mmc]: smc 2 err, cmd 8, RTO [08.212][mmc]: mmc 2 close bus gating and reset [08.217][mmc]: mmc 2 cmd timeout 100 status 100 [08.221][mmc]: smc 2 err, cmd 55, RTO [08.225][mmc]: mmc 2 close bus gating and reset [08.229][mmc]: ************Try MMC card 2************ [08.238][mmc]: mmc 2 cmd timeout 100 status 100 [08.242][mmc]: smc 2 err, cmd 1, RTO [08.246][mmc]: mmc 2 close bus gating and reset [08.250][mmc]: Card did not respond to voltage select! [08.255][mmc]: ************SD/MMC 2 init error!************ [08.260][mmc]: mmc init product failed MMC init failed try emmc fail [08.277]sunxi-spinand: AW SPINand MTD Layer Version: 1.5 20200407 [08.282]sunxi-spinand-phy: AW SPINand Phy Layer Version: 1.9 20200306 [08.347]sunxi-spinand-phy: request spi0 gpio ok [08.351]sunxi-spinand-phy: request general tx dma channel ok! [08.357]sunxi-spinand-phy: request general rx dma channel ok! [08.362]sunxi-spinand-phy: set spic0 clk to 20 Mhz [08.367]sunxi-spinand-phy: init spic0 clk ok sspi->base_addr = 0x4025000, the SPI control register: [VER] 0x4025000 = 0x00010001, [GCR] 0x4025004 = 0x00000083, [TCR] 0x4025008 = 0x00000184 [ICR] 0x4025010 = 0x00000f00, [ISR] 0x4025014 = 0x00000032, [FCR] 0x4025018 = 0x00200020 [FSR] 0x402501c = 0x00000000, [WCR] 0x4025020 = 0x00000000, [CCR] 0x4025024 = 0x00000002 [SDC] 0x4025028 = 0x00002000, [BCR] 0x4025030 = 0x00000000, [TCR] 0x4025034 = 0x00000000 [BCC] 0x4025038 = 0x00000000, [DMA] 0x4025088 = 0x000000e5 [08.413]sunxi-spinand-phy: not detect any munufacture from id table [08.429]sunxi-spinand-phy: get spi-nand Model from fdt fail [08.434]sunxi-spinand-phy: get phy info from fdt fail [08.439]sunxi-spinand-phy: not detect munufacture from fdt [08.444]sunxi-spinand-phy: detect munufacture from id table: GD [08.460]sunxi-spinand-phy: get spi-nand Model from fdt fail [08.465]sunxi-spinand-phy: get phy info from fdt fail [08.470]sunxi-spinand-phy: not detect munufacture from fdt [08.475]sunxi-spinand-phy: not match spinand: f1c8f1c8 f1c8f1c8 try nand fail [08.542]unrecognized JEDEC id bytes: ff, c8, f1 try spinor fail initcall sequence 0000000043f90fc8 failed at call 000000004200e88e (err=-1) ### ERROR ### Please RESET the board ###
突然发现 D1 / D1s 不支持 GD5F1GQ4UAYIG
lichee/brandy-2.0/u-boot-2018/drivers/mtd/awnand/spinand/physic/id.c:
// SPDX-License-Identifier: GPL-2.0 #define pr_fmt(fmt) "sunxi-spinand-phy: " fmt #include <common.h> #include <linux/kernel.h> #include <linux/errno.h> #include <linux/mtd/aw-spinand.h> #include <fdt_support.h> #include <fdtdec.h> #include "physic.h" #define KB (1024) #define MB (KB * 1024) #define to_kb(size) (size / KB) #define to_mb(size) (size / MB) /* manufacture num */ #define MICRON_MANUFACTURE 0x2c #define GD_MANUFACTURE 0xc8 #define ATO_MANUFACTURE 0x9b #define WINBOND_MANUFACTURE 0xef #define MXIC_MANUFACTURE 0xc2 #define TOSHIBA_MANUFACTURE 0x98 #define ETRON_MANUFACTURE 0xd5 #define XTXTECH_MANUFACTURE 0x0b #define DSTECH_MANUFACTURE 0xe5 #define FORESEE_MANUFACTURE 0xcd #define ZETTA_MANUFACTURE 0xba #define FM_MANUFACTURE 0xa1 #define DEBUG_ON(val) \ do \ if (!val) { \ pr_err("%s %d %s crack\n", __FILE__, __LINE__, __func__); \ return false; \ } \ while (0) struct spinand_manufacture m; struct aw_spinand_phy_info gigadevice[] = { { .Model = "GD5F1GQ4UCYIG", .NandID = {0xc8, 0xb1, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ | SPINAND_ONEDUMMY_AFTER_RANDOMREAD, .MaxEraseTimes = 50000, .EccType = BIT3_LIMIT2_TO_6_ERR7, .EccProtectedType = SIZE16_OFF0_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { .Model = "GD5F1GQ4UBYIG", .NandID = {0xc8, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .EccFlag = HAS_EXT_ECC_SE01, .EccType = BIT4_LIMIT5_TO_7_ERR8_LIMIT_12, .EccProtectedType = SIZE16_OFF4_LEN8_OFF4, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { /* GD5F2GQ4UB9IG did not check yet */ .Model = "GD5F2GQ4UB9IG", .NandID = {0xc8, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 2048, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .EccFlag = HAS_EXT_ECC_SE01, .EccType = BIT4_LIMIT5_TO_7_ERR8_LIMIT_12, .EccProtectedType = SIZE16_OFF4_LEN12, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { .Model = "F50L1G41LB(2M)", .NandID = {0xc8, 0x01, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ | SPINAND_QUAD_NO_NEED_ENABLE, .MaxEraseTimes = 65000, .EccType = BIT2_LIMIT1_ERR2, .EccProtectedType = SIZE16_OFF4_LEN4_OFF8, .BadBlockFlag = BAD_BLK_FLAG_FIRST_2_PAGE, }, { .Model = "GD5F1GQ5UEYIG", .NandID = {0xc8, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .EccFlag = HAS_EXT_ECC_SE01, .EccType = BIT4_LIMIT5_TO_7_ERR8_LIMIT_12, .EccProtectedType = SIZE16_OFF4_LEN12, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { .Model = "GD5F2GQ5UEYIGR", .NandID = {0xc8, 0x52, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 2048, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .EccFlag = HAS_EXT_ECC_SE01, .EccType = BIT4_LIMIT5_TO_7_ERR8_LIMIT_12, .EccProtectedType = SIZE16_OFF4_LEN12, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, }; struct aw_spinand_phy_info micron[] = { { .Model = "MT29F1G01ABAGDWB", .NandID = {0x2c, 0x14, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ | SPINAND_QUAD_NO_NEED_ENABLE, .MaxEraseTimes = 65000, .EccType = BIT3_LIMIT5_ERR2, .EccProtectedType = SIZE16_OFF32_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { .Model = "MT29F2G01ABAGDWB", .NandID = {0x2c, 0x24, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 2048, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ | SPINAND_QUAD_NO_NEED_ENABLE | SPINAND_TWO_PLANE_SELECT, .MaxEraseTimes = 65000, .EccType = BIT3_LIMIT5_ERR2 , .EccProtectedType = SIZE16_OFF32_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, }; struct aw_spinand_phy_info xtx[] = { { /* XTX26G02A */ .Model = "XTX26G02A", .NandID = {0x0B, 0xE2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 2048, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .ecc_status_shift = ECC_STATUS_SHIFT_2, .EccType = BIT4_LIMIT5_TO_7_ERR8_LIMIT_12, .EccProtectedType = SIZE16_OFF8_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { /* XTX26G01A */ .Model = "XTX26G01A", .NandID = {0x0B, 0xE1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .ecc_status_shift = ECC_STATUS_SHIFT_2, .EccType = BIT4_LIMIT5_TO_7_ERR8_LIMIT_12, .EccProtectedType = SIZE16_OFF8_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { /* XT26G01C */ .Model = "XT26G01C", .NandID = {0x0B, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .ecc_status_shift = ECC_STATUS_SHIFT_4, .EccType = BIT4_LIMIT5_TO_8_ERR9_TO_15, .EccProtectedType = SIZE16_OFF0_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, }; struct aw_spinand_phy_info fm[] = { { /* only rw stress test */ .Model = "FM25S01", .NandID = {0xa1, 0xa1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ | SPINAND_QUAD_NO_NEED_ENABLE, .MaxEraseTimes = 65000, .EccType = BIT2_LIMIT1_ERR2, .EccProtectedType = SIZE16_OFF0_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FIRST_2_PAGE, }, }; struct aw_spinand_phy_info etron[] = { }; struct aw_spinand_phy_info toshiba[] = { }; struct aw_spinand_phy_info ato[] = { }; struct aw_spinand_phy_info mxic[] = { { .Model = "MX35LF1GE4AB", .NandID = {0xc2, 0x12, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 65000, .EccFlag = HAS_EXT_ECC_STATUS, .EccType = BIT4_LIMIT3_TO_4_ERR15, /** * MX35LF1GE4AB should use SIZE16_OFF4_LEN12, however, in order * to compatibility with versions already sent to customers, * which do not use general physical layout, we used * SIZE16_OFF4_LEN4_OFF8 instead. */ .EccProtectedType = SIZE16_OFF4_LEN4_OFF8, .BadBlockFlag = BAD_BLK_FLAG_FIRST_2_PAGE, }, { .Model = "MX35LF2GE4AD", .NandID = {0xc2, 0x26, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 2048, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 65000, .EccFlag = HAS_EXT_ECC_STATUS, .EccType = BIT4_LIMIT5_TO_8_ERR9_TO_15, .EccProtectedType = SIZE16_OFF4_LEN4_OFF8, .BadBlockFlag = BAD_BLK_FLAG_FIRST_2_PAGE, }, }; struct aw_spinand_phy_info winbond[] = { { .Model = "W25N01GVZEIG", .NandID = {0xef, 0xaa, 0x21, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 65000, .EccType = BIT2_LIMIT1_ERR2, .EccProtectedType = SIZE16_OFF4_LEN4_OFF8, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, }; struct aw_spinand_phy_info dosilicon[] = { { .Model = "DS35X1GAXXX", .NandID = {0xe5, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 65000, .EccType = BIT2_LIMIT1_ERR2, .EccProtectedType = SIZE16_OFF4_LEN4_OFF8, .BadBlockFlag = BAD_BLK_FLAG_FIRST_2_PAGE, }, }; struct aw_spinand_phy_info foresee[] = { { .Model = "FS35ND01G-S1F1QWFI000", .NandID = {0xcd, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .EccType = BIT3_LIMIT3_TO_4_ERR7, .EccProtectedType = SIZE16_OFF0_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { .Model = "FS35ND01G-S1Y2QWFI000", .NandID = {0xcd, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .EccType = BIT2_LIMIT1_ERR2, .EccProtectedType = SIZE16_OFF0_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, } }; struct aw_spinand_phy_info zetta[] = { { .Model = "ZD35Q1GAIB", .NandID = {0xba, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .EccType = BIT2_LIMIT1_ERR2, .EccProtectedType = SIZE16_OFF4_LEN4_OFF8, .BadBlockFlag = BAD_BLK_FLAG_FIRST_2_PAGE, }, }; static const char *aw_spinand_info_model(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->Model; } static void aw_spinand_info_nandid(struct aw_spinand_chip *chip, unsigned char *id, int cnt) { int i; struct aw_spinand_phy_info *pinfo = chip->info->phy_info; cnt = min(cnt, MAX_ID_LEN); for (i = 0; i < cnt; i++) id[i] = pinfo->NandID[i]; } static unsigned int aw_spinand_info_sector_size(struct aw_spinand_chip *chip) { return 1 << SECTOR_SHIFT; } static unsigned int aw_spinand_info_phy_page_size(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->SectCntPerPage * aw_spinand_info_sector_size(chip); } static unsigned int aw_spinand_info_page_size(struct aw_spinand_chip *chip) { #if SIMULATE_MULTIPLANE return aw_spinand_info_phy_page_size(chip) * 2; #else return aw_spinand_info_phy_page_size(chip); #endif } static unsigned int aw_spinand_info_phy_block_size(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->PageCntPerBlk * aw_spinand_info_phy_page_size(chip); } static unsigned int aw_spinand_info_block_size(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->PageCntPerBlk * aw_spinand_info_page_size(chip); } static unsigned int aw_spinand_info_phy_oob_size(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->OobSizePerPage; } static unsigned int aw_spinand_info_oob_size(struct aw_spinand_chip *chip) { #if SIMULATE_MULTIPLANE return aw_spinand_info_phy_oob_size(chip) * 2; #else return aw_spinand_info_phy_oob_size(chip); #endif } static unsigned int aw_spinand_info_die_cnt(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->DieCntPerChip; } static unsigned int aw_spinand_info_total_size(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->DieCntPerChip * pinfo->BlkCntPerDie * aw_spinand_info_phy_block_size(chip); } static int aw_spinand_info_operation_opt(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->OperationOpt; } static int aw_spinand_info_max_erase_times(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo = chip->info->phy_info; return pinfo->MaxEraseTimes; } struct spinand_manufacture { unsigned char id; const char *name; struct aw_spinand_phy_info *info; unsigned int cnt; }; #define SPINAND_FACTORY_INFO(_id, _name, _info) \ { \ .id = _id, \ .name = _name, \ .info = _info, \ .cnt = ARRAY_SIZE(_info), \ } static struct spinand_manufacture spinand_factory[] = { SPINAND_FACTORY_INFO(MICRON_MANUFACTURE, "Micron", micron), SPINAND_FACTORY_INFO(GD_MANUFACTURE, "GD", gigadevice), SPINAND_FACTORY_INFO(ATO_MANUFACTURE, "ATO", ato), SPINAND_FACTORY_INFO(WINBOND_MANUFACTURE, "Winbond", winbond), SPINAND_FACTORY_INFO(MXIC_MANUFACTURE, "Mxic", mxic), SPINAND_FACTORY_INFO(TOSHIBA_MANUFACTURE, "Toshiba", toshiba), SPINAND_FACTORY_INFO(ETRON_MANUFACTURE, "Etron", etron), SPINAND_FACTORY_INFO(XTXTECH_MANUFACTURE, "XTX", xtx), SPINAND_FACTORY_INFO(DSTECH_MANUFACTURE, "Dosilicon", dosilicon), SPINAND_FACTORY_INFO(FORESEE_MANUFACTURE, "Foresee", foresee), SPINAND_FACTORY_INFO(ZETTA_MANUFACTURE, "Zetta", zetta), SPINAND_FACTORY_INFO(FM_MANUFACTURE, "FM", fm), }; static int spinand_get_chip_munufacture(struct aw_spinand_chip *chip, const char **m) { DEBUG_ON(chip->info); struct aw_spinand_phy_info *info = chip->info->phy_info; switch (info->NandID[0]) { case MICRON_MANUFACTURE: *m = "Micron"; break; case GD_MANUFACTURE: *m = "GD"; break; case ATO_MANUFACTURE: *m = "ATO"; break; case WINBOND_MANUFACTURE: *m = "Winbond"; break; case MXIC_MANUFACTURE: *m = "Mxic"; break; case TOSHIBA_MANUFACTURE: *m = "Toshiba"; break; case ETRON_MANUFACTURE: *m = "Etron"; break; case XTXTECH_MANUFACTURE: *m = "XTX"; break; case DSTECH_MANUFACTURE: *m = "Dosilicon"; break; case FORESEE_MANUFACTURE: *m = "Foresee"; break; case ZETTA_MANUFACTURE: *m = "Zetta"; break; default: *m = NULL; break; } if (*m == NULL) return false; else return true; } static const char *aw_spinand_info_manufacture(struct aw_spinand_chip *chip) { int i, j; struct spinand_manufacture *m; struct aw_spinand_phy_info *pinfo; const char *m_name = NULL; int ret = 0; for (i = 0; i < ARRAY_SIZE(spinand_factory); i++) { m = &spinand_factory[i]; pinfo = chip->info->phy_info; for (j = 0; j < m->cnt; j++) if (pinfo == &m->info[j]) return m->name; } /*for compatible fdt support spi-nand*/ ret = spinand_get_chip_munufacture(chip, &m_name); if (ret < 0) return NULL; else return m_name; } static struct spinand_manufacture *spinand_detect_munufacture(unsigned char id) { int index; struct spinand_manufacture *m; for (index = 0; index < ARRAY_SIZE(spinand_factory); index++) { m = &spinand_factory[index]; if (m->id == id) { pr_info("detect munufacture from id table: %s\n", m->name); return m; } } pr_err("not detect any munufacture from id table\n"); return NULL; } static struct aw_spinand_phy_info *spinand_match_id( struct spinand_manufacture *m, unsigned char *id) { int i, j, match_max = 1, match_index = 0; struct aw_spinand_phy_info *pinfo; for (i = 0; i < m->cnt; i++) { int match = 1; pinfo = &m->info[i]; for (j = 1; j < MAX_ID_LEN; j++) { /* 0xFF matching all ID value */ if (pinfo->NandID[j] != id[j] && pinfo->NandID[j] != 0xFF) break; if (pinfo->NandID[j] != 0xFF) match++; } if (match > match_max) { match_max = match; match_index = i; } } if (match_max > 1) return &m->info[match_index]; return NULL; } struct aw_spinand_phy_info *spinand_get_phy_info_from_fdt(struct aw_spinand_chip *chip) { static struct aw_spinand_phy_info info; static int had_get; int ret = 0; int node_offset = 0; char *bad_blk_mark_pos = NULL; char *quad_read_not_need_enable = NULL; char *read_seq_need_onedummy = NULL; char *model = NULL; int len = 0; u32 rx_bus_width = 0; u32 tx_bus_width = 0; if (had_get == true) return &info; #define BAD_BLK_MARK_POS1 "first_1_page" #define BAD_BLK_MARK_POS2 "first_2_page" #define BAD_BLK_MARK_POS3 "last_1_page" #define BAD_BLK_MARK_POS4 "last_2_page" memset(&info, 0, sizeof(struct aw_spinand_phy_info)); ulong time = 0; time = get_timer(0); node_offset = fdt_path_offset(working_fdt, "spi0/spi-nand"); if (node_offset < 0) { pr_err("get spi-nand node from fdt failed\n"); goto err; } ret = fdt_getprop_string(working_fdt, node_offset, "model", &model); if (ret < 0) { pr_err("get spi-nand Model from fdt fail\n"); goto err; } else { info.Model = model; } u32 id = 0xffffffff; ret = fdt_getprop_u32(working_fdt, node_offset, "id-0", &id); if (ret < 0) { pr_err("get spi-nand id Low 4 Byte from fdt fail\n"); goto err; } len = sizeof(id); memmove(info.NandID, &id, min(MAX_ID_LEN, len)); id = 0xffffffff; ret = fdt_getprop_u32(working_fdt, node_offset, "id-1", &id); if (ret < 0) { pr_info("can't get spi-nand id high 4 Byte from fdt, may be not need\n"); } memmove(info.NandID + min(MAX_ID_LEN, len), &id, max(MAX_ID_LEN, len) - min(MAX_ID_LEN, len)); ret = fdt_getprop_u32(working_fdt, node_offset, "die_cnt_per_chip", &(info.DieCntPerChip)); if (ret < 0) { pr_err("get spi-nand DieCntPerChip from fdt fail\n"); goto err; } ret = fdt_getprop_u32(working_fdt, node_offset, "blk_cnt_per_die", &(info.BlkCntPerDie)); if (ret < 0) { pr_err("get spi-nand BlkCntPerDie from fdt fail\n"); goto err; } ret = fdt_getprop_u32(working_fdt, node_offset, "page_cnt_per_blk", &(info.PageCntPerBlk)); if (ret < 0) { pr_err("get spi-nand PageCntPerBlk from fdt fail\n"); goto err; } ret = fdt_getprop_u32(working_fdt, node_offset, "sect_cnt_per_page", &(info.SectCntPerPage)); if (ret < 0) { pr_err("get spi-nand SectCntPerPage from fdt fail\n"); goto err; } ret = fdt_getprop_u32(working_fdt, node_offset, "oob_size_per_page", &(info.OobSizePerPage)); if (ret < 0) { pr_err("get spi-nand OobSizePerPage from fdt fail\n"); goto err; } ret = fdt_getprop_string(working_fdt, node_offset, "bad_block_mark_pos", &bad_blk_mark_pos); if (ret < 0 || NULL == bad_blk_mark_pos) { pr_err("get spi-nand BadBlockFlag from fdt fail\n"); goto err; } else { if (!memcmp(bad_blk_mark_pos, BAD_BLK_MARK_POS1, strlen(BAD_BLK_MARK_POS1))) info.BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE; else if (!memcmp(bad_blk_mark_pos, BAD_BLK_MARK_POS2, strlen(BAD_BLK_MARK_POS2))) info.BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE; else if (!memcmp(bad_blk_mark_pos, BAD_BLK_MARK_POS3, strlen(BAD_BLK_MARK_POS3))) info.BadBlockFlag = BAD_BLK_FLAG_LAST_1_PAGE; else if (!memcmp(bad_blk_mark_pos, BAD_BLK_MARK_POS4, strlen(BAD_BLK_MARK_POS4))) info.BadBlockFlag = BAD_BLK_FLAG_LAST_2_PAGE; else { pr_err("get spi-nand BadBlockFlag pattern is not right\n"); goto err; } } ret = fdtdec_get_int(working_fdt, node_offset, "max_erase_times", -1); if (ret < 0) { pr_err("get spi-nand MaxEraseTimes from fdt fail\n"); goto err; } else { info.MaxEraseTimes = ret; } ret = fdt_getprop_u32(working_fdt, node_offset, "ecc_type", &(info.EccType)); if (ret < 0) { pr_err("get spi-nand EccFlag from fdt fail\n"); goto err; } ret = fdt_getprop_u32(working_fdt, node_offset, "ecc_protected_type", &(info.EccProtectedType)); if (ret < 0) { pr_err("get spi-nand ecc_protected_type from fdt fail\n"); goto err; } ret = fdt_getprop_u32(working_fdt, node_offset, "spi-rx-bus-width", &rx_bus_width); if (ret < 0) { pr_err("get spi-nand spi-rx-bus-width from fdt fail\n"); goto err; } else { switch (rx_bus_width) { case SPI_NBITS_DUAL: info.OperationOpt |= SPINAND_DUAL_READ; break; case SPI_NBITS_QUAD: info.OperationOpt |= SPINAND_QUAD_READ; break; default: info.OperationOpt |= 0; break; } } ret = fdt_getprop_u32(working_fdt, node_offset, "spi-tx-bus-width", &tx_bus_width); if (ret < 0) { pr_err("get spi-nand spi-tx-bus-width from fdt fail\n"); goto err; } else { switch (tx_bus_width) { case SPI_NBITS_QUAD: info.OperationOpt |= SPINAND_QUAD_PROGRAM; break; default: info.OperationOpt |= 0; break; } } ret = fdt_getprop_string(working_fdt, node_offset, "read_from_cache_x4_not_need_enable", &quad_read_not_need_enable); if (ret < 0 || NULL == quad_read_not_need_enable) { pr_info("can't get spi-nand read_from_cache_x4_need_enable or it is null," " maybe not need enable quad read before read from cache x4\n"); } else { if (!memcmp(quad_read_not_need_enable, "yes", strlen("yes"))) info.OperationOpt |= SPINAND_QUAD_NO_NEED_ENABLE; } ret = fdt_getprop_string(working_fdt, node_offset, "read_from_cache_need_onedummy", &read_seq_need_onedummy); if (ret < 0 || NULL == read_seq_need_onedummy) { pr_info("can't get spi-nand read_from_cache_need_onedummy or it is null," " maybe read from cache sequence not need one dummy in second Byte\n"); } else { if (!memcmp(read_seq_need_onedummy, "yes", strlen("yes"))) info.OperationOpt |= SPINAND_ONEDUMMY_AFTER_RANDOMREAD; } ret = fdtdec_get_int(working_fdt, node_offset, "ecc_flag", -1); if (ret < 0) { pr_err("can't get spi-nand EccFlag from fdt," " maybe(default) use 0FH + C0H to get feature,wich obtain ecc status\n"); } else { info.EccFlag = ret; } ret = fdt_getprop_u32(working_fdt, node_offset, "ecc_status_shift", &(info.ecc_status_shift)); if (ret < 0) { pr_info("can't get spi-nand ecc_status_shift from fdt," " use default ecc_status_shift_4 to get ecc status in C0H\n"); } pr_info("%s consume time:%lu\n", __func__, get_timer(time)); pr_debug("get spinand phy info from fdt\n"); pr_debug("Model:%s\n", info.Model); pr_debug("ID:%02x %02x %02x %02x %02x %02x %02x %02x\n", info.NandID[0], info.NandID[1], info.NandID[2], info.NandID[3], info.NandID[4], info.NandID[5], info.NandID[6], info.NandID[7]); pr_debug("DieCntPerChip:%d\n", info.DieCntPerChip); pr_debug("BlkCntPerDie:%d\n", info.BlkCntPerDie); pr_debug("PageCntPerBlk:%d\n", info.PageCntPerBlk); pr_debug("SectCntPerPage:%d\n", info.SectCntPerPage); pr_debug("OobSizePerPage:%d\n", info.OobSizePerPage); pr_debug("BadBlockFlag:%d\n", info.BadBlockFlag); pr_debug("OperationOpt:0x%x\n", info.OperationOpt); pr_debug("MaxEraseTimes:%d\n", info.MaxEraseTimes); pr_debug("EccFlag:%x\n", info.EccFlag); pr_debug("ecc_status_shift:%x\n", info.ecc_status_shift); pr_debug("EccType:%x\n", info.EccType); pr_debug("EccProtectedType:%x\n", info.EccProtectedType); had_get = true; return &info; err: had_get = false; return NULL; } static struct aw_spinand_info aw_spinand_info = { .model = aw_spinand_info_model, .manufacture = aw_spinand_info_manufacture, .nandid = aw_spinand_info_nandid, .die_cnt = aw_spinand_info_die_cnt, .oob_size = aw_spinand_info_oob_size, .sector_size = aw_spinand_info_sector_size, .page_size = aw_spinand_info_page_size, .block_size = aw_spinand_info_block_size, .phy_oob_size = aw_spinand_info_phy_oob_size, .phy_page_size = aw_spinand_info_phy_page_size, .phy_block_size = aw_spinand_info_phy_block_size, .total_size = aw_spinand_info_total_size, .operation_opt = aw_spinand_info_operation_opt, .max_erase_times = aw_spinand_info_max_erase_times, }; static struct spinand_manufacture *spinand_detect_munufacture_from_fdt(struct aw_spinand_chip *chip, unsigned char id) { struct aw_spinand_phy_info *info = NULL; struct spinand_manufacture *pm = &m; int ret = 0; info = spinand_get_phy_info_from_fdt(chip); if (info == NULL) { pr_err("get phy info from fdt fail\n"); goto err; } if (id == info->NandID[0]) { pm->id = info->NandID[0]; pm->info = info; chip->info = &aw_spinand_info; chip->info->phy_info = info; ret = spinand_get_chip_munufacture(chip, &(pm->name)); if (ret < 0) goto err; else pr_info("detect munufacture from fdt: %s \n", pm->name); } else { goto err; } return pm; err: pr_info("not detect munufacture from fdt\n"); return NULL; } static struct aw_spinand_phy_info *spinand_match_id_from_fdt(struct aw_spinand_chip *chip, struct spinand_manufacture *m, unsigned char *id) { struct aw_spinand_phy_info *info = NULL; int i = 0; info = spinand_get_phy_info_from_fdt(chip); if (info == NULL) { pr_err("get phy info from fdt fail\n"); goto err; } for (i = 0; i < MAX_ID_LEN; i++) { /*0xff match all id value*/ if (id[i] != info->NandID[i] && info->NandID[i] != 0xff) goto err; } return info; err: return NULL; } static int aw_spinand_info_init(struct aw_spinand_chip *chip, struct aw_spinand_phy_info *pinfo) { chip->info = &aw_spinand_info; chip->info->phy_info = pinfo; pr_info("========== arch info ==========\n"); pr_info("Model: %s\n", pinfo->Model); pr_info("Munufacture: %s\n", aw_spinand_info_manufacture(chip)); pr_info("DieCntPerChip: %u\n", pinfo->DieCntPerChip); pr_info("BlkCntPerDie: %u\n", pinfo->BlkCntPerDie); pr_info("PageCntPerBlk: %u\n", pinfo->PageCntPerBlk); pr_info("SectCntPerPage: %u\n", pinfo->SectCntPerPage); pr_info("OobSizePerPage: %u\n", pinfo->OobSizePerPage); pr_info("BadBlockFlag: 0x%x\n", pinfo->BadBlockFlag); pr_info("OperationOpt: 0x%x\n", pinfo->OperationOpt); pr_info("MaxEraseTimes: %d\n", pinfo->MaxEraseTimes); pr_info("EccFlag: 0x%x\n", pinfo->EccFlag); pr_info("EccType: %d\n", pinfo->EccType); pr_info("EccProtectedType: %d\n", pinfo->EccProtectedType); pr_info("========================================\n"); pr_info("\n"); pr_info("========== physical info ==========\n"); pr_info("TotalSize: %u M\n", to_mb(aw_spinand_info_total_size(chip))); pr_info("SectorSize: %u B\n", aw_spinand_info_sector_size(chip)); pr_info("PageSize: %u K\n", to_kb(aw_spinand_info_phy_page_size(chip))); pr_info("BlockSize: %u K\n", to_kb(aw_spinand_info_phy_block_size(chip))); pr_info("OOBSize: %u B\n", aw_spinand_info_phy_oob_size(chip)); pr_info("========================================\n"); pr_info("\n"); pr_info("========== logical info ==========\n"); pr_info("TotalSize: %u M\n", to_mb(aw_spinand_info_total_size(chip))); pr_info("SectorSize: %u B\n", aw_spinand_info_sector_size(chip)); pr_info("PageSize: %u K\n", to_kb(aw_spinand_info_page_size(chip))); pr_info("BlockSize: %u K\n", to_kb(aw_spinand_info_block_size(chip))); pr_info("OOBSize: %u B\n", aw_spinand_info_oob_size(chip)); pr_info("========================================\n"); return 0; } int aw_spinand_chip_detect(struct aw_spinand_chip *chip) { struct aw_spinand_phy_info *pinfo; struct spinand_manufacture *m; unsigned char id[MAX_ID_LEN] = {0xFF}; struct aw_spinand_chip_ops *ops = chip->ops; int ret, dummy = 0; retry: ret = ops->read_id(chip, id, MAX_ID_LEN, dummy); if (ret) { pr_err("read id failed : %d\n", ret); return ret; } m = spinand_detect_munufacture(id[0]); if (!m) goto detect_from_fdt; pinfo = spinand_match_id(m, id); if (pinfo) goto detect; detect_from_fdt: m = spinand_detect_munufacture_from_fdt(chip, id[0]); if (!m) goto not_detect; pinfo = spinand_match_id_from_fdt(chip, m, id); if (pinfo) goto detect; not_detect: /* retry with dummy */ if (!dummy) { dummy++; goto retry; } pr_info("not match spinand: %x %x\n", *(__u32 *)id, *((__u32 *)id + 1)); return -ENODEV; detect: pr_info("detect spinand id: %x %x\n", *((__u32 *)pinfo->NandID), *((__u32 *)pinfo->NandID + 1)); return aw_spinand_info_init(chip, pinfo); }
-
在 lichee/brandy-2.0/u-boot-2018/drivers/mtd/awnand/spinand/physic/id.c 添加了 GD5F1GQ4UAYIG 配置:
struct aw_spinand_phy_info gigadevice[] = { { .Model = "GD5F1GQ4UAYIG", .NandID = {0xc8, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ, .MaxEraseTimes = 50000, .EccFlag = HAS_EXT_ECC_SE01, .EccType = BIT4_LIMIT5_TO_7_ERR8_LIMIT_12, .EccProtectedType = SIZE16_OFF4_LEN8_OFF4, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, }, { .Model = "GD5F1GQ4UCYIG", .NandID = {0xc8, 0xb1, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff}, .DieCntPerChip = 1, .SectCntPerPage = 4, .PageCntPerBlk = 64, .BlkCntPerDie = 1024, .OobSizePerPage = 64, .OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ | SPINAND_ONEDUMMY_AFTER_RANDOMREAD, .MaxEraseTimes = 50000, .EccType = BIT3_LIMIT2_TO_6_ERR7, .EccProtectedType = SIZE16_OFF0_LEN16, .BadBlockFlag = BAD_BLK_FLAG_FRIST_1_PAGE, },
发现并没有用:
[5342]fes begin commit:88480af [5344]set pll start [5346]fix vccio detect value:0xc0 [5350]periph0 has been enabled [5353]set pll end [5354][pmu]: bus read error [5357]board init ok [5359]beign to init dram [5361]ZQ value = 0x32 [5363]get_pmu_exist() = -1 [5366]ddr_efuse_type: 0xa [5368]trefi:7.8ms [5370][AUTO DEBUG] single rank and full DQ! [5374]ddr_efuse_type: 0xa [5376]trefi:7.8ms [5379][AUTO DEBUG] rank 0 row = 13 [5382][AUTO DEBUG] rank 0 bank = 4 [5385][AUTO DEBUG] rank 0 page size = 2 KB [5389]DRAM BOOT DRIVE INFO: V0.33 [5392]DRAM CLK = 528 MHz [5394]DRAM Type = 2 (2:DDR2,3:DDR3) [5398]DRAMC read ODT off. [5400]DRAM ODT off. [5402]ddr_efuse_type: 0xa [5405]DRAM SIZE =64 M [5407]dram_tpr4:0x0 [5409]PLL_DDR_CTRL_REG:0xf8002b00 [5412]DRAM_CLK_REG:0xc0000000 [5415][TIMING DEBUG] MR2= 0x0 [5419]DRAM simple test OK. [5422]init dram ok U-Boot 2018.05-g24521d6-dirty (Mar 27 2022 - 14:01:37 +0800) Allwinner Technology [13.663]DRAM: 64 MiB [13.668]Relocation Offset is: 01ee7000 [13.693]secure enable bit: 0 [13.700]CPU=720 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=300Mhz [13.706]flash init start [13.708]workmode = 16,storage type = 0 try card 2 set card number 2 get card number 2 [13.716][mmc]: mmc driver ver uboot2018:2021-11-19 15:38:00 [13.726][mmc]: get sdc_type fail and use default host:tm4. [13.758][mmc]: Is not Boot mode! [13.761][mmc]: SUNXI SDMMC Controller Version:0x50310 [13.772][mmc]: ************Try SD card 2************ [13.778][mmc]: mmc 2 cmd timeout 100 status 100 [13.782][mmc]: smc 2 err, cmd 8, RTO [13.785][mmc]: mmc 2 close bus gating and reset [13.790][mmc]: mmc 2 cmd timeout 100 status 100 [13.794][mmc]: smc 2 err, cmd 55, RTO [13.798][mmc]: mmc 2 close bus gating and reset [13.802][mmc]: ************Try MMC card 2************ [13.811][mmc]: mmc 2 cmd timeout 100 status 100 [13.815][mmc]: smc 2 err, cmd 1, RTO [13.819][mmc]: mmc 2 close bus gating and reset [13.823][mmc]: Card did not respond to voltage select! [13.828][mmc]: ************SD/MMC 2 init error!************ [13.833][mmc]: mmc init product failed MMC init failed try emmc fail [13.850]sunxi-spinand: AW SPINand MTD Layer Version: 1.5 20200407 [13.855]sunxi-spinand-phy: AW SPINand Phy Layer Version: 1.9 20200306 [13.920]sunxi-spinand-phy: request spi0 gpio ok [13.924]sunxi-spinand-phy: request general tx dma channel ok! [13.930]sunxi-spinand-phy: request general rx dma channel ok! [13.935]sunxi-spinand-phy: set spic0 clk to 20 Mhz [13.940]sunxi-spinand-phy: init spic0 clk ok sspi->base_addr = 0x4025000, the SPI control register: [VER] 0x4025000 = 0x00010001, [GCR] 0x4025004 = 0x00000083, [TCR] 0x4025008 = 0x00000184 [ICR] 0x4025010 = 0x00000f00, [ISR] 0x4025014 = 0x00000032, [FCR] 0x4025018 = 0x00200020 [FSR] 0x402501c = 0x00000000, [WCR] 0x4025020 = 0x00000000, [CCR] 0x4025024 = 0x00000002 [SDC] 0x4025028 = 0x00002000, [BCR] 0x4025030 = 0x00000000, [TCR] 0x4025034 = 0x00000000 [BCC] 0x4025038 = 0x00000000, [DMA] 0x4025088 = 0x000000e5 [13.986]sunxi-spinand-phy: not detect any munufacture from id table [14.002]sunxi-spinand-phy: get spi-nand Model from fdt fail [14.007]sunxi-spinand-phy: get phy info from fdt fail [14.012]sunxi-spinand-phy: not detect munufacture from fdt [14.017]sunxi-spinand-phy: detect munufacture from id table: GD [14.023]sunxi-spinand-phy: detect spinand id: fffff1c8 ffffffff [14.028]sunxi-spinand-phy: ========== arch info ========== [14.033]sunxi-spinand-phy: Model: GD5F1GQ4UAYIG [14.039]sunxi-spinand-phy: Munufacture: GD [14.043]sunxi-spinand-phy: DieCntPerChip: 1 [14.048]sunxi-spinand-phy: BlkCntPerDie: 1024 [14.053]sunxi-spinand-phy: PageCntPerBlk: 64 [14.057]sunxi-spinand-phy: SectCntPerPage: 4 [14.061]sunxi-spinand-phy: OobSizePerPage: 64 [14.066]sunxi-spinand-phy: BadBlockFlag: 0x0 [14.071]sunxi-spinand-phy: OperationOpt: 0x7 [14.075]sunxi-spinand-phy: MaxEraseTimes: 50000 [14.080]sunxi-spinand-phy: EccFlag: 0x1 [14.084]sunxi-spinand-phy: EccType: 7 [14.089]sunxi-spinand-phy: EccProtectedType: 4 [14.093]sunxi-spinand-phy: ======================================== [14.099]sunxi-spinand-phy: [14.102]sunxi-spinand-phy: ========== physical info ========== [14.107]sunxi-spinand-phy: TotalSize: 128 M [14.112]sunxi-spinand-phy: SectorSize: 512 B [14.116]sunxi-spinand-phy: PageSize: 2 K [14.120]sunxi-spinand-phy: BlockSize: 128 K [14.124]sunxi-spinand-phy: OOBSize: 64 B [14.128]sunxi-spinand-phy: ======================================== [14.134]sunxi-spinand-phy: [14.136]sunxi-spinand-phy: ========== logical info ========== [14.142]sunxi-spinand-phy: TotalSize: 128 M [14.146]sunxi-spinand-phy: SectorSize: 512 B [14.150]sunxi-spinand-phy: PageSize: 4 K [14.154]sunxi-spinand-phy: BlockSize: 256 K [14.158]sunxi-spinand-phy: OOBSize: 128 B [14.162]sunxi-spinand-phy: ======================================== [14.179]sunxi-spinand-phy: set spic0 clk to 100 Mhz [14.183]sunxi-spinand-phy: block lock register: 0x80 [14.188]sunxi-spinand-phy: feature register: 0x08 [14.193]sunxi-spinand-phy: sunxi physic nand init end [14.203]Loading Environment from SUNXI_FLASH... OK [14.217]try to burn key [14.220]out of usb burn from boot: not need burn key [14.225]Net: [14.226]No ethernet found. Hit any key to stop autoboot: 0 sunxi work mode=0x10 run usb efex delay time 2500 weak:otg_phy_config usb init ok set address 0x18 set address 0x18 ok SUNXI_EFEX_ERASE_TAG erase_flag = 0x12 origin_erase_flag = 0x1 FEX_CMD_fes_verify_status FEX_CMD_fes_verify last err=0 the 0 mbr table is ok the 1 mbr table is ok the 2 mbr table is ok the 3 mbr table is ok *************MBR DUMP*************** total mbr part 8 part[0] name :boot-resource part[0] classname :DISK part[0] addrlo :0x8000 part[0] lenlo :0x1f8 part[0] user_type :32768 part[0] keydata :0 part[0] ro :0 part[1] name :env part[1] classname :DISK part[1] addrlo :0x81f8 part[1] lenlo :0x1f8 part[1] user_type :32768 part[1] keydata :0 part[1] ro :0 part[2] name :env-redund part[2] classname :DISK part[2] addrlo :0x83f0 part[2] lenlo :0x1f8 part[2] user_type :32768 part[2] keydata :0 part[2] ro :0 part[3] name :boot part[3] classname :DISK part[3] addrlo :0x85e8 part[3] lenlo :0x5000 part[3] user_type :32768 part[3] keydata :0 part[3] ro :0 part[4] name :rootfs part[4] classname :DISK part[4] addrlo :0xd5e8 part[4] lenlo :0xbe00 part[4] user_type :32768 part[4] keydata :0 part[4] ro :0 part[5] name :recovery part[5] classname :DISK part[5] addrlo :0x193e8 part[5] lenlo :0x5780 part[5] user_type :32768 part[5] keydata :0 part[5] ro :0 part[6] name :rootfs_data part[6] classname :DISK part[6] addrlo :0x1eb68 part[6] lenlo :0x2800 part[6] user_type :32768 part[6] keydata :0 part[6] ro :0 part[7] name :UDISK part[7] classname :DISK part[7] addrlo :0x21368 part[7] lenlo :0x0 part[7] user_type :0 part[7] keydata :0 part[7] ro :0 common1(partition3) need it, here is a weak func total part: 9 mbr 0, 8000, 8000 boot-resource 1, 1f8, 8000 env 2, 1f8, 8000 env-redund 3, 1f8, 8000 boot 4, 5000, 8000 rootfs 5, be00, 8000 recovery 6, 5780, 8000 rootfs_data 7, 2800, 8000 UDISK 8, 0, 0 [20.527]erase blk 0 to blk 32 [20.530]blk 0 is bad, skip to erase [20.533]blk 1 is bad, skip to erase [20.536]blk 2 is bad, skip to erase [20.540]blk 3 is bad, skip to erase [20.543]blk 4 is bad, skip to erase [20.546]blk 5 is bad, skip to erase [20.549]blk 6 is bad, skip to erase [20.552]blk 7 is bad, skip to erase [20.556]blk 8 is bad, skip to erase [20.559]blk 9 is bad, skip to erase [20.562]blk 10 is bad, skip to erase [20.565]blk 11 is bad, skip to erase [20.569]blk 12 is bad, skip to erase [20.572]blk 13 is bad, skip to erase [20.575]blk 14 is bad, skip to erase [20.579]blk 15 is bad, skip to erase [20.582]blk 16 is bad, skip to erase [20.585]blk 17 is bad, skip to erase [20.588]blk 18 is bad, skip to erase [20.592]blk 19 is bad, skip to erase [20.595]blk 20 is bad, skip to erase [20.598]blk 21 is bad, skip to erase [20.602]blk 22 is bad, skip to erase [20.605]blk 23 is bad, skip to erase [20.608]blk 24 is bad, skip to erase [20.611]blk 25 is bad, skip to erase [20.615]blk 26 is bad, skip to erase [20.618]blk 27 is bad, skip to erase [20.621]blk 28 is bad, skip to erase [20.625]blk 29 is bad, skip to erase [20.628]blk 30 is bad, skip to erase [20.631]blk 31 is bad, skip to erase need erase flash: 18 [20.638]mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) device nand0 <nand>, # parts = 4 #: name size offset mask_flags 0: boot0 0x00100000 0x00000000 1 1: uboot 0x00300000 0x00100000 1 2: secure_storage 0x00100000 0x00400000 1 3: sys 0x07b00000 0x00500000 0 active partition: nand0,0 - (boot0) 0x00100000 @ 0x00000000 defaults: mtdids : nand0=nand mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) [20.698]MTD info (4) [20.700]pagesize: 0x1000 [20.702]blksize: 0x40000 [20.704]num offset bytes name [20.708]0 0x00000000 0x00100000 boot0 [20.712]1 0x00100000 0x00300000 uboot [20.715]2 0x00400000 0x00100000 secure_storage [20.720]3 0x00500000 0x07b00000 sys [20.723]ubi attach the last part of mtd device: NO.3 [20.787]ubi0: attaching mtd4 [20.802]ubi0 warning: scan_peb: bad ec header at pnum 491, drop this block [20.809]ubi0: scanning is finished [20.812]ubi0: empty MTD device detected [20.819]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [20.826]ubi0 warning: do_sync_erase: error -5 while erasing PEB 491, retry [20.838]sunxi-spinand: [SPINAND]: write single page failed: block 511, page 2, ret -5 [20.846]ubi0 error: ubi_io_write: error -5 while writing 24576 bytes to PEB 491:4096, written 4096 bytes [20.857]ubi0: dumping 24576 bytes of data from PEB 491, offset 4096 [20.865]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [20.871]ubi0 warning: do_sync_erase: error -5 while erasing PEB 491, retry [20.879]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [20.886]ubi0 warning: do_sync_erase: error -5 while erasing PEB 491, retry [20.894]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [20.901]ubi0 warning: do_sync_erase: error -5 while erasing PEB 491, retry [20.909]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [20.916]ubi0 error: do_sync_erase: cannot erase PEB 491, error -5 [20.922]ubi0 error: ubi_early_get_peb: no free eraseblocks [20.927]ubi0 error: ubi_attach_mtd_dev: failed to attach mtd4, error -28 [20.934]UBI error: cannot attach mtd4 [20.937]UBI error: cannot initialize UBI, error -28 UBI init error 28 Please check, if the correct MTD partition is used (size big enough?) [20.949]ubi part sys err ! [20.952]erase blk 0 to blk 32 [20.955]blk 0 is bad, skip to erase [20.958]blk 1 is bad, skip to erase [20.961]blk 2 is bad, skip to erase [20.964]blk 3 is bad, skip to erase [20.967]blk 4 is bad, skip to erase [20.971]blk 5 is bad, skip to erase [20.974]blk 6 is bad, skip to erase [20.977]blk 7 is bad, skip to erase [20.980]blk 8 is bad, skip to erase [20.983]blk 9 is bad, skip to erase [20.987]blk 10 is bad, skip to erase [20.990]blk 11 is bad, skip to erase [20.993]blk 12 is bad, skip to erase [20.997]blk 13 is bad, skip to erase [21.000]blk 14 is bad, skip to erase [21.003]blk 15 is bad, skip to erase [21.006]blk 16 is bad, skip to erase [21.010]blk 17 is bad, skip to erase [21.013]blk 18 is bad, skip to erase [21.016]blk 19 is bad, skip to erase [21.020]blk 20 is bad, skip to erase [21.023]blk 21 is bad, skip to erase [21.026]blk 22 is bad, skip to erase [21.029]blk 23 is bad, skip to erase [21.033]blk 24 is bad, skip to erase [21.036]blk 25 is bad, skip to erase [21.039]blk 26 is bad, skip to erase [21.043]blk 27 is bad, skip to erase [21.046]blk 28 is bad, skip to erase [21.049]blk 29 is bad, skip to erase [21.053]blk 30 is bad, skip to erase [21.056]blk 31 is bad, skip to erase [21.059]erase blk 40 to blk 1024 [21.062]blk 40 is bad, skip to erase [21.065]blk 41 is bad, skip to erase [21.070]erase blk 42 failed with -5 back [21.075]sunxi-spinand-phy: erase phy blk 42 failed with -5 back [21.082]blk 43 is bad, skip to erase [21.085]blk 44 is bad, skip to erase [21.089]blk 45 is bad, skip to erase [21.093]blk 47 is bad, skip to erase [21.098]blk 49 is bad, skip to erase [21.101]blk 50 is bad, skip to erase [21.104]blk 51 is bad, skip to erase [21.107]blk 52 is bad, skip to erase [21.111]blk 53 is bad, skip to erase [21.115]blk 55 is bad, skip to erase [21.120]blk 57 is bad, skip to erase [21.124]blk 59 is bad, skip to erase [21.129]blk 61 is bad, skip to erase [21.134]blk 63 is bad, skip to erase [21.137]blk 64 is bad, skip to erase [21.140]blk 65 is bad, skip to erase [21.145]blk 67 is bad, skip to erase [21.149]blk 69 is bad, skip to erase [21.152]blk 70 is bad, skip to erase [21.156]blk 71 is bad, skip to erase [21.160]blk 73 is bad, skip to erase [21.165]blk 75 is bad, skip to erase [21.168]blk 76 is bad, skip to erase [21.171]blk 77 is bad, skip to erase [21.176]blk 79 is bad, skip to erase [21.179]blk 80 is bad, skip to erase [21.182]blk 81 is bad, skip to erase [21.187]blk 83 is bad, skip to erase [21.190]blk 84 is bad, skip to erase [21.194]blk 85 is bad, skip to erase [21.198]blk 87 is bad, skip to erase [21.201]blk 88 is bad, skip to erase [21.205]blk 89 is bad, skip to erase [21.209]blk 91 is bad, skip to erase [21.214]blk 93 is bad, skip to erase [21.217]blk 94 is bad, skip to erase [21.220]blk 95 is bad, skip to erase [21.225]blk 97 is bad, skip to erase [21.229]blk 99 is bad, skip to erase [21.234]blk 101 is bad, skip to erase [21.238]blk 103 is bad, skip to erase [21.243]blk 105 is bad, skip to erase [21.248]blk 107 is bad, skip to erase [21.252]blk 109 is bad, skip to erase [21.257]blk 111 is bad, skip to erase [21.262]blk 113 is bad, skip to erase [21.266]blk 115 is bad, skip to erase [21.269]blk 116 is bad, skip to erase [21.273]blk 117 is bad, skip to erase [21.278]blk 119 is bad, skip to erase [21.281]blk 120 is bad, skip to erase [21.284]blk 121 is bad, skip to erase [21.289]blk 123 is bad, skip to erase [21.292]blk 124 is bad, skip to erase [21.296]blk 125 is bad, skip to erase [21.300]blk 127 is bad, skip to erase [21.304]blk 128 is bad, skip to erase [21.307]blk 129 is bad, skip to erase [21.312]blk 131 is bad, skip to erase [21.316]blk 133 is bad, skip to erase [21.319]blk 134 is bad, skip to erase [21.323]blk 135 is bad, skip to erase [21.328]blk 137 is bad, skip to erase [21.331]blk 138 is bad, skip to erase [21.334]blk 139 is bad, skip to erase [21.339]blk 141 is bad, skip to erase [21.342]blk 142 is bad, skip to erase [21.346]blk 143 is bad, skip to erase [21.350]blk 145 is bad, skip to erase [21.355]blk 147 is bad, skip to erase [21.360]blk 149 is bad, skip to erase [21.364]blk 151 is bad, skip to erase [21.369]blk 153 is bad, skip to erase [21.372]blk 154 is bad, skip to erase [21.375]blk 155 is bad, skip to erase [21.380]blk 157 is bad, skip to erase [21.385]blk 159 is bad, skip to erase [21.389]blk 161 is bad, skip to erase [21.393]blk 162 is bad, skip to erase [21.396]blk 163 is bad, skip to erase [21.401]blk 165 is bad, skip to erase [21.405]blk 167 is bad, skip to erase [21.409]blk 168 is bad, skip to erase [21.412]blk 169 is bad, skip to erase [21.415]blk 170 is bad, skip to erase [21.419]blk 171 is bad, skip to erase [21.423]blk 173 is bad, skip to erase [21.428]blk 175 is bad, skip to erase [21.431]blk 176 is bad, skip to erase [21.435]blk 177 is bad, skip to erase [21.439]blk 179 is bad, skip to erase [21.444]blk 181 is bad, skip to erase [21.449]blk 183 is bad, skip to erase [21.453]blk 185 is bad, skip to erase [21.457]blk 186 is bad, skip to erase [21.460]blk 187 is bad, skip to erase [21.465]blk 189 is bad, skip to erase [21.469]blk 191 is bad, skip to erase [21.474]blk 193 is bad, skip to erase [21.479]blk 195 is bad, skip to erase [21.483]blk 197 is bad, skip to erase [21.488]blk 199 is bad, skip to erase [21.492]blk 201 is bad, skip to erase [21.497]blk 203 is bad, skip to erase [21.502]blk 205 is bad, skip to erase [21.506]blk 207 is bad, skip to erase [21.511]blk 209 is bad, skip to erase [21.514]blk 210 is bad, skip to erase [21.517]blk 211 is bad, skip to erase [21.522]blk 213 is bad, skip to erase [21.527]blk 215 is bad, skip to erase [21.531]blk 217 is bad, skip to erase [21.536]blk 219 is bad, skip to erase [21.541]blk 221 is bad, skip to erase [21.545]blk 223 is bad, skip to erase [21.550]blk 225 is bad, skip to erase [21.554]blk 227 is bad, skip to erase [21.559]blk 229 is bad, skip to erase [21.564]blk 231 is bad, skip to erase [21.568]blk 233 is bad, skip to erase [21.572]blk 234 is bad, skip to erase [21.575]blk 235 is bad, skip to erase [21.580]blk 237 is bad, skip to erase [21.584]blk 239 is bad, skip to erase [21.589]blk 241 is bad, skip to erase [21.593]blk 243 is bad, skip to erase [21.598]blk 245 is bad, skip to erase [21.603]blk 247 is bad, skip to erase [21.607]blk 249 is bad, skip to erase [21.612]blk 251 is bad, skip to erase [21.615]blk 252 is bad, skip to erase [21.619]blk 253 is bad, skip to erase [21.623]blk 255 is bad, skip to erase [21.627]blk 256 is bad, skip to erase [21.630]blk 257 is bad, skip to erase [21.633]blk 258 is bad, skip to erase [21.637]blk 259 is bad, skip to erase [21.641]blk 261 is bad, skip to erase [21.645]blk 262 is bad, skip to erase [21.648]blk 263 is bad, skip to erase [21.651]blk 264 is bad, skip to erase [21.655]blk 265 is bad, skip to erase [21.660]blk 267 is bad, skip to erase [21.663]blk 268 is bad, skip to erase [21.666]blk 269 is bad, skip to erase [21.671]blk 271 is bad, skip to erase [21.675]blk 273 is bad, skip to erase [21.680]blk 275 is bad, skip to erase [21.685]blk 277 is bad, skip to erase [21.688]blk 278 is bad, skip to erase [21.691]blk 279 is bad, skip to erase [21.696]blk 281 is bad, skip to erase [21.701]blk 283 is bad, skip to erase [21.705]blk 285 is bad, skip to erase [21.709]blk 286 is bad, skip to erase [21.712]blk 287 is bad, skip to erase [21.717]blk 289 is bad, skip to erase [21.720]blk 290 is bad, skip to erase [21.723]blk 291 is bad, skip to erase [21.728]blk 293 is bad, skip to erase [21.731]blk 294 is bad, skip to erase [21.735]blk 295 is bad, skip to erase [21.738]blk 296 is bad, skip to erase [21.742]blk 297 is bad, skip to erase [21.746]blk 299 is bad, skip to erase [21.751]blk 301 is bad, skip to erase [21.754]blk 302 is bad, skip to erase [21.757]blk 303 is bad, skip to erase [21.762]blk 305 is bad, skip to erase [21.767]blk 307 is bad, skip to erase [21.770]blk 308 is bad, skip to erase [21.773]blk 309 is bad, skip to erase [21.778]blk 311 is bad, skip to erase [21.783]blk 313 is bad, skip to erase [21.786]blk 314 is bad, skip to erase [21.789]blk 315 is bad, skip to erase [21.794]blk 317 is bad, skip to erase [21.797]blk 318 is bad, skip to erase [21.801]blk 319 is bad, skip to erase [21.805]blk 321 is bad, skip to erase [21.810]blk 323 is bad, skip to erase [21.815]blk 325 is bad, skip to erase [21.818]blk 326 is bad, skip to erase [21.821]blk 327 is bad, skip to erase [21.826]blk 329 is bad, skip to erase [21.831]blk 331 is bad, skip to erase [21.835]blk 333 is bad, skip to erase [21.840]blk 335 is bad, skip to erase [21.843]blk 336 is bad, skip to erase [21.847]blk 337 is bad, skip to erase [21.851]blk 339 is bad, skip to erase [21.856]blk 341 is bad, skip to erase [21.860]blk 343 is bad, skip to erase [21.864]blk 344 is bad, skip to erase [21.867]blk 345 is bad, skip to erase [21.872]blk 347 is bad, skip to erase [21.875]blk 348 is bad, skip to erase [21.879]blk 349 is bad, skip to erase [21.883]blk 351 is bad, skip to erase [21.887]blk 352 is bad, skip to erase [21.890]blk 353 is bad, skip to erase [21.895]blk 355 is bad, skip to erase [21.899]blk 357 is bad, skip to erase [21.904]blk 359 is bad, skip to erase [21.907]blk 360 is bad, skip to erase [21.911]blk 361 is bad, skip to erase [21.914]blk 362 is bad, skip to erase [21.917]blk 363 is bad, skip to erase [21.922]blk 365 is bad, skip to erase [21.927]blk 367 is bad, skip to erase [21.931]blk 369 is bad, skip to erase [21.936]blk 371 is bad, skip to erase [21.940]blk 373 is bad, skip to erase [21.944]blk 374 is bad, skip to erase [21.947]blk 375 is bad, skip to erase [21.952]blk 377 is bad, skip to erase [21.956]blk 379 is bad, skip to erase [21.960]blk 380 is bad, skip to erase [21.963]blk 381 is bad, skip to erase [21.968]blk 383 is bad, skip to erase [21.971]blk 384 is bad, skip to erase [21.974]blk 385 is bad, skip to erase [21.979]blk 387 is bad, skip to erase [21.984]blk 389 is bad, skip to erase [21.987]blk 390 is bad, skip to erase [21.990]blk 391 is bad, skip to erase [21.995]blk 393 is bad, skip to erase [22.000]blk 395 is bad, skip to erase [22.003]blk 396 is bad, skip to erase [22.006]blk 397 is bad, skip to erase [22.011]blk 399 is bad, skip to erase [22.014]blk 400 is bad, skip to erase [22.018]blk 401 is bad, skip to erase [22.022]blk 403 is bad, skip to erase [22.026]blk 404 is bad, skip to erase [22.029]blk 405 is bad, skip to erase [22.034]blk 407 is bad, skip to erase [22.038]blk 409 is bad, skip to erase [22.042]blk 410 is bad, skip to erase [22.045]blk 411 is bad, skip to erase [22.048]blk 412 is bad, skip to erase [22.052]blk 413 is bad, skip to erase [22.055]blk 414 is bad, skip to erase [22.059]blk 415 is bad, skip to erase [22.063]blk 417 is bad, skip to erase [22.068]blk 419 is bad, skip to erase [22.073]blk 421 is bad, skip to erase [22.077]blk 423 is bad, skip to erase [22.080]blk 424 is bad, skip to erase [22.084]blk 425 is bad, skip to erase [22.089]blk 427 is bad, skip to erase [22.093]blk 429 is bad, skip to erase [22.098]blk 431 is bad, skip to erase [22.101]blk 432 is bad, skip to erase [22.104]blk 433 is bad, skip to erase [22.109]blk 435 is bad, skip to erase [22.114]blk 437 is bad, skip to erase [22.118]blk 439 is bad, skip to erase [22.122]blk 440 is bad, skip to erase [22.125]blk 441 is bad, skip to erase [22.130]blk 443 is bad, skip to erase [22.134]blk 445 is bad, skip to erase [22.138]blk 446 is bad, skip to erase [22.141]blk 447 is bad, skip to erase [22.146]blk 449 is bad, skip to erase [22.150]blk 451 is bad, skip to erase [22.155]blk 453 is bad, skip to erase [22.160]blk 455 is bad, skip to erase [22.164]blk 457 is bad, skip to erase [22.167]blk 458 is bad, skip to erase [22.171]blk 459 is bad, skip to erase [22.175]blk 461 is bad, skip to erase [22.180]blk 463 is bad, skip to erase [22.183]blk 464 is bad, skip to erase [22.187]blk 465 is bad, skip to erase [22.191]blk 467 is bad, skip to erase [22.195]blk 468 is bad, skip to erase [22.198]blk 469 is bad, skip to erase [22.203]blk 471 is bad, skip to erase [22.206]blk 472 is bad, skip to erase [22.210]blk 473 is bad, skip to erase [22.213]blk 474 is bad, skip to erase [22.216]blk 475 is bad, skip to erase [22.220]blk 476 is bad, skip to erase [22.223]blk 477 is bad, skip to erase [22.228]blk 479 is bad, skip to erase [22.231]blk 480 is bad, skip to erase [22.234]blk 481 is bad, skip to erase [22.239]blk 483 is bad, skip to erase [22.244]blk 485 is bad, skip to erase [22.248]blk 487 is bad, skip to erase [22.252]blk 488 is bad, skip to erase [22.255]blk 489 is bad, skip to erase [22.258]blk 490 is bad, skip to erase [22.262]blk 491 is bad, skip to erase [22.266]blk 493 is bad, skip to erase [22.270]blk 494 is bad, skip to erase [22.273]blk 495 is bad, skip to erase [22.278]blk 497 is bad, skip to erase [22.281]blk 498 is bad, skip to erase [22.285]blk 499 is bad, skip to erase [22.288]blk 500 is bad, skip to erase [22.291]blk 501 is bad, skip to erase [22.296]blk 503 is bad, skip to erase [22.301]blk 505 is bad, skip to erase [22.304]blk 506 is bad, skip to erase [22.307]blk 507 is bad, skip to erase [22.311]blk 508 is bad, skip to erase [22.314]blk 509 is bad, skip to erase [22.319]blk 511 is bad, skip to erase [22.322]blk 512 is bad, skip to erase [22.325]blk 513 is bad, skip to erase [22.330]blk 515 is bad, skip to erase [22.335]blk 517 is bad, skip to erase [22.339]blk 519 is bad, skip to erase [22.344]blk 521 is bad, skip to erase [22.349]blk 523 is bad, skip to erase [22.353]blk 525 is bad, skip to erase [22.358]blk 527 is bad, skip to erase [22.361]blk 528 is bad, skip to erase [22.364]blk 529 is bad, skip to erase [22.369]blk 531 is bad, skip to erase [22.374]blk 533 is bad, skip to erase [22.378]blk 535 is bad, skip to erase [22.383]blk 537 is bad, skip to erase [22.388]blk 539 is bad, skip to erase [22.392]blk 541 is bad, skip to erase [22.397]blk 543 is bad, skip to erase [22.401]blk 545 is bad, skip to erase [22.405]blk 546 is bad, skip to erase [22.408]blk 547 is bad, skip to erase [22.413]blk 549 is bad, skip to erase [22.417]blk 551 is bad, skip to erase [22.421]blk 552 is bad, skip to erase [22.424]blk 553 is bad, skip to erase [22.429]blk 555 is bad, skip to erase [22.432]blk 556 is bad, skip to erase [22.435]blk 557 is bad, skip to erase [22.440]blk 559 is bad, skip to erase [22.443]blk 560 is bad, skip to erase [22.447]blk 561 is bad, skip to erase [22.450]blk 562 is bad, skip to erase [22.454]blk 563 is bad, skip to erase [22.457]blk 564 is bad, skip to erase [22.460]blk 565 is bad, skip to erase [22.465]blk 567 is bad, skip to erase [22.468]blk 568 is bad, skip to erase [22.472]blk 569 is bad, skip to erase [22.476]blk 571 is bad, skip to erase [22.480]blk 572 is bad, skip to erase [22.483]blk 573 is bad, skip to erase [22.488]blk 575 is bad, skip to erase [22.491]blk 576 is bad, skip to erase [22.494]blk 577 is bad, skip to erase [22.499]blk 579 is bad, skip to erase [22.504]blk 581 is bad, skip to erase [22.508]blk 583 is bad, skip to erase [22.513]blk 585 is bad, skip to erase [22.518]blk 587 is bad, skip to erase [22.521]blk 588 is bad, skip to erase [22.524]blk 589 is bad, skip to erase [22.529]blk 591 is bad, skip to erase [22.534]blk 593 is bad, skip to erase [22.538]blk 595 is bad, skip to erase [22.543]blk 597 is bad, skip to erase [22.546]blk 598 is bad, skip to erase [22.549]blk 599 is bad, skip to erase [22.554]blk 601 is bad, skip to erase [22.559]blk 603 is bad, skip to erase [22.562]blk 604 is bad, skip to erase [22.565]blk 605 is bad, skip to erase [22.570]blk 607 is bad, skip to erase [22.573]blk 608 is bad, skip to erase [22.577]blk 609 is bad, skip to erase [22.581]blk 611 is bad, skip to erase [22.585]blk 612 is bad, skip to erase [22.588]blk 613 is bad, skip to erase [22.593]blk 615 is bad, skip to erase [22.596]blk 616 is bad, skip to erase [22.600]blk 617 is bad, skip to erase [22.604]blk 619 is bad, skip to erase [22.609]blk 621 is bad, skip to erase [22.612]blk 622 is bad, skip to erase [22.615]blk 623 is bad, skip to erase [22.620]blk 625 is bad, skip to erase [22.623]blk 626 is bad, skip to erase [22.627]blk 627 is bad, skip to erase [22.632]blk 629 is bad, skip to erase [22.636]blk 631 is bad, skip to erase [22.641]blk 633 is bad, skip to erase [22.644]blk 634 is bad, skip to erase [22.647]blk 635 is bad, skip to erase [22.652]blk 637 is bad, skip to erase [22.657]blk 639 is bad, skip to erase [22.660]blk 640 is bad, skip to erase [22.663]blk 641 is bad, skip to erase [22.668]blk 643 is bad, skip to erase [22.673]blk 645 is bad, skip to erase [22.676]blk 646 is bad, skip to erase [22.679]blk 647 is bad, skip to erase [22.684]blk 649 is bad, skip to erase [22.689]blk 651 is bad, skip to erase [22.693]blk 653 is bad, skip to erase [22.697]blk 654 is bad, skip to erase [22.700]blk 655 is bad, skip to erase [22.705]blk 657 is bad, skip to erase [22.709]blk 659 is bad, skip to erase [22.714]blk 661 is bad, skip to erase [22.719]blk 663 is bad, skip to erase [22.723]blk 665 is bad, skip to erase [22.726]blk 666 is bad, skip to erase [22.730]blk 667 is bad, skip to erase [22.734]blk 669 is bad, skip to erase [22.739]blk 671 is bad, skip to erase [22.742]blk 672 is bad, skip to erase [22.746]blk 673 is bad, skip to erase [22.750]blk 675 is bad, skip to erase [22.754]blk 676 is bad, skip to erase [22.757]blk 677 is bad, skip to erase [22.762]blk 679 is bad, skip to erase [22.765]blk 680 is bad, skip to erase [22.769]blk 681 is bad, skip to erase [22.773]blk 683 is bad, skip to erase [22.776]blk 684 is bad, skip to erase [22.780]blk 685 is bad, skip to erase [22.785]blk 687 is bad, skip to erase [22.788]blk 688 is bad, skip to erase [22.791]blk 689 is bad, skip to erase [22.796]blk 691 is bad, skip to erase [22.799]blk 692 is bad, skip to erase [22.803]blk 693 is bad, skip to erase [22.806]blk 694 is bad, skip to erase [22.809]blk 695 is bad, skip to erase [22.814]blk 697 is bad, skip to erase [22.817]blk 698 is bad, skip to erase [22.821]blk 699 is bad, skip to erase [22.825]blk 701 is bad, skip to erase [22.830]blk 703 is bad, skip to erase [22.833]blk 704 is bad, skip to erase [22.837]blk 705 is bad, skip to erase [22.841]blk 707 is bad, skip to erase [22.845]blk 708 is bad, skip to erase [22.848]blk 709 is bad, skip to erase [22.851]blk 710 is bad, skip to erase [22.855]blk 711 is bad, skip to erase [22.860]blk 713 is bad, skip to erase [22.864]blk 715 is bad, skip to erase [22.869]blk 717 is bad, skip to erase [22.873]blk 719 is bad, skip to erase [22.878]blk 721 is bad, skip to erase [22.883]blk 723 is bad, skip to erase [22.887]blk 725 is bad, skip to erase [22.892]blk 727 is bad, skip to erase [22.896]blk 729 is bad, skip to erase [22.901]blk 731 is bad, skip to erase [22.906]blk 733 is bad, skip to erase [22.910]blk 735 is bad, skip to erase [22.914]blk 736 is bad, skip to erase [22.917]blk 737 is bad, skip to erase [22.922]blk 739 is bad, skip to erase [22.926]blk 741 is bad, skip to erase [22.931]blk 743 is bad, skip to erase [22.935]blk 745 is bad, skip to erase [22.939]blk 746 is bad, skip to erase [22.942]blk 747 is bad, skip to erase [22.946]blk 748 is bad, skip to erase [22.949]blk 749 is bad, skip to erase [22.954]blk 751 is bad, skip to erase [22.957]blk 752 is bad, skip to erase [22.960]blk 753 is bad, skip to erase [22.965]blk 755 is bad, skip to erase [22.968]blk 756 is bad, skip to erase [22.972]blk 757 is bad, skip to erase [22.976]blk 759 is bad, skip to erase [22.981]blk 761 is bad, skip to erase [22.984]blk 762 is bad, skip to erase [22.988]blk 763 is bad, skip to erase [22.992]blk 765 is bad, skip to erase [22.996]blk 766 is bad, skip to erase [22.999]blk 767 is bad, skip to erase [23.002]blk 769 is bad, skip to erase [23.006]blk 770 is bad, skip to erase [23.009]blk 771 is bad, skip to erase [23.014]blk 773 is bad, skip to erase [23.017]blk 774 is bad, skip to erase [23.021]blk 775 is bad, skip to erase [23.025]blk 777 is bad, skip to erase [23.028]blk 778 is bad, skip to erase [23.032]blk 779 is bad, skip to erase [23.037]blk 781 is bad, skip to erase [23.040]blk 782 is bad, skip to erase [23.043]blk 783 is bad, skip to erase [23.048]blk 785 is bad, skip to erase [23.053]blk 787 is bad, skip to erase [23.056]blk 788 is bad, skip to erase [23.059]blk 789 is bad, skip to erase [23.064]blk 791 is bad, skip to erase [23.069]blk 793 is bad, skip to erase [23.073]blk 795 is bad, skip to erase [23.076]blk 796 is bad, skip to erase [23.080]blk 797 is bad, skip to erase [23.085]blk 799 is bad, skip to erase [23.089]blk 801 is bad, skip to erase [23.092]blk 802 is bad, skip to erase [23.096]blk 803 is bad, skip to erase [23.101]blk 805 is bad, skip to erase [23.105]blk 807 is bad, skip to erase [23.110]blk 809 is bad, skip to erase [23.114]blk 811 is bad, skip to erase [23.118]blk 812 is bad, skip to erase [23.121]blk 813 is bad, skip to erase [23.126]blk 815 is bad, skip to erase [23.129]blk 816 is bad, skip to erase [23.132]blk 817 is bad, skip to erase [23.137]blk 819 is bad, skip to erase [23.140]blk 820 is bad, skip to erase [23.144]blk 821 is bad, skip to erase [23.147]blk 822 is bad, skip to erase [23.151]blk 823 is bad, skip to erase [23.155]blk 825 is bad, skip to erase [23.158]blk 826 is bad, skip to erase [23.162]blk 827 is bad, skip to erase [23.165]blk 828 is bad, skip to erase [23.169]blk 829 is bad, skip to erase [23.173]blk 831 is bad, skip to erase [23.178]blk 833 is bad, skip to erase [23.181]blk 834 is bad, skip to erase [23.185]blk 835 is bad, skip to erase [23.189]blk 837 is bad, skip to erase [23.194]blk 839 is bad, skip to erase [23.199]blk 841 is bad, skip to erase [23.203]blk 843 is bad, skip to erase [23.208]blk 845 is bad, skip to erase [23.212]blk 847 is bad, skip to erase [23.217]blk 849 is bad, skip to erase [23.222]blk 851 is bad, skip to erase [23.225]blk 852 is bad, skip to erase [23.228]blk 853 is bad, skip to erase [23.233]blk 855 is bad, skip to erase [23.236]blk 856 is bad, skip to erase [23.240]blk 857 is bad, skip to erase [23.244]blk 859 is bad, skip to erase [23.248]blk 860 is bad, skip to erase [23.251]blk 861 is bad, skip to erase [23.254]blk 862 is bad, skip to erase [23.258]blk 863 is bad, skip to erase [23.262]blk 865 is bad, skip to erase [23.267]blk 867 is bad, skip to erase [23.272]blk 869 is bad, skip to erase [23.276]blk 871 is bad, skip to erase [23.281]blk 873 is bad, skip to erase [23.284]blk 874 is bad, skip to erase [23.288]blk 875 is bad, skip to erase [23.292]blk 877 is bad, skip to erase [23.297]blk 879 is bad, skip to erase [23.301]blk 881 is bad, skip to erase [23.306]blk 883 is bad, skip to erase [23.311]blk 885 is bad, skip to erase [23.315]blk 887 is bad, skip to erase [23.320]blk 889 is bad, skip to erase [23.325]blk 891 is bad, skip to erase [23.329]blk 893 is bad, skip to erase [23.334]blk 895 is bad, skip to erase [23.338]blk 897 is bad, skip to erase [23.342]blk 898 is bad, skip to erase [23.345]blk 899 is bad, skip to erase [23.348]blk 900 is bad, skip to erase [23.352]blk 901 is bad, skip to erase [23.357]blk 903 is bad, skip to erase [23.361]blk 905 is bad, skip to erase [23.364]blk 906 is bad, skip to erase [23.368]blk 907 is bad, skip to erase [23.372]blk 909 is bad, skip to erase [23.376]blk 910 is bad, skip to erase [23.379]blk 911 is bad, skip to erase [23.384]blk 913 is bad, skip to erase [23.388]blk 915 is bad, skip to erase [23.392]blk 916 is bad, skip to erase [23.395]blk 917 is bad, skip to erase [23.400]blk 919 is bad, skip to erase [23.404]blk 921 is bad, skip to erase [23.409]blk 923 is bad, skip to erase [23.414]blk 925 is bad, skip to erase [23.418]blk 927 is bad, skip to erase [23.423]blk 929 is bad, skip to erase [23.428]blk 931 is bad, skip to erase [23.432]blk 933 is bad, skip to erase [23.435]blk 934 is bad, skip to erase [23.439]blk 935 is bad, skip to erase [23.443]blk 937 is bad, skip to erase [23.448]blk 939 is bad, skip to erase [23.451]blk 940 is bad, skip to erase [23.455]blk 941 is bad, skip to erase [23.458]blk 942 is bad, skip to erase [23.462]blk 943 is bad, skip to erase [23.466]blk 945 is bad, skip to erase [23.469]blk 946 is bad, skip to erase [23.473]blk 947 is bad, skip to erase [23.478]blk 949 is bad, skip to erase [23.481]blk 950 is bad, skip to erase [23.484]blk 951 is bad, skip to erase [23.489]blk 953 is bad, skip to erase [23.494]blk 955 is bad, skip to erase [23.497]blk 956 is bad, skip to erase [23.500]blk 957 is bad, skip to erase [23.504]blk 958 is bad, skip to erase [23.507]blk 959 is bad, skip to erase [23.510]blk 960 is bad, skip to erase [23.514]blk 961 is bad, skip to erase [23.518]blk 963 is bad, skip to erase [23.522]blk 964 is bad, skip to erase [23.525]blk 965 is bad, skip to erase [23.530]blk 967 is bad, skip to erase [23.533]blk 968 is bad, skip to erase [23.537]blk 969 is bad, skip to erase [23.540]blk 970 is bad, skip to erase [23.543]blk 971 is bad, skip to erase [23.548]blk 973 is bad, skip to erase [23.551]blk 974 is bad, skip to erase [23.555]blk 975 is bad, skip to erase [23.559]blk 977 is bad, skip to erase [23.563]blk 978 is bad, skip to erase [23.566]blk 979 is bad, skip to erase [23.571]blk 981 is bad, skip to erase [23.575]blk 983 is bad, skip to erase [23.579]blk 984 is bad, skip to erase [23.582]blk 985 is bad, skip to erase [23.585]blk 986 is bad, skip to erase [23.589]blk 987 is bad, skip to erase [23.592]blk 988 is bad, skip to erase [23.596]blk 989 is bad, skip to erase [23.599]blk 990 is bad, skip to erase [23.602]blk 991 is bad, skip to erase [23.607]blk 993 is bad, skip to erase [23.610]blk 994 is bad, skip to erase [23.614]blk 995 is bad, skip to erase [23.617]blk 996 is bad, skip to erase [23.620]blk 997 is bad, skip to erase [23.625]blk 999 is bad, skip to erase [23.630]blk 1001 is bad, skip to erase [23.633]blk 1002 is bad, skip to erase [23.637]blk 1003 is bad, skip to erase [23.641]blk 1005 is bad, skip to erase [23.645]blk 1006 is bad, skip to erase [23.648]blk 1007 is bad, skip to erase [23.653]blk 1009 is bad, skip to erase [23.656]blk 1010 is bad, skip to erase [23.660]blk 1011 is bad, skip to erase [23.663]blk 1012 is bad, skip to erase [23.667]blk 1013 is bad, skip to erase [23.670]blk 1014 is bad, skip to erase [23.674]blk 1015 is bad, skip to erase [23.677]blk 1016 is bad, skip to erase [23.681]blk 1017 is bad, skip to erase [23.684]blk 1018 is bad, skip to erase [23.688]blk 1019 is bad, skip to erase [23.691]blk 1020 is bad, skip to erase [23.695]blk 1021 is bad, skip to erase [23.700]sunxi-spinand: spinand secure storage ok for phy blk 35 and 39 [23.706]sunxi-spinand: secure storage blks have never used before [23.713]sunxi-spinand: secure storage has no valid data on item 0 [23.718]Item0 (Map) magic is bad [23.721]the secure storage map is empty [23.885]sunxi-spinand: write secure storage itme 0 ok [23.890]erase secure storage: 0 ok SUNXI_EFEX_MBR_TAG mbr size = 0x10000 force mbr device nand0 <nand>, # parts = 4 #: name size offset mask_flags 0: boot0 0x00100000 0x00000000 1 1: uboot 0x00300000 0x00100000 1 2: secure_storage 0x00100000 0x00400000 1 3: sys 0x07b00000 0x00500000 0 active partition: nand0,0 - (boot0) 0x00100000 @ 0x00000000 defaults: mtdids : nand0=nand mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) [23.944]MTD info (4) [23.946]pagesize: 0x1000 [23.948]blksize: 0x40000 [23.950]num offset bytes name [23.954]0 0x00000000 0x00100000 boot0 [23.957]1 0x00100000 0x00300000 uboot [23.961]2 0x00400000 0x00100000 secure_storage [23.966]3 0x00500000 0x07b00000 sys [23.969]MBR info (unalign): [23.972]partno addr sects type name [23.976]0 0x00000000 0x00008000 0x00000001 mbr [23.981]1 0x00008000 0x000001f8 0x00008000 boot-resource [23.987]2 0x000081f8 0x000001f8 0x00008000 env [23.992]3 0x000083f0 0x000001f8 0x00008000 env-redund [23.997]4 0x000085e8 0x00005000 0x00008000 boot [24.002]5 0x0000d5e8 0x0000be00 0x00008000 rootfs [24.007]6 0x000193e8 0x00005780 0x00008000 recovery [24.012]7 0x0001eb68 0x00002800 0x00008000 rootfs_data [24.017]8 0x00021368 0x00000000 0x00000000 UDISK [24.022]ubi attach the last part of mtd device: NO.3 [24.027]MBR info (align): [24.029]partno addr sects type name [24.034]0 0x00002800 0x000081f0 0x00000001 mbr [24.039]1 0x0000a9f0 0x000001f8 0x00008000 boot-resource [24.045]2 0x0000abe8 0x000001f8 0x00008000 env [24.049]3 0x0000ade0 0x000001f8 0x00008000 env-redund [24.055]4 0x0000afd8 0x000050b8 0x00008000 boot [24.060]5 0x00010090 0x0000bef8 0x00008000 rootfs [24.065]6 0x0001bf88 0x00005898 0x00008000 recovery [24.070]7 0x00021820 0x00002958 0x00008000 rootfs_data [24.075]8 0x00024178 0x00000000 0x00000000 UDISK [24.080]ubi attach the last part of mtd device: NO.3 [24.085]ubi attatch mtd, name: sys [24.088]ubi0: attaching mtd4 [24.103]ubi0 warning: scan_peb: bad ec header at pnum 491, drop this block [24.110]ubi0: scanning is finished [24.113]ubi0: empty MTD device detected [24.124]sunxi-spinand: [SPINAND]: write single page failed: block 511, page 1, ret -5 [24.131]ubi0 error: ubi_io_write: error -5 while writing 24576 bytes to PEB 491:4096, written 0 bytes [24.142]ubi0: dumping 24576 bytes of data from PEB 491, offset 4096 [24.149]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [24.156]ubi0 warning: do_sync_erase: error -5 while erasing PEB 491, retry [24.164]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [24.171]ubi0 warning: do_sync_erase: error -5 while erasing PEB 491, retry [24.179]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [24.186]ubi0 warning: do_sync_erase: error -5 while erasing PEB 491, retry [24.194]sunxi-spinand: [SPINAND]: erase block 511 in addr 0x7fc0000 failed: -5 [24.201]ubi0 error: do_sync_erase: cannot erase PEB 491, error -5 [24.207]ubi0 error: ubi_early_get_peb: no free eraseblocks [24.212]ubi0 error: ubi_attach_mtd_dev: failed to attach mtd4, error -28 [24.219]UBI error: cannot attach mtd4 [24.222]UBI error: cannot initialize UBI, error -28 UBI init error 28 Please check, if the correct MTD partition is used (size big enough?) [24.234]ubi part sys err ! [24.237]initialize sunxi spinand ubi failed download_standard_gpt:write mbr sectors fail ret = 0
-
家里垃圾堆翻出一片新的 GD5F1GQ4UBYIG,刚好支持,我焊上去试一试。
-
[4071]fes begin commit:88480af [4074]set pll start [4076]fix vccio detect value:0xc0 [4079]periph0 has been enabled [4082]set pll end [4083][pmu]: bus read error [4086]board init ok [4088]beign to init dram [4090]ZQ value = 0x32 [4092]get_pmu_exist() = -1 [4095]ddr_efuse_type: 0xa [4097]trefi:7.8ms [4099][AUTO DEBUG] single rank and full DQ! [4103]ddr_efuse_type: 0xa [4106]trefi:7.8ms [4108][AUTO DEBUG] rank 0 row = 13 [4111][AUTO DEBUG] rank 0 bank = 4 [4114][AUTO DEBUG] rank 0 page size = 2 KB [4118]DRAM BOOT DRIVE INFO: V0.33 [4121]DRAM CLK = 528 MHz [4124]DRAM Type = 2 (2:DDR2,3:DDR3) [4127]DRAMC read ODT off. [4129]DRAM ODT off. [4131]ddr_efuse_type: 0xa [4134]DRAM SIZE =64 M [4136]dram_tpr4:0x0 [4138]PLL_DDR_CTRL_REG:0xf8002b00 [4141]DRAM_CLK_REG:0xc0000000 [4144][TIMING DEBUG] MR2= 0x0 [4148]DRAM simple test OK. [4151]init dram ok U-Boot 2018.05-g24521d6-dirty (Mar 27 2022 - 20:41:23 +0800) Allwinner Technology [12.169]DRAM: 64 MiB [12.174]Relocation Offset is: 01ee7000 [12.200]secure enable bit: 0 [12.206]CPU=720 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=300Mhz [12.213]flash init start [12.215]workmode = 16,storage type = 0 try card 2 set card number 2 get card number 2 [12.222][mmc]: mmc driver ver uboot2018:2021-11-19 15:38:00 [12.232][mmc]: get sdc_type fail and use default host:tm4. [12.264][mmc]: Is not Boot mode! [12.267][mmc]: SUNXI SDMMC Controller Version:0x50310 [12.278][mmc]: ************Try SD card 2************ [12.284][mmc]: mmc 2 cmd timeout 100 status 100 [12.288][mmc]: smc 2 err, cmd 8, RTO [12.291][mmc]: mmc 2 close bus gating and reset [12.296][mmc]: mmc 2 cmd timeout 100 status 100 [12.301][mmc]: smc 2 err, cmd 55, RTO [12.304][mmc]: mmc 2 close bus gating and reset [12.308][mmc]: ************Try MMC card 2************ [12.317][mmc]: mmc 2 cmd timeout 100 status 100 [12.321][mmc]: smc 2 err, cmd 1, RTO [12.325][mmc]: mmc 2 close bus gating and reset [12.329][mmc]: Card did not respond to voltage select! [12.334][mmc]: ************SD/MMC 2 init error!************ [12.339][mmc]: mmc init product failed MMC init failed try emmc fail [12.356]sunxi-spinand: AW SPINand MTD Layer Version: 1.5 20200407 [12.362]sunxi-spinand-phy: AW SPINand Phy Layer Version: 1.9 20200306 [12.426]sunxi-spinand-phy: request spi0 gpio ok [12.431]sunxi-spinand-phy: request general tx dma channel ok! [12.436]sunxi-spinand-phy: request general rx dma channel ok! [12.442]sunxi-spinand-phy: set spic0 clk to 20 Mhz [12.446]sunxi-spinand-phy: init spic0 clk ok sspi->base_addr = 0x4025000, the SPI control register: [VER] 0x4025000 = 0x00010001, [GCR] 0x4025004 = 0x00000083, [TCR] 0x4025008 = 0x00000184 [ICR] 0x4025010 = 0x00000f00, [ISR] 0x4025014 = 0x00000032, [FCR] 0x4025018 = 0x00200020 [FSR] 0x402501c = 0x00000000, [WCR] 0x4025020 = 0x00000000, [CCR] 0x4025024 = 0x00000002 [SDC] 0x4025028 = 0x00002000, [BCR] 0x4025030 = 0x00000000, [TCR] 0x4025034 = 0x00000000 [BCC] 0x4025038 = 0x00000000, [DMA] 0x4025088 = 0x000000e5 [12.492]sunxi-spinand-phy: not detect any munufacture from id table [12.508]sunxi-spinand-phy: get spi-nand Model from fdt fail [12.513]sunxi-spinand-phy: get phy info from fdt fail [12.518]sunxi-spinand-phy: not detect munufacture from fdt [12.523]sunxi-spinand-phy: detect munufacture from id table: GD [12.529]sunxi-spinand-phy: detect spinand id: ffffd1c8 ffffffff [12.534]sunxi-spinand-phy: ========== arch info ========== [12.540]sunxi-spinand-phy: Model: GD5F1GQ4UBYIG [12.545]sunxi-spinand-phy: Munufacture: GD [12.550]sunxi-spinand-phy: DieCntPerChip: 1 [12.554]sunxi-spinand-phy: BlkCntPerDie: 1024 [12.559]sunxi-spinand-phy: PageCntPerBlk: 64 [12.563]sunxi-spinand-phy: SectCntPerPage: 4 [12.568]sunxi-spinand-phy: OobSizePerPage: 64 [12.572]sunxi-spinand-phy: BadBlockFlag: 0x0 [12.577]sunxi-spinand-phy: OperationOpt: 0x7 [12.581]sunxi-spinand-phy: MaxEraseTimes: 50000 [12.586]sunxi-spinand-phy: EccFlag: 0x1 [12.591]sunxi-spinand-phy: EccType: 7 [12.595]sunxi-spinand-phy: EccProtectedType: 4 [12.600]sunxi-spinand-phy: ======================================== [12.606]sunxi-spinand-phy: [12.608]sunxi-spinand-phy: ========== physical info ========== [12.614]sunxi-spinand-phy: TotalSize: 128 M [12.618]sunxi-spinand-phy: SectorSize: 512 B [12.622]sunxi-spinand-phy: PageSize: 2 K [12.626]sunxi-spinand-phy: BlockSize: 128 K [12.630]sunxi-spinand-phy: OOBSize: 64 B [12.634]sunxi-spinand-phy: ======================================== [12.640]sunxi-spinand-phy: [12.643]sunxi-spinand-phy: ========== logical info ========== [12.648]sunxi-spinand-phy: TotalSize: 128 M [12.652]sunxi-spinand-phy: SectorSize: 512 B [12.656]sunxi-spinand-phy: PageSize: 4 K [12.660]sunxi-spinand-phy: BlockSize: 256 K [12.665]sunxi-spinand-phy: OOBSize: 128 B [12.669]sunxi-spinand-phy: ======================================== [12.685]sunxi-spinand-phy: set spic0 clk to 100 Mhz [12.690]sunxi-spinand-phy: block lock register: 0x80 [12.694]sunxi-spinand-phy: feature register: 0x08 [12.699]sunxi-spinand-phy: sunxi physic nand init end [12.709]Loading Environment from SUNXI_FLASH... OK [12.723]try to burn key [12.727]out of usb burn from boot: not need burn key [12.731]Net: [12.732]No ethernet found. Hit any key to stop autoboot: 0 sunxi work mode=0x10 run usb efex delay time 2500 weak:otg_phy_config usb init ok set address 0x21 set address 0x21 ok SUNXI_EFEX_ERASE_TAG erase_flag = 0x12 origin_erase_flag = 0x1 FEX_CMD_fes_verify_status FEX_CMD_fes_verify last err=0 the 0 mbr table is ok the 1 mbr table is ok the 2 mbr table is ok the 3 mbr table is ok *************MBR DUMP*************** total mbr part 8 part[0] name :boot-resource part[0] classname :DISK part[0] addrlo :0x8000 part[0] lenlo :0x1f8 part[0] user_type :32768 part[0] keydata :0 part[0] ro :0 part[1] name :env part[1] classname :DISK part[1] addrlo :0x81f8 part[1] lenlo :0x1f8 part[1] user_type :32768 part[1] keydata :0 part[1] ro :0 part[2] name :env-redund part[2] classname :DISK part[2] addrlo :0x83f0 part[2] lenlo :0x1f8 part[2] user_type :32768 part[2] keydata :0 part[2] ro :0 part[3] name :boot part[3] classname :DISK part[3] addrlo :0x85e8 part[3] lenlo :0x5000 part[3] user_type :32768 part[3] keydata :0 part[3] ro :0 part[4] name :rootfs part[4] classname :DISK part[4] addrlo :0xd5e8 part[4] lenlo :0xbe00 part[4] user_type :32768 part[4] keydata :0 part[4] ro :0 part[5] name :recovery part[5] classname :DISK part[5] addrlo :0x193e8 part[5] lenlo :0x5780 part[5] user_type :32768 part[5] keydata :0 part[5] ro :0 part[6] name :rootfs_data part[6] classname :DISK part[6] addrlo :0x1eb68 part[6] lenlo :0x2800 part[6] user_type :32768 part[6] keydata :0 part[6] ro :0 part[7] name :UDISK part[7] classname :DISK part[7] addrlo :0x21368 part[7] lenlo :0x0 part[7] user_type :0 part[7] keydata :0 part[7] ro :0 common1(partition3) need it, here is a weak func total part: 9 mbr 0, 8000, 8000 boot-resource 1, 1f8, 8000 env 2, 1f8, 8000 env-redund 3, 1f8, 8000 boot 4, 5000, 8000 rootfs 5, be00, 8000 recovery 6, 5780, 8000 rootfs_data 7, 2800, 8000 UDISK 8, 0, 0 [19.447]erase blk 0 to blk 32 [19.450]blk 0 is bad, skip to erase [19.453]blk 1 is bad, skip to erase [19.456]blk 2 is bad, skip to erase [19.459]blk 3 is bad, skip to erase [19.462]blk 4 is bad, skip to erase [19.466]blk 5 is bad, skip to erase [19.469]blk 6 is bad, skip to erase [19.472]blk 7 is bad, skip to erase [19.475]blk 8 is bad, skip to erase [19.479]blk 9 is bad, skip to erase [19.482]blk 10 is bad, skip to erase [19.485]blk 11 is bad, skip to erase [19.488]blk 12 is bad, skip to erase [19.492]blk 13 is bad, skip to erase [19.495]blk 14 is bad, skip to erase [19.498]blk 15 is bad, skip to erase [19.501]blk 16 is bad, skip to erase [19.505]blk 17 is bad, skip to erase [19.508]blk 18 is bad, skip to erase [19.511]blk 19 is bad, skip to erase [19.515]blk 20 is bad, skip to erase [19.518]blk 21 is bad, skip to erase [19.521]blk 22 is bad, skip to erase [19.525]blk 23 is bad, skip to erase [19.528]blk 24 is bad, skip to erase [19.531]blk 25 is bad, skip to erase [19.534]blk 26 is bad, skip to erase [19.538]blk 27 is bad, skip to erase [19.541]blk 28 is bad, skip to erase [19.544]blk 29 is bad, skip to erase [19.548]blk 30 is bad, skip to erase [19.551]blk 31 is bad, skip to erase need erase flash: 18 [19.558]mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) device nand0 <nand>, # parts = 4 #: name size offset mask_flags 0: boot0 0x00100000 0x00000000 1 1: uboot 0x00300000 0x00100000 1 2: secure_storage 0x00100000 0x00400000 1 3: sys 0x07b00000 0x00500000 0 active partition: nand0,0 - (boot0) 0x00100000 @ 0x00000000 defaults: mtdids : nand0=nand mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) [19.618]MTD info (4) [19.620]pagesize: 0x1000 [19.622]blksize: 0x40000 [19.624]num offset bytes name [19.628]0 0x00000000 0x00100000 boot0 [19.631]1 0x00100000 0x00300000 uboot [19.635]2 0x00400000 0x00100000 secure_storage [19.639]3 0x00500000 0x07b00000 sys [19.643]ubi attach the last part of mtd device: NO.3 [19.686]ubi0: attaching mtd4 [19.699]ubi0: scanning is finished [19.702]ubi0: empty MTD device detected [19.708]ubi0 error: ubi_early_get_peb: no free eraseblocks [19.714]ubi0 error: ubi_attach_mtd_dev: failed to attach mtd4, error -28 [19.720]UBI error: cannot attach mtd4 [19.724]UBI error: cannot initialize UBI, error -28 UBI init error 28 Please check, if the correct MTD partition is used (size big enough?) [19.736]ubi part sys err ! [19.739]erase blk 0 to blk 32 [19.741]blk 0 is bad, skip to erase [19.744]blk 1 is bad, skip to erase [19.748]blk 2 is bad, skip to erase [19.751]blk 3 is bad, skip to erase [19.754]blk 4 is bad, skip to erase [19.757]blk 5 is bad, skip to erase [19.760]blk 6 is bad, skip to erase [19.764]blk 7 is bad, skip to erase [19.767]blk 8 is bad, skip to erase [19.770]blk 9 is bad, skip to erase [19.773]blk 10 is bad, skip to erase [19.777]blk 11 is bad, skip to erase [19.780]blk 12 is bad, skip to erase [19.783]blk 13 is bad, skip to erase [19.786]blk 14 is bad, skip to erase [19.790]blk 15 is bad, skip to erase [19.793]blk 16 is bad, skip to erase [19.796]blk 17 is bad, skip to erase [19.800]blk 18 is bad, skip to erase [19.803]blk 19 is bad, skip to erase [19.806]blk 20 is bad, skip to erase [19.810]blk 21 is bad, skip to erase [19.813]blk 22 is bad, skip to erase [19.816]blk 23 is bad, skip to erase [19.819]blk 24 is bad, skip to erase [19.823]blk 25 is bad, skip to erase [19.826]blk 26 is bad, skip to erase [19.829]blk 27 is bad, skip to erase [19.833]blk 28 is bad, skip to erase [19.836]blk 29 is bad, skip to erase [19.839]blk 30 is bad, skip to erase [19.842]blk 31 is bad, skip to erase [19.846]erase blk 40 to blk 1024 [19.849]blk 40 is bad, skip to erase [19.852]blk 41 is bad, skip to erase [19.855]blk 42 is bad, skip to erase [19.859]blk 43 is bad, skip to erase [19.862]blk 44 is bad, skip to erase [19.865]blk 45 is bad, skip to erase [19.868]blk 46 is bad, skip to erase [19.872]blk 47 is bad, skip to erase [19.875]blk 48 is bad, skip to erase [19.878]blk 49 is bad, skip to erase [19.882]blk 50 is bad, skip to erase [19.885]blk 51 is bad, skip to erase [19.888]blk 52 is bad, skip to erase [19.892]blk 53 is bad, skip to erase [19.895]blk 54 is bad, skip to erase [19.898]blk 55 is bad, skip to erase [19.901]blk 56 is bad, skip to erase [19.905]blk 57 is bad, skip to erase [19.908]blk 58 is bad, skip to erase [19.911]blk 59 is bad, skip to erase [19.915]blk 60 is bad, skip to erase [19.918]blk 61 is bad, skip to erase [19.921]blk 62 is bad, skip to erase [19.925]blk 63 is bad, skip to erase [19.928]blk 64 is bad, skip to erase [19.931]blk 65 is bad, skip to erase [19.934]blk 66 is bad, skip to erase [19.938]blk 67 is bad, skip to erase [19.941]blk 68 is bad, skip to erase [19.944]blk 69 is bad, skip to erase [19.948]blk 70 is bad, skip to erase [19.951]blk 71 is bad, skip to erase [19.954]blk 72 is bad, skip to erase [19.957]blk 73 is bad, skip to erase [19.961]blk 74 is bad, skip to erase [19.964]blk 75 is bad, skip to erase [19.967]blk 76 is bad, skip to erase [19.971]blk 77 is bad, skip to erase [19.974]blk 78 is bad, skip to erase [19.977]blk 79 is bad, skip to erase [19.980]blk 80 is bad, skip to erase [19.984]blk 81 is bad, skip to erase [19.987]blk 82 is bad, skip to erase [19.990]blk 83 is bad, skip to erase [19.994]blk 84 is bad, skip to erase [19.997]blk 85 is bad, skip to erase [20.000]blk 86 is bad, skip to erase [20.004]blk 87 is bad, skip to erase [20.007]blk 88 is bad, skip to erase [20.010]blk 89 is bad, skip to erase [20.013]blk 90 is bad, skip to erase [20.017]blk 91 is bad, skip to erase [20.020]blk 92 is bad, skip to erase [20.023]blk 93 is bad, skip to erase [20.027]blk 94 is bad, skip to erase [20.030]blk 95 is bad, skip to erase [20.033]blk 96 is bad, skip to erase [20.036]blk 97 is bad, skip to erase [20.040]blk 98 is bad, skip to erase [20.043]blk 99 is bad, skip to erase [20.046]blk 100 is bad, skip to erase [20.050]blk 101 is bad, skip to erase [20.053]blk 102 is bad, skip to erase [20.057]blk 103 is bad, skip to erase [20.060]blk 104 is bad, skip to erase [20.063]blk 105 is bad, skip to erase [20.067]blk 106 is bad, skip to erase [20.070]blk 107 is bad, skip to erase [20.073]blk 108 is bad, skip to erase [20.077]blk 109 is bad, skip to erase [20.080]blk 110 is bad, skip to erase [20.084]blk 111 is bad, skip to erase [20.087]blk 112 is bad, skip to erase [20.090]blk 113 is bad, skip to erase [20.094]blk 114 is bad, skip to erase [20.097]blk 115 is bad, skip to erase [20.100]blk 116 is bad, skip to erase [20.104]blk 117 is bad, skip to erase [20.107]blk 118 is bad, skip to erase [20.111]blk 119 is bad, skip to erase [20.114]blk 120 is bad, skip to erase [20.117]blk 121 is bad, skip to erase [20.121]blk 122 is bad, skip to erase [20.124]blk 123 is bad, skip to erase [20.127]blk 124 is bad, skip to erase [20.131]blk 125 is bad, skip to erase [20.134]blk 126 is bad, skip to erase [20.138]blk 127 is bad, skip to erase [20.141]blk 128 is bad, skip to erase [20.144]blk 129 is bad, skip to erase [20.148]blk 130 is bad, skip to erase [20.151]blk 131 is bad, skip to erase [20.154]blk 132 is bad, skip to erase [20.158]blk 133 is bad, skip to erase [20.161]blk 134 is bad, skip to erase [20.165]blk 135 is bad, skip to erase [20.168]blk 136 is bad, skip to erase [20.171]blk 137 is bad, skip to erase [20.175]blk 138 is bad, skip to erase [20.178]blk 139 is bad, skip to erase [20.182]blk 140 is bad, skip to erase [20.185]blk 141 is bad, skip to erase [20.188]blk 142 is bad, skip to erase [20.192]blk 143 is bad, skip to erase [20.195]blk 144 is bad, skip to erase [20.198]blk 145 is bad, skip to erase [20.202]blk 146 is bad, skip to erase [20.205]blk 147 is bad, skip to erase [20.209]blk 148 is bad, skip to erase [20.212]blk 149 is bad, skip to erase [20.215]blk 150 is bad, skip to erase [20.219]blk 151 is bad, skip to erase [20.222]blk 152 is bad, skip to erase [20.226]blk 153 is bad, skip to erase [20.229]blk 154 is bad, skip to erase [20.232]blk 155 is bad, skip to erase [20.236]blk 156 is bad, skip to erase [20.239]blk 157 is bad, skip to erase [20.242]blk 158 is bad, skip to erase [20.246]blk 159 is bad, skip to erase [20.249]blk 160 is bad, skip to erase [20.253]blk 161 is bad, skip to erase [20.256]blk 162 is bad, skip to erase [20.259]blk 163 is bad, skip to erase [20.263]blk 164 is bad, skip to erase [20.266]blk 165 is bad, skip to erase [20.269]blk 166 is bad, skip to erase [20.273]blk 167 is bad, skip to erase [20.276]blk 168 is bad, skip to erase [20.280]blk 169 is bad, skip to erase [20.283]blk 170 is bad, skip to erase [20.286]blk 171 is bad, skip to erase [20.290]blk 172 is bad, skip to erase [20.293]blk 173 is bad, skip to erase [20.296]blk 174 is bad, skip to erase [20.300]blk 175 is bad, skip to erase [20.303]blk 176 is bad, skip to erase [20.307]blk 177 is bad, skip to erase [20.310]blk 178 is bad, skip to erase [20.313]blk 179 is bad, skip to erase [20.317]blk 180 is bad, skip to erase [20.320]blk 181 is bad, skip to erase [20.323]blk 182 is bad, skip to erase [20.327]blk 183 is bad, skip to erase [20.330]blk 184 is bad, skip to erase [20.334]blk 185 is bad, skip to erase [20.337]blk 186 is bad, skip to erase [20.340]blk 187 is bad, skip to erase [20.344]blk 188 is bad, skip to erase [20.347]blk 189 is bad, skip to erase [20.351]blk 190 is bad, skip to erase [20.354]blk 191 is bad, skip to erase [20.357]blk 192 is bad, skip to erase [20.361]blk 193 is bad, skip to erase [20.364]blk 194 is bad, skip to erase [20.367]blk 195 is bad, skip to erase [20.371]blk 196 is bad, skip to erase [20.374]blk 197 is bad, skip to erase [20.378]blk 198 is bad, skip to erase [20.381]blk 199 is bad, skip to erase [20.384]blk 200 is bad, skip to erase [20.388]blk 201 is bad, skip to erase [20.391]blk 202 is bad, skip to erase [20.395]blk 203 is bad, skip to erase [20.398]blk 204 is bad, skip to erase [20.401]blk 205 is bad, skip to erase [20.405]blk 206 is bad, skip to erase [20.408]blk 207 is bad, skip to erase [20.411]blk 208 is bad, skip to erase [20.415]blk 209 is bad, skip to erase [20.418]blk 210 is bad, skip to erase [20.422]blk 211 is bad, skip to erase [20.425]blk 212 is bad, skip to erase [20.428]blk 213 is bad, skip to erase [20.432]blk 214 is bad, skip to erase [20.435]blk 215 is bad, skip to erase [20.438]blk 216 is bad, skip to erase [20.442]blk 217 is bad, skip to erase [20.445]blk 218 is bad, skip to erase [20.449]blk 219 is bad, skip to erase [20.452]blk 220 is bad, skip to erase [20.455]blk 221 is bad, skip to erase [20.459]blk 222 is bad, skip to erase [20.462]blk 223 is bad, skip to erase [20.465]blk 224 is bad, skip to erase [20.469]blk 225 is bad, skip to erase [20.472]blk 226 is bad, skip to erase [20.476]blk 227 is bad, skip to erase [20.479]blk 228 is bad, skip to erase [20.482]blk 229 is bad, skip to erase [20.486]blk 230 is bad, skip to erase [20.489]blk 231 is bad, skip to erase [20.492]blk 232 is bad, skip to erase [20.496]blk 233 is bad, skip to erase [20.499]blk 234 is bad, skip to erase [20.503]blk 235 is bad, skip to erase [20.506]blk 236 is bad, skip to erase [20.509]blk 237 is bad, skip to erase [20.513]blk 238 is bad, skip to erase [20.516]blk 239 is bad, skip to erase [20.520]blk 240 is bad, skip to erase [20.523]blk 241 is bad, skip to erase [20.526]blk 242 is bad, skip to erase [20.530]blk 243 is bad, skip to erase [20.533]blk 244 is bad, skip to erase [20.536]blk 245 is bad, skip to erase [20.540]blk 246 is bad, skip to erase [20.543]blk 247 is bad, skip to erase [20.547]blk 248 is bad, skip to erase [20.550]blk 249 is bad, skip to erase [20.553]blk 250 is bad, skip to erase [20.557]blk 251 is bad, skip to erase [20.560]blk 252 is bad, skip to erase [20.564]blk 253 is bad, skip to erase [20.567]blk 254 is bad, skip to erase [20.570]blk 255 is bad, skip to erase [20.574]blk 256 is bad, skip to erase [20.577]blk 257 is bad, skip to erase [20.580]blk 258 is bad, skip to erase [20.584]blk 259 is bad, skip to erase [20.587]blk 260 is bad, skip to erase [20.591]blk 261 is bad, skip to erase [20.594]blk 262 is bad, skip to erase [20.597]blk 263 is bad, skip to erase [20.601]blk 264 is bad, skip to erase [20.604]blk 265 is bad, skip to erase [20.607]blk 266 is bad, skip to erase [20.611]blk 267 is bad, skip to erase [20.614]blk 268 is bad, skip to erase [20.618]blk 269 is bad, skip to erase [20.621]blk 270 is bad, skip to erase [20.624]blk 271 is bad, skip to erase [20.628]blk 272 is bad, skip to erase [20.631]blk 273 is bad, skip to erase [20.634]blk 274 is bad, skip to erase [20.638]blk 275 is bad, skip to erase [20.641]blk 276 is bad, skip to erase [20.645]blk 277 is bad, skip to erase [20.648]blk 278 is bad, skip to erase [20.651]blk 279 is bad, skip to erase [20.655]blk 280 is bad, skip to erase [20.658]blk 281 is bad, skip to erase [20.661]blk 282 is bad, skip to erase [20.665]blk 283 is bad, skip to erase [20.668]blk 284 is bad, skip to erase [20.672]blk 285 is bad, skip to erase [20.675]blk 286 is bad, skip to erase [20.678]blk 287 is bad, skip to erase [20.682]blk 288 is bad, skip to erase [20.685]blk 289 is bad, skip to erase [20.689]blk 290 is bad, skip to erase [20.692]blk 291 is bad, skip to erase [20.695]blk 292 is bad, skip to erase [20.699]blk 293 is bad, skip to erase [20.702]blk 294 is bad, skip to erase [20.705]blk 295 is bad, skip to erase [20.709]blk 296 is bad, skip to erase [20.712]blk 297 is bad, skip to erase [20.716]blk 298 is bad, skip to erase [20.719]blk 299 is bad, skip to erase [20.722]blk 300 is bad, skip to erase [20.726]blk 301 is bad, skip to erase [20.729]blk 302 is bad, skip to erase [20.733]blk 303 is bad, skip to erase [20.736]blk 304 is bad, skip to erase [20.739]blk 305 is bad, skip to erase [20.743]blk 306 is bad, skip to erase [20.746]blk 307 is bad, skip to erase [20.749]blk 308 is bad, skip to erase [20.753]blk 309 is bad, skip to erase [20.756]blk 310 is bad, skip to erase [20.760]blk 311 is bad, skip to erase [20.763]blk 312 is bad, skip to erase [20.766]blk 313 is bad, skip to erase [20.770]blk 314 is bad, skip to erase [20.773]blk 315 is bad, skip to erase [20.776]blk 316 is bad, skip to erase [20.780]blk 317 is bad, skip to erase [20.783]blk 318 is bad, skip to erase [20.787]blk 319 is bad, skip to erase [20.790]blk 320 is bad, skip to erase [20.793]blk 321 is bad, skip to erase [20.797]blk 322 is bad, skip to erase [20.800]blk 323 is bad, skip to erase [20.803]blk 324 is bad, skip to erase [20.807]blk 325 is bad, skip to erase [20.810]blk 326 is bad, skip to erase [20.814]blk 327 is bad, skip to erase [20.817]blk 328 is bad, skip to erase [20.820]blk 329 is bad, skip to erase [20.824]blk 330 is bad, skip to erase [20.827]blk 331 is bad, skip to erase [20.830]blk 332 is bad, skip to erase [20.834]blk 333 is bad, skip to erase [20.837]blk 334 is bad, skip to erase [20.841]blk 335 is bad, skip to erase [20.844]blk 336 is bad, skip to erase [20.847]blk 337 is bad, skip to erase [20.851]blk 338 is bad, skip to erase [20.854]blk 339 is bad, skip to erase [20.858]blk 340 is bad, skip to erase [20.861]blk 341 is bad, skip to erase [20.864]blk 342 is bad, skip to erase [20.868]blk 343 is bad, skip to erase [20.871]blk 344 is bad, skip to erase [20.874]blk 345 is bad, skip to erase [20.878]blk 346 is bad, skip to erase [20.881]blk 347 is bad, skip to erase [20.885]blk 348 is bad, skip to erase [20.888]blk 349 is bad, skip to erase [20.891]blk 350 is bad, skip to erase [20.895]blk 351 is bad, skip to erase [20.898]blk 352 is bad, skip to erase [20.902]blk 353 is bad, skip to erase [20.905]blk 354 is bad, skip to erase [20.908]blk 355 is bad, skip to erase [20.912]blk 356 is bad, skip to erase [20.915]blk 357 is bad, skip to erase [20.918]blk 358 is bad, skip to erase [20.922]blk 359 is bad, skip to erase [20.925]blk 360 is bad, skip to erase [20.929]blk 361 is bad, skip to erase [20.932]blk 362 is bad, skip to erase [20.935]blk 363 is bad, skip to erase [20.939]blk 364 is bad, skip to erase [20.942]blk 365 is bad, skip to erase [20.945]blk 366 is bad, skip to erase [20.949]blk 367 is bad, skip to erase [20.952]blk 368 is bad, skip to erase [20.956]blk 369 is bad, skip to erase [20.959]blk 370 is bad, skip to erase [20.962]blk 371 is bad, skip to erase [20.966]blk 372 is bad, skip to erase [20.969]blk 373 is bad, skip to erase [20.972]blk 374 is bad, skip to erase [20.976]blk 375 is bad, skip to erase [20.979]blk 376 is bad, skip to erase [20.983]blk 377 is bad, skip to erase [20.986]blk 378 is bad, skip to erase [20.989]blk 379 is bad, skip to erase [20.993]blk 380 is bad, skip to erase [20.996]blk 381 is bad, skip to erase [20.999]blk 382 is bad, skip to erase [21.003]blk 383 is bad, skip to erase [21.006]blk 384 is bad, skip to erase [21.010]blk 385 is bad, skip to erase [21.013]blk 386 is bad, skip to erase [21.016]blk 387 is bad, skip to erase [21.020]blk 388 is bad, skip to erase [21.023]blk 389 is bad, skip to erase [21.027]blk 390 is bad, skip to erase [21.030]blk 391 is bad, skip to erase [21.033]blk 392 is bad, skip to erase [21.037]blk 393 is bad, skip to erase [21.040]blk 394 is bad, skip to erase [21.043]blk 395 is bad, skip to erase [21.047]blk 396 is bad, skip to erase [21.050]blk 397 is bad, skip to erase [21.054]blk 398 is bad, skip to erase [21.057]blk 399 is bad, skip to erase [21.060]blk 400 is bad, skip to erase [21.064]blk 401 is bad, skip to erase [21.067]blk 402 is bad, skip to erase [21.071]blk 403 is bad, skip to erase [21.074]blk 404 is bad, skip to erase [21.077]blk 405 is bad, skip to erase [21.081]blk 406 is bad, skip to erase [21.084]blk 407 is bad, skip to erase [21.087]blk 408 is bad, skip to erase [21.091]blk 409 is bad, skip to erase [21.094]blk 410 is bad, skip to erase [21.098]blk 411 is bad, skip to erase [21.101]blk 412 is bad, skip to erase [21.104]blk 413 is bad, skip to erase [21.108]blk 414 is bad, skip to erase [21.111]blk 415 is bad, skip to erase [21.114]blk 416 is bad, skip to erase [21.118]blk 417 is bad, skip to erase [21.121]blk 418 is bad, skip to erase [21.125]blk 419 is bad, skip to erase [21.128]blk 420 is bad, skip to erase [21.131]blk 421 is bad, skip to erase [21.135]blk 422 is bad, skip to erase [21.138]blk 423 is bad, skip to erase [21.141]blk 424 is bad, skip to erase [21.145]blk 425 is bad, skip to erase [21.148]blk 426 is bad, skip to erase [21.152]blk 427 is bad, skip to erase [21.155]blk 428 is bad, skip to erase [21.158]blk 429 is bad, skip to erase [21.162]blk 430 is bad, skip to erase [21.165]blk 431 is bad, skip to erase [21.168]blk 432 is bad, skip to erase [21.172]blk 433 is bad, skip to erase [21.175]blk 434 is bad, skip to erase [21.179]blk 435 is bad, skip to erase [21.182]blk 436 is bad, skip to erase [21.185]blk 437 is bad, skip to erase [21.189]blk 438 is bad, skip to erase [21.192]blk 439 is bad, skip to erase [21.196]blk 440 is bad, skip to erase [21.199]blk 441 is bad, skip to erase [21.202]blk 442 is bad, skip to erase [21.206]blk 443 is bad, skip to erase [21.209]blk 444 is bad, skip to erase [21.212]blk 445 is bad, skip to erase [21.216]blk 446 is bad, skip to erase [21.219]blk 447 is bad, skip to erase [21.223]blk 448 is bad, skip to erase [21.226]blk 449 is bad, skip to erase [21.229]blk 450 is bad, skip to erase [21.233]blk 451 is bad, skip to erase [21.236]blk 452 is bad, skip to erase [21.240]blk 453 is bad, skip to erase [21.243]blk 454 is bad, skip to erase [21.246]blk 455 is bad, skip to erase [21.250]blk 456 is bad, skip to erase [21.253]blk 457 is bad, skip to erase [21.256]blk 458 is bad, skip to erase [21.260]blk 459 is bad, skip to erase [21.263]blk 460 is bad, skip to erase [21.267]blk 461 is bad, skip to erase [21.270]blk 462 is bad, skip to erase [21.273]blk 463 is bad, skip to erase [21.277]blk 464 is bad, skip to erase [21.280]blk 465 is bad, skip to erase [21.283]blk 466 is bad, skip to erase [21.287]blk 467 is bad, skip to erase [21.290]blk 468 is bad, skip to erase [21.294]blk 469 is bad, skip to erase [21.297]blk 470 is bad, skip to erase [21.300]blk 471 is bad, skip to erase [21.304]blk 472 is bad, skip to erase [21.307]blk 473 is bad, skip to erase [21.310]blk 474 is bad, skip to erase [21.314]blk 475 is bad, skip to erase [21.317]blk 476 is bad, skip to erase [21.321]blk 477 is bad, skip to erase [21.324]blk 478 is bad, skip to erase [21.327]blk 479 is bad, skip to erase [21.331]blk 480 is bad, skip to erase [21.334]blk 481 is bad, skip to erase [21.337]blk 482 is bad, skip to erase [21.341]blk 483 is bad, skip to erase [21.344]blk 484 is bad, skip to erase [21.348]blk 485 is bad, skip to erase [21.351]blk 486 is bad, skip to erase [21.354]blk 487 is bad, skip to erase [21.358]blk 488 is bad, skip to erase [21.361]blk 489 is bad, skip to erase [21.365]blk 490 is bad, skip to erase [21.368]blk 491 is bad, skip to erase [21.371]blk 492 is bad, skip to erase [21.375]blk 493 is bad, skip to erase [21.378]blk 494 is bad, skip to erase [21.381]blk 495 is bad, skip to erase [21.385]blk 496 is bad, skip to erase [21.388]blk 497 is bad, skip to erase [21.392]blk 498 is bad, skip to erase [21.395]blk 499 is bad, skip to erase [21.398]blk 500 is bad, skip to erase [21.402]blk 501 is bad, skip to erase [21.405]blk 502 is bad, skip to erase [21.409]blk 503 is bad, skip to erase [21.412]blk 504 is bad, skip to erase [21.415]blk 505 is bad, skip to erase [21.419]blk 506 is bad, skip to erase [21.422]blk 507 is bad, skip to erase [21.425]blk 508 is bad, skip to erase [21.429]blk 509 is bad, skip to erase [21.432]blk 510 is bad, skip to erase [21.436]blk 511 is bad, skip to erase [21.439]blk 512 is bad, skip to erase [21.442]blk 513 is bad, skip to erase [21.446]blk 514 is bad, skip to erase [21.449]blk 515 is bad, skip to erase [21.452]blk 516 is bad, skip to erase [21.456]blk 517 is bad, skip to erase [21.459]blk 518 is bad, skip to erase [21.463]blk 519 is bad, skip to erase [21.466]blk 520 is bad, skip to erase [21.469]blk 521 is bad, skip to erase [21.473]blk 522 is bad, skip to erase [21.476]blk 523 is bad, skip to erase [21.479]blk 524 is bad, skip to erase [21.483]blk 525 is bad, skip to erase [21.486]blk 526 is bad, skip to erase [21.490]blk 527 is bad, skip to erase [21.493]blk 528 is bad, skip to erase [21.496]blk 529 is bad, skip to erase [21.500]blk 530 is bad, skip to erase [21.503]blk 531 is bad, skip to erase [21.506]blk 532 is bad, skip to erase [21.510]blk 533 is bad, skip to erase [21.513]blk 534 is bad, skip to erase [21.517]blk 535 is bad, skip to erase [21.520]blk 536 is bad, skip to erase [21.523]blk 537 is bad, skip to erase [21.527]blk 538 is bad, skip to erase [21.530]blk 539 is bad, skip to erase [21.534]blk 540 is bad, skip to erase [21.537]blk 541 is bad, skip to erase [21.540]blk 542 is bad, skip to erase [21.544]blk 543 is bad, skip to erase [21.547]blk 544 is bad, skip to erase [21.550]blk 545 is bad, skip to erase [21.554]blk 546 is bad, skip to erase [21.557]blk 547 is bad, skip to erase [21.561]blk 548 is bad, skip to erase [21.564]blk 549 is bad, skip to erase [21.567]blk 550 is bad, skip to erase [21.571]blk 551 is bad, skip to erase [21.574]blk 552 is bad, skip to erase [21.578]blk 553 is bad, skip to erase [21.581]blk 554 is bad, skip to erase [21.584]blk 555 is bad, skip to erase [21.588]blk 556 is bad, skip to erase [21.591]blk 557 is bad, skip to erase [21.594]blk 558 is bad, skip to erase [21.598]blk 559 is bad, skip to erase [21.601]blk 560 is bad, skip to erase [21.605]blk 561 is bad, skip to erase [21.608]blk 562 is bad, skip to erase [21.611]blk 563 is bad, skip to erase [21.615]blk 564 is bad, skip to erase [21.618]blk 565 is bad, skip to erase [21.621]blk 566 is bad, skip to erase [21.625]blk 567 is bad, skip to erase [21.628]blk 568 is bad, skip to erase [21.632]blk 569 is bad, skip to erase [21.635]blk 570 is bad, skip to erase [21.638]blk 571 is bad, skip to erase [21.642]blk 572 is bad, skip to erase [21.645]blk 573 is bad, skip to erase [21.648]blk 574 is bad, skip to erase [21.652]blk 575 is bad, skip to erase [21.655]blk 576 is bad, skip to erase [21.659]blk 577 is bad, skip to erase [21.662]blk 578 is bad, skip to erase [21.665]blk 579 is bad, skip to erase [21.669]blk 580 is bad, skip to erase [21.672]blk 581 is bad, skip to erase [21.675]blk 582 is bad, skip to erase [21.679]blk 583 is bad, skip to erase [21.682]blk 584 is bad, skip to erase [21.686]blk 585 is bad, skip to erase [21.689]blk 586 is bad, skip to erase [21.692]blk 587 is bad, skip to erase [21.696]blk 588 is bad, skip to erase [21.699]blk 589 is bad, skip to erase [21.703]blk 590 is bad, skip to erase [21.706]blk 591 is bad, skip to erase [21.709]blk 592 is bad, skip to erase [21.713]blk 593 is bad, skip to erase [21.716]blk 594 is bad, skip to erase [21.719]blk 595 is bad, skip to erase [21.723]blk 596 is bad, skip to erase [21.726]blk 597 is bad, skip to erase [21.730]blk 598 is bad, skip to erase [21.733]blk 599 is bad, skip to erase [21.736]blk 600 is bad, skip to erase [21.740]blk 601 is bad, skip to erase [21.743]blk 602 is bad, skip to erase [21.747]blk 603 is bad, skip to erase [21.750]blk 604 is bad, skip to erase [21.753]blk 605 is bad, skip to erase [21.757]blk 606 is bad, skip to erase [21.760]blk 607 is bad, skip to erase [21.763]blk 608 is bad, skip to erase [21.767]blk 609 is bad, skip to erase [21.770]blk 610 is bad, skip to erase [21.774]blk 611 is bad, skip to erase [21.777]blk 612 is bad, skip to erase [21.780]blk 613 is bad, skip to erase [21.784]blk 614 is bad, skip to erase [21.787]blk 615 is bad, skip to erase [21.790]blk 616 is bad, skip to erase [21.794]blk 617 is bad, skip to erase [21.797]blk 618 is bad, skip to erase [21.801]blk 619 is bad, skip to erase [21.804]blk 620 is bad, skip to erase [21.807]blk 621 is bad, skip to erase [21.811]blk 622 is bad, skip to erase [21.814]blk 623 is bad, skip to erase [21.817]blk 624 is bad, skip to erase [21.821]blk 625 is bad, skip to erase [21.824]blk 626 is bad, skip to erase [21.828]blk 627 is bad, skip to erase [21.831]blk 628 is bad, skip to erase [21.834]blk 629 is bad, skip to erase [21.838]blk 630 is bad, skip to erase [21.841]blk 631 is bad, skip to erase [21.844]blk 632 is bad, skip to erase [21.848]blk 633 is bad, skip to erase [21.851]blk 634 is bad, skip to erase [21.855]blk 635 is bad, skip to erase [21.858]blk 636 is bad, skip to erase [21.861]blk 637 is bad, skip to erase [21.865]blk 638 is bad, skip to erase [21.868]blk 639 is bad, skip to erase [21.872]blk 640 is bad, skip to erase [21.875]blk 641 is bad, skip to erase [21.878]blk 642 is bad, skip to erase [21.882]blk 643 is bad, skip to erase [21.885]blk 644 is bad, skip to erase [21.888]blk 645 is bad, skip to erase [21.892]blk 646 is bad, skip to erase [21.895]blk 647 is bad, skip to erase [21.899]blk 648 is bad, skip to erase [21.902]blk 649 is bad, skip to erase [21.905]blk 650 is bad, skip to erase [21.909]blk 651 is bad, skip to erase [21.912]blk 652 is bad, skip to erase [21.916]blk 653 is bad, skip to erase [21.919]blk 654 is bad, skip to erase [21.922]blk 655 is bad, skip to erase [21.926]blk 656 is bad, skip to erase [21.929]blk 657 is bad, skip to erase [21.932]blk 658 is bad, skip to erase [21.936]blk 659 is bad, skip to erase [21.939]blk 660 is bad, skip to erase [21.943]blk 661 is bad, skip to erase [21.946]blk 662 is bad, skip to erase [21.949]blk 663 is bad, skip to erase [21.953]blk 664 is bad, skip to erase [21.956]blk 665 is bad, skip to erase [21.959]blk 666 is bad, skip to erase [21.963]blk 667 is bad, skip to erase [21.966]blk 668 is bad, skip to erase [21.970]blk 669 is bad, skip to erase [21.973]blk 670 is bad, skip to erase [21.976]blk 671 is bad, skip to erase [21.980]blk 672 is bad, skip to erase [21.983]blk 673 is bad, skip to erase [21.986]blk 674 is bad, skip to erase [21.990]blk 675 is bad, skip to erase [21.993]blk 676 is bad, skip to erase [21.997]blk 677 is bad, skip to erase [22.000]blk 678 is bad, skip to erase [22.003]blk 679 is bad, skip to erase [22.007]blk 680 is bad, skip to erase [22.010]blk 681 is bad, skip to erase [22.013]blk 682 is bad, skip to erase [22.017]blk 683 is bad, skip to erase [22.020]blk 684 is bad, skip to erase [22.024]blk 685 is bad, skip to erase [22.027]blk 686 is bad, skip to erase [22.030]blk 687 is bad, skip to erase [22.034]blk 688 is bad, skip to erase [22.037]blk 689 is bad, skip to erase [22.041]blk 690 is bad, skip to erase [22.044]blk 691 is bad, skip to erase [22.047]blk 692 is bad, skip to erase [22.051]blk 693 is bad, skip to erase [22.054]blk 694 is bad, skip to erase [22.057]blk 695 is bad, skip to erase [22.061]blk 696 is bad, skip to erase [22.064]blk 697 is bad, skip to erase [22.068]blk 698 is bad, skip to erase [22.071]blk 699 is bad, skip to erase [22.074]blk 700 is bad, skip to erase [22.078]blk 701 is bad, skip to erase [22.081]blk 702 is bad, skip to erase [22.085]blk 703 is bad, skip to erase [22.088]blk 704 is bad, skip to erase [22.091]blk 705 is bad, skip to erase [22.095]blk 706 is bad, skip to erase [22.098]blk 707 is bad, skip to erase [22.101]blk 708 is bad, skip to erase [22.105]blk 709 is bad, skip to erase [22.108]blk 710 is bad, skip to erase [22.112]blk 711 is bad, skip to erase [22.115]blk 712 is bad, skip to erase [22.118]blk 713 is bad, skip to erase [22.122]blk 714 is bad, skip to erase [22.125]blk 715 is bad, skip to erase [22.128]blk 716 is bad, skip to erase [22.132]blk 717 is bad, skip to erase [22.135]blk 718 is bad, skip to erase [22.139]blk 719 is bad, skip to erase [22.142]blk 720 is bad, skip to erase [22.145]blk 721 is bad, skip to erase [22.149]blk 722 is bad, skip to erase [22.152]blk 723 is bad, skip to erase [22.155]blk 724 is bad, skip to erase [22.159]blk 725 is bad, skip to erase [22.162]blk 726 is bad, skip to erase [22.166]blk 727 is bad, skip to erase [22.169]blk 728 is bad, skip to erase [22.172]blk 729 is bad, skip to erase [22.176]blk 730 is bad, skip to erase [22.179]blk 731 is bad, skip to erase [22.182]blk 732 is bad, skip to erase [22.186]blk 733 is bad, skip to erase [22.189]blk 734 is bad, skip to erase [22.193]blk 735 is bad, skip to erase [22.196]blk 736 is bad, skip to erase [22.199]blk 737 is bad, skip to erase [22.203]blk 738 is bad, skip to erase [22.206]blk 739 is bad, skip to erase [22.210]blk 740 is bad, skip to erase [22.213]blk 741 is bad, skip to erase [22.216]blk 742 is bad, skip to erase [22.220]blk 743 is bad, skip to erase [22.223]blk 744 is bad, skip to erase [22.226]blk 745 is bad, skip to erase [22.230]blk 746 is bad, skip to erase [22.233]blk 747 is bad, skip to erase [22.237]blk 748 is bad, skip to erase [22.240]blk 749 is bad, skip to erase [22.243]blk 750 is bad, skip to erase [22.247]blk 751 is bad, skip to erase [22.250]blk 752 is bad, skip to erase [22.254]blk 753 is bad, skip to erase [22.257]blk 754 is bad, skip to erase [22.260]blk 755 is bad, skip to erase [22.264]blk 756 is bad, skip to erase [22.267]blk 757 is bad, skip to erase [22.270]blk 758 is bad, skip to erase [22.274]blk 759 is bad, skip to erase [22.277]blk 760 is bad, skip to erase [22.281]blk 761 is bad, skip to erase [22.284]blk 762 is bad, skip to erase [22.287]blk 763 is bad, skip to erase [22.291]blk 764 is bad, skip to erase [22.294]blk 765 is bad, skip to erase [22.297]blk 766 is bad, skip to erase [22.301]blk 767 is bad, skip to erase [22.304]blk 768 is bad, skip to erase [22.308]blk 769 is bad, skip to erase [22.311]blk 770 is bad, skip to erase [22.314]blk 771 is bad, skip to erase [22.318]blk 772 is bad, skip to erase [22.321]blk 773 is bad, skip to erase [22.324]blk 774 is bad, skip to erase [22.328]blk 775 is bad, skip to erase [22.331]blk 776 is bad, skip to erase [22.335]blk 777 is bad, skip to erase [22.338]blk 778 is bad, skip to erase [22.341]blk 779 is bad, skip to erase [22.345]blk 780 is bad, skip to erase [22.348]blk 781 is bad, skip to erase [22.351]blk 782 is bad, skip to erase [22.355]blk 783 is bad, skip to erase [22.358]blk 784 is bad, skip to erase [22.362]blk 785 is bad, skip to erase [22.365]blk 786 is bad, skip to erase [22.368]blk 787 is bad, skip to erase [22.372]blk 788 is bad, skip to erase [22.375]blk 789 is bad, skip to erase [22.379]blk 790 is bad, skip to erase [22.382]blk 791 is bad, skip to erase [22.385]blk 792 is bad, skip to erase [22.389]blk 793 is bad, skip to erase [22.392]blk 794 is bad, skip to erase [22.395]blk 795 is bad, skip to erase [22.399]blk 796 is bad, skip to erase [22.402]blk 797 is bad, skip to erase [22.406]blk 798 is bad, skip to erase [22.409]blk 799 is bad, skip to erase [22.412]blk 800 is bad, skip to erase [22.416]blk 801 is bad, skip to erase [22.419]blk 802 is bad, skip to erase [22.423]blk 803 is bad, skip to erase [22.426]blk 804 is bad, skip to erase [22.429]blk 805 is bad, skip to erase [22.433]blk 806 is bad, skip to erase [22.436]blk 807 is bad, skip to erase [22.439]blk 808 is bad, skip to erase [22.443]blk 809 is bad, skip to erase [22.446]blk 810 is bad, skip to erase [22.450]blk 811 is bad, skip to erase [22.453]blk 812 is bad, skip to erase [22.456]blk 813 is bad, skip to erase [22.460]blk 814 is bad, skip to erase [22.463]blk 815 is bad, skip to erase [22.466]blk 816 is bad, skip to erase [22.470]blk 817 is bad, skip to erase [22.473]blk 818 is bad, skip to erase [22.477]blk 819 is bad, skip to erase [22.480]blk 820 is bad, skip to erase [22.483]blk 821 is bad, skip to erase [22.487]blk 822 is bad, skip to erase [22.490]blk 823 is bad, skip to erase [22.493]blk 824 is bad, skip to erase [22.497]blk 825 is bad, skip to erase [22.500]blk 826 is bad, skip to erase [22.504]blk 827 is bad, skip to erase [22.507]blk 828 is bad, skip to erase [22.510]blk 829 is bad, skip to erase [22.514]blk 830 is bad, skip to erase [22.517]blk 831 is bad, skip to erase [22.520]blk 832 is bad, skip to erase [22.524]blk 833 is bad, skip to erase [22.527]blk 834 is bad, skip to erase [22.531]blk 835 is bad, skip to erase [22.534]blk 836 is bad, skip to erase [22.537]blk 837 is bad, skip to erase [22.541]blk 838 is bad, skip to erase [22.544]blk 839 is bad, skip to erase [22.548]blk 840 is bad, skip to erase [22.551]blk 841 is bad, skip to erase [22.554]blk 842 is bad, skip to erase [22.558]blk 843 is bad, skip to erase [22.561]blk 844 is bad, skip to erase [22.564]blk 845 is bad, skip to erase [22.568]blk 846 is bad, skip to erase [22.571]blk 847 is bad, skip to erase [22.575]blk 848 is bad, skip to erase [22.578]blk 849 is bad, skip to erase [22.581]blk 850 is bad, skip to erase [22.585]blk 851 is bad, skip to erase [22.588]blk 852 is bad, skip to erase [22.592]blk 853 is bad, skip to erase [22.595]blk 854 is bad, skip to erase [22.598]blk 855 is bad, skip to erase [22.602]blk 856 is bad, skip to erase [22.605]blk 857 is bad, skip to erase [22.608]blk 858 is bad, skip to erase [22.612]blk 859 is bad, skip to erase [22.615]blk 860 is bad, skip to erase [22.619]blk 861 is bad, skip to erase [22.622]blk 862 is bad, skip to erase [22.625]blk 863 is bad, skip to erase [22.629]blk 864 is bad, skip to erase [22.632]blk 865 is bad, skip to erase [22.635]blk 866 is bad, skip to erase [22.639]blk 867 is bad, skip to erase [22.642]blk 868 is bad, skip to erase [22.646]blk 869 is bad, skip to erase [22.649]blk 870 is bad, skip to erase [22.652]blk 871 is bad, skip to erase [22.656]blk 872 is bad, skip to erase [22.659]blk 873 is bad, skip to erase [22.662]blk 874 is bad, skip to erase [22.666]blk 875 is bad, skip to erase [22.669]blk 876 is bad, skip to erase [22.673]blk 877 is bad, skip to erase [22.676]blk 878 is bad, skip to erase [22.679]blk 879 is bad, skip to erase [22.683]blk 880 is bad, skip to erase [22.686]blk 881 is bad, skip to erase [22.689]blk 882 is bad, skip to erase [22.693]blk 883 is bad, skip to erase [22.696]blk 884 is bad, skip to erase [22.700]blk 885 is bad, skip to erase [22.703]blk 886 is bad, skip to erase [22.706]blk 887 is bad, skip to erase [22.710]blk 888 is bad, skip to erase [22.713]blk 889 is bad, skip to erase [22.717]blk 890 is bad, skip to erase [22.720]blk 891 is bad, skip to erase [22.723]blk 892 is bad, skip to erase [22.727]blk 893 is bad, skip to erase [22.730]blk 894 is bad, skip to erase [22.733]blk 895 is bad, skip to erase [22.737]blk 896 is bad, skip to erase [22.740]blk 897 is bad, skip to erase [22.744]blk 898 is bad, skip to erase [22.747]blk 899 is bad, skip to erase [22.750]blk 900 is bad, skip to erase [22.754]blk 901 is bad, skip to erase [22.757]blk 902 is bad, skip to erase [22.761]blk 903 is bad, skip to erase [22.764]blk 904 is bad, skip to erase [22.767]blk 905 is bad, skip to erase [22.771]blk 906 is bad, skip to erase [22.774]blk 907 is bad, skip to erase [22.777]blk 908 is bad, skip to erase [22.781]blk 909 is bad, skip to erase [22.784]blk 910 is bad, skip to erase [22.788]blk 911 is bad, skip to erase [22.791]blk 912 is bad, skip to erase [22.794]blk 913 is bad, skip to erase [22.798]blk 914 is bad, skip to erase [22.801]blk 915 is bad, skip to erase [22.804]blk 916 is bad, skip to erase [22.808]blk 917 is bad, skip to erase [22.811]blk 918 is bad, skip to erase [22.815]blk 919 is bad, skip to erase [22.818]blk 920 is bad, skip to erase [22.821]blk 921 is bad, skip to erase [22.825]blk 922 is bad, skip to erase [22.828]blk 923 is bad, skip to erase [22.831]blk 924 is bad, skip to erase [22.835]blk 925 is bad, skip to erase [22.838]blk 926 is bad, skip to erase [22.842]blk 927 is bad, skip to erase [22.845]blk 928 is bad, skip to erase [22.848]blk 929 is bad, skip to erase [22.852]blk 930 is bad, skip to erase [22.855]blk 931 is bad, skip to erase [22.858]blk 932 is bad, skip to erase [22.862]blk 933 is bad, skip to erase [22.865]blk 934 is bad, skip to erase [22.869]blk 935 is bad, skip to erase [22.872]blk 936 is bad, skip to erase [22.875]blk 937 is bad, skip to erase [22.879]blk 938 is bad, skip to erase [22.882]blk 939 is bad, skip to erase [22.886]blk 940 is bad, skip to erase [22.889]blk 941 is bad, skip to erase [22.892]blk 942 is bad, skip to erase [22.896]blk 943 is bad, skip to erase [22.899]blk 944 is bad, skip to erase [22.902]blk 945 is bad, skip to erase [22.906]blk 946 is bad, skip to erase [22.909]blk 947 is bad, skip to erase [22.913]blk 948 is bad, skip to erase [22.916]blk 949 is bad, skip to erase [22.919]blk 950 is bad, skip to erase [22.923]blk 951 is bad, skip to erase [22.926]blk 952 is bad, skip to erase [22.930]blk 953 is bad, skip to erase [22.933]blk 954 is bad, skip to erase [22.936]blk 955 is bad, skip to erase [22.940]blk 956 is bad, skip to erase [22.943]blk 957 is bad, skip to erase [22.946]blk 958 is bad, skip to erase [22.950]blk 959 is bad, skip to erase [22.953]blk 960 is bad, skip to erase [22.957]blk 961 is bad, skip to erase [22.960]blk 962 is bad, skip to erase [22.963]blk 963 is bad, skip to erase [22.967]blk 964 is bad, skip to erase [22.970]blk 965 is bad, skip to erase [22.973]blk 966 is bad, skip to erase [22.977]blk 967 is bad, skip to erase [22.980]blk 968 is bad, skip to erase [22.984]blk 969 is bad, skip to erase [22.987]blk 970 is bad, skip to erase [22.990]blk 971 is bad, skip to erase [22.994]blk 972 is bad, skip to erase [22.997]blk 973 is bad, skip to erase [23.000]blk 974 is bad, skip to erase [23.004]blk 975 is bad, skip to erase [23.007]blk 976 is bad, skip to erase [23.011]blk 977 is bad, skip to erase [23.014]blk 978 is bad, skip to erase [23.017]blk 979 is bad, skip to erase [23.021]blk 980 is bad, skip to erase [23.024]blk 981 is bad, skip to erase [23.027]blk 982 is bad, skip to erase [23.031]blk 983 is bad, skip to erase [23.034]blk 984 is bad, skip to erase [23.038]blk 985 is bad, skip to erase [23.041]blk 986 is bad, skip to erase [23.044]blk 987 is bad, skip to erase [23.048]blk 988 is bad, skip to erase [23.051]blk 989 is bad, skip to erase [23.055]blk 990 is bad, skip to erase [23.058]blk 991 is bad, skip to erase [23.061]blk 992 is bad, skip to erase [23.065]blk 993 is bad, skip to erase [23.068]blk 994 is bad, skip to erase [23.071]blk 995 is bad, skip to erase [23.075]blk 996 is bad, skip to erase [23.078]blk 997 is bad, skip to erase [23.082]blk 998 is bad, skip to erase [23.085]blk 999 is bad, skip to erase [23.088]blk 1000 is bad, skip to erase [23.092]blk 1001 is bad, skip to erase [23.095]blk 1002 is bad, skip to erase [23.099]blk 1003 is bad, skip to erase [23.102]blk 1004 is bad, skip to erase [23.106]blk 1005 is bad, skip to erase [23.109]blk 1006 is bad, skip to erase [23.113]blk 1007 is bad, skip to erase [23.116]blk 1008 is bad, skip to erase [23.120]blk 1009 is bad, skip to erase [23.123]blk 1010 is bad, skip to erase [23.127]blk 1011 is bad, skip to erase [23.130]blk 1012 is bad, skip to erase [23.133]blk 1013 is bad, skip to erase [23.137]blk 1014 is bad, skip to erase [23.140]blk 1015 is bad, skip to erase [23.144]blk 1016 is bad, skip to erase [23.147]blk 1017 is bad, skip to erase [23.151]blk 1018 is bad, skip to erase [23.154]blk 1019 is bad, skip to erase [23.158]blk 1020 is bad, skip to erase [23.161]blk 1021 is bad, skip to erase [23.165]blk 1022 is bad, skip to erase [23.168]blk 1023 is bad, skip to erase [23.172]sunxi-spinand: no enough good blk between [40 40) for secure storage [23.178]get secure storage map err [23.182]sunxi-spinand: no enough good blk between [40 40) for secure storage [23.188]erase secure storage block 0 err SUNXI_EFEX_MBR_TAG mbr size = 0x10000 force mbr device nand0 <nand>, # parts = 4 #: name size offset mask_flags 0: boot0 0x00100000 0x00000000 1 1: uboot 0x00300000 0x00100000 1 2: secure_storage 0x00100000 0x00400000 1 3: sys 0x07b00000 0x00500000 0 active partition: nand0,0 - (boot0) 0x00100000 @ 0x00000000 defaults: mtdids : nand0=nand mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) [23.243]MTD info (4) [23.245]pagesize: 0x1000 [23.247]blksize: 0x40000 [23.249]num offset bytes name [23.253]0 0x00000000 0x00100000 boot0 [23.256]1 0x00100000 0x00300000 uboot [23.260]2 0x00400000 0x00100000 secure_storage [23.265]3 0x00500000 0x07b00000 sys [23.268]MBR info (unalign): [23.271]partno addr sects type name [23.275]0 0x00000000 0x00008000 0x00000001 mbr [23.280]1 0x00008000 0x000001f8 0x00008000 boot-resource [23.286]2 0x000081f8 0x000001f8 0x00008000 env [23.291]3 0x000083f0 0x000001f8 0x00008000 env-redund [23.296]4 0x000085e8 0x00005000 0x00008000 boot [23.301]5 0x0000d5e8 0x0000be00 0x00008000 rootfs [23.306]6 0x000193e8 0x00005780 0x00008000 recovery [23.311]7 0x0001eb68 0x00002800 0x00008000 rootfs_data [23.316]8 0x00021368 0x00000000 0x00000000 UDISK [23.321]ubi attach the last part of mtd device: NO.3 [23.326]MBR info (align): [23.328]partno addr sects type name [23.333]0 0x00002800 0x000081f0 0x00000001 mbr [23.338]1 0x0000a9f0 0x000001f8 0x00008000 boot-resource [23.344]2 0x0000abe8 0x000001f8 0x00008000 env [23.348]3 0x0000ade0 0x000001f8 0x00008000 env-redund [23.354]4 0x0000afd8 0x000050b8 0x00008000 boot [23.359]5 0x00010090 0x0000bef8 0x00008000 rootfs [23.364]6 0x0001bf88 0x00005898 0x00008000 recovery [23.369]7 0x00021820 0x00002958 0x00008000 rootfs_data [23.374]8 0x00024178 0x00000000 0x00000000 UDISK [23.379]ubi attach the last part of mtd device: NO.3 [23.384]ubi attatch mtd, name: sys [23.387]ubi0: attaching mtd4 [23.401]ubi0: scanning is finished [23.404]ubi0: empty MTD device detected [23.410]ubi0 error: ubi_early_get_peb: no free eraseblocks [23.415]ubi0 error: ubi_attach_mtd_dev: failed to attach mtd4, error -28 [23.422]UBI error: cannot attach mtd4 [23.425]UBI error: cannot initialize UBI, error -28 UBI init error 28 Please check, if the correct MTD partition is used (size big enough?) [23.438]ubi part sys err ! [23.440]initialize sunxi spinand ubi failed download_standard_gpt:write mbr sectors fail ret = 0
检测到了 GD5F1GQ4UBYIG,然而还是不行:
[12.523]sunxi-spinand-phy: detect munufacture from id table: GD [12.529]sunxi-spinand-phy: detect spinand id: ffffd1c8 ffffffff [12.534]sunxi-spinand-phy: ========== arch info ========== [12.540]sunxi-spinand-phy: Model: GD5F1GQ4UBYIG [12.545]sunxi-spinand-phy: Munufacture: GD [12.550]sunxi-spinand-phy: DieCntPerChip: 1 [12.554]sunxi-spinand-phy: BlkCntPerDie: 1024 [12.559]sunxi-spinand-phy: PageCntPerBlk: 64 [12.563]sunxi-spinand-phy: SectCntPerPage: 4 [12.568]sunxi-spinand-phy: OobSizePerPage: 64 [12.572]sunxi-spinand-phy: BadBlockFlag: 0x0 [12.577]sunxi-spinand-phy: OperationOpt: 0x7 [12.581]sunxi-spinand-phy: MaxEraseTimes: 50000 [12.586]sunxi-spinand-phy: EccFlag: 0x1 [12.591]sunxi-spinand-phy: EccType: 7 [12.595]sunxi-spinand-phy: EccProtectedType: 4 [12.600]sunxi-spinand-phy: ======================================== [12.606]sunxi-spinand-phy: [12.608]sunxi-spinand-phy: ========== physical info ========== [12.614]sunxi-spinand-phy: TotalSize: 128 M [12.618]sunxi-spinand-phy: SectorSize: 512 B [12.622]sunxi-spinand-phy: PageSize: 2 K [12.626]sunxi-spinand-phy: BlockSize: 128 K [12.630]sunxi-spinand-phy: OOBSize: 64 B [12.634]sunxi-spinand-phy: ======================================== [12.640]sunxi-spinand-phy: [12.643]sunxi-spinand-phy: ========== logical info ========== [12.648]sunxi-spinand-phy: TotalSize: 128 M [12.652]sunxi-spinand-phy: SectorSize: 512 B [12.656]sunxi-spinand-phy: PageSize: 4 K [12.660]sunxi-spinand-phy: BlockSize: 256 K [12.665]sunxi-spinand-phy: OOBSize: 128 B [12.669]sunxi-spinand-phy: ======================================== [12.685]sunxi-spinand-phy: set spic0 clk to 100 Mhz [12.690]sunxi-spinand-phy: block lock register: 0x80 [12.694]sunxi-spinand-phy: feature register: 0x08 [12.699]sunxi-spinand-phy: sunxi physic nand init end [12.709]Loading Environment from SUNXI_FLASH... OK
-
又翻出一片 MX35LF1GE4AB,看了 id.c 是支持的,换上试一试。
-
[53]HELLO! BOOT0 is starting! [56]BOOT0 commit : 553a5eb [59]set pll start [61]periph0 has been enabled [64]set pll end [65][pmu]: bus read error [67]board init ok [69]rtc[2] value = 0x5aa5a55a [72]eraly jump fel [868]fes begin commit:553a5eb [871]set pll start [873]periph0 has been enabled [876]set pll end [877][pmu]: bus read error [880]board init ok [882]beign to init dram [884]ZQ value = 0x2f [886]get_pmu_exist() = -1 [888]ddr_efuse_type: 0xa [891]mark_id: 0x5c [892]trefi:7.8ms [895][AUTO DEBUG] single rank and full DQ! [898]ddr_efuse_type: 0xa [901]mark_id: 0x5c [902]trefi:7.8ms [905][AUTO DEBUG] rank 0 row = 13 [908][AUTO DEBUG] rank 0 bank = 4 [911][AUTO DEBUG] rank 0 page size = 2 KB [915]DRAM BOOT DRIVE INFO: V0.32 [918]DRAM CLK = 408 MHz [920]DRAM Type = 2 (2:DDR2,3:DDR3) [923]DRAMC read ODT off. [925]DRAM ODT off. [927]ddr_efuse_type: 0xa [930]mark_id: 0x5c [932]DRAM SIZE =64 M [934]PLL_DDR_CTRL_REG:0xf9002100 [937]DRAM_CLK_REG:0xc0000000 [939][TIMING DEBUG] MR2= 0x0 [944]DRAM simple test OK. [947]init dram ok U-Boot 2018.05-00019-gc7a7584e23 (Sep 26 2021 - 11:44:52 +0000) Allwinner Technology [14.008]DRAM: 64 MiB [14.014]Relocation Offset is: 01ee1000 [14.044]secure enable bit: 0 [14.050]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=300Mhz [14.056]flash init start [14.059]workmode = 16,storage type = 0 try card 0 set card number 0 get card number 0 [14.066][mmc]: mmc driver ver uboot2018:2021-09-07 19:43:00 [14.076][mmc]: get sdc_type fail and use default host:tm1. FDT ERROR:fdt_get_all_pin:get property handle pinctrl-0 error:FDT_ERR_INTERNAL [14.093][mmc]: get card0 default pin fail [14.103][mmc]: can't find node "mmc0",will add new node [14.108][mmc]: fdt err returned <no error> [14.112][mmc]: Using default timing para [14.116][mmc]: sunxi mmc pin set failed! [14.119]error card no error [14.122][mmc]: MMC Device -1 not found MMC init failed try card0 fail try card 1 set card number 1 get card number 1 [14.132][mmc]: mmc driver ver uboot2018:2021-09-07 19:43:00 [14.138][mmc]: get sdc_type fail and use default host:tm1. [14.143][mmc]: mmc_get_para_from_fex: input sdc_no error: 1 [14.148][mmc]: Using default timing para [14.152][mmc]: sunxi mmc pin set failed! [14.156]error,card no error [14.158][mmc]: MMC Device -1 not found MMC init failed try card1 fail try card 2 set card number 2 get card number 2 [14.169][mmc]: mmc driver ver uboot2018:2021-09-07 19:43:00 [14.179][mmc]: get sdc_type fail and use default host:tm4. [14.214][mmc]: Is not Boot mode! [14.217][mmc]: SUNXI SDMMC Controller Version:0x50310 [14.228][mmc]: ************Try SD card 2************ [14.234][mmc]: mmc 2 cmd timeout 100 status 100 [14.238][mmc]: smc 2 err, cmd 8, RTO [14.241][mmc]: mmc 2 close bus gating and reset [14.246][mmc]: mmc 2 cmd timeout 100 status 100 [14.250][mmc]: smc 2 err, cmd 55, RTO [14.254][mmc]: mmc 2 close bus gating and reset [14.258][mmc]: ************Try MMC card 2************ [14.267][mmc]: mmc 2 cmd timeout 100 status 100 [14.271][mmc]: smc 2 err, cmd 1, RTO [14.275][mmc]: mmc 2 close bus gating and reset [14.279][mmc]: Card did not respond to voltage select! [14.284][mmc]: ************SD/MMC 2 init error!************ [14.289][mmc]: mmc init product failed MMC init failed try card2 fail try emmc fail [14.308]sunxi-spinand: AW SPINand MTD Layer Version: 1.5 20200407 [14.314]sunxi-spinand-phy: AW SPINand Phy Layer Version: 1.9 20200306 [14.385]sunxi-spinand-phy: request spi0 gpio ok [14.389]sunxi-spinand-phy: request general tx dma channel ok! [14.395]sunxi-spinand-phy: request general rx dma channel ok! [14.400]sunxi-spinand-phy: set spic0 clk to 20 Mhz [14.405]sunxi-spinand-phy: init spic0 clk ok sspi->base_addr = 0x4025000, the SPI control register: [VER] 0x4025000 = 0x00010001, [GCR] 0x4025004 = 0x00000083, [TCR] 0x4025008 = 0x00000184 [ICR] 0x4025010 = 0x00000f00, [ISR] 0x4025014 = 0x00000032, [FCR] 0x4025018 = 0x00200020 [FSR] 0x402501c = 0x00000000, [WCR] 0x4025020 = 0x00000000, [CCR] 0x4025024 = 0x00000002 [SDC] 0x4025028 = 0x00002000, [BCR] 0x4025030 = 0x00000000, [TCR] 0x4025034 = 0x00000000 [BCC] 0x4025038 = 0x00000000, [DMA] 0x4025088 = 0x000000e5 [14.450]sunxi-spinand-phy: not detect any munufacture from id table [14.468]sunxi-spinand-phy: get spi-nand Model from fdt fail [14.473]sunxi-spinand-phy: get phy info from fdt fail [14.478]sunxi-spinand-phy: not detect munufacture from fdt [14.483]sunxi-spinand-phy: detect munufacture from id table: GD [14.489]sunxi-spinand-phy: detect spinand id: ffffd1c8 ffffffff [14.494]sunxi-spinand-phy: ========== arch info ========== [14.500]sunxi-spinand-phy: Model: GD5F1GQ4UBYIG [14.505]sunxi-spinand-phy: Munufacture: GD [14.509]sunxi-spinand-phy: DieCntPerChip: 1 [14.514]sunxi-spinand-phy: BlkCntPerDie: 1024 [14.519]sunxi-spinand-phy: PageCntPerBlk: 64 [14.523]sunxi-spinand-phy: SectCntPerPage: 4 [14.528]sunxi-spinand-phy: OobSizePerPage: 64 [14.532]sunxi-spinand-phy: BadBlockFlag: 0x0 [14.537]sunxi-spinand-phy: OperationOpt: 0x7 [14.541]sunxi-spinand-phy: MaxEraseTimes: 50000 [14.546]sunxi-spinand-phy: EccFlag: 0x1 [14.551]sunxi-spinand-phy: EccType: 7 [14.555]sunxi-spinand-phy: EccProtectedType: 4 [14.559]sunxi-spinand-phy: ======================================== [14.565]sunxi-spinand-phy: [14.568]sunxi-spinand-phy: ========== physical info ========== [14.573]sunxi-spinand-phy: TotalSize: 128 M [14.578]sunxi-spinand-phy: SectorSize: 512 B [14.582]sunxi-spinand-phy: PageSize: 2 K [14.586]sunxi-spinand-phy: BlockSize: 128 K [14.590]sunxi-spinand-phy: OOBSize: 64 B [14.594]sunxi-spinand-phy: ======================================== [14.600]sunxi-spinand-phy: [14.602]sunxi-spinand-phy: ========== logical info ========== [14.608]sunxi-spinand-phy: TotalSize: 128 M [14.612]sunxi-spinand-phy: SectorSize: 512 B [14.616]sunxi-spinand-phy: PageSize: 4 K [14.620]sunxi-spinand-phy: BlockSize: 256 K [14.624]sunxi-spinand-phy: OOBSize: 128 B [14.629]sunxi-spinand-phy: ======================================== [14.646]sunxi-spinand-phy: GD5F1GQ4UBYIG reset rx bit width to 1 [14.652]sunxi-spinand-phy: GD5F1GQ4UBYIG reset tx bit width to 1 [14.657]sunxi-spinand-phy: set spic0 clk to 100 Mhz [14.662]sunxi-spinand-phy: block lock register: 0x00 [14.667]sunxi-spinand-phy: feature register: 0x11 [14.671]sunxi-spinand-phy: sunxi physic nand init end [14.682]Loading Environment from SUNXI_FLASH... OK [14.697]try to burn key [14.701]out of usb burn from boot: not need burn key [14.705]Net: [14.707]No ethernet found. Hit any key to stop autoboot: 0 sunxi work mode=0x10 run usb efex delay time 2500 weak:otg_phy_config usb init ok set address 0x1e set address 0x1e ok SUNXI_EFEX_ERASE_TAG erase_flag = 0x12 origin_erase_flag = 0x1 FEX_CMD_fes_verify_status FEX_CMD_fes_verify last err=0 the 0 mbr table is ok the 1 mbr table is ok the 2 mbr table is ok the 3 mbr table is ok *************MBR DUMP*************** total mbr part 7 part[0] name :boot-resource part[0] classname :DISK part[0] addrlo :0x8000 part[0] lenlo :0x1f8 part[0] user_type :32768 part[0] keydata :0 part[0] ro :0 part[1] name :env part[1] classname :DISK part[1] addrlo :0x81f8 part[1] lenlo :0x1f8 part[1] user_type :32768 part[1] keydata :0 part[1] ro :0 part[2] name :env-redund part[2] classname :DISK part[2] addrlo :0x83f0 part[2] lenlo :0x1f8 part[2] user_type :32768 part[2] keydata :0 part[2] ro :0 part[3] name :boot part[3] classname :DISK part[3] addrlo :0x85e8 part[3] lenlo :0x5000 part[3] user_type :32768 part[3] keydata :0 part[3] ro :0 part[4] name :rootfs part[4] classname :DISK part[4] addrlo :0xd5e8 part[4] lenlo :0xf000 part[4] user_type :32768 part[4] keydata :0 part[4] ro :0 part[5] name :rootfs_data part[5] classname :DISK part[5] addrlo :0x1c5e8 part[5] lenlo :0x2800 part[5] user_type :32768 part[5] keydata :0 part[5] ro :0 part[6] name :UDISK part[6] classname :DISK part[6] addrlo :0x1ede8 part[6] lenlo :0x0 part[6] user_type :0 part[6] keydata :0 part[6] ro :0 total part: 8 mbr 0, 8000, 8000 boot-resource 1, 1f8, 8000 env 2, 1f8, 8000 env-redund 3, 1f8, 8000 boot 4, 5000, 8000 rootfs 5, f000, 8000 rootfs_data 6, 2800, 8000 UDISK 7, 0, 0 [26.405]erase blk 0 to blk 32 need erase flash: 18 [26.467]mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) device nand0 <nand>, # parts = 4 #: name size offset mask_flags 0: boot0 0x00100000 0x00000000 1 1: uboot 0x00300000 0x00100000 1 2: secure_storage 0x00100000 0x00400000 1 3: sys 0x07b00000 0x00500000 0 active partition: nand0,0 - (boot0) 0x00100000 @ 0x00000000 defaults: mtdids : nand0=nand mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) [26.528]MTD info (4) [26.530]pagesize: 0x1000 [26.532]blksize: 0x40000 [26.535]num offset bytes name [26.538]0 0x00000000 0x00100000 boot0 [26.542]1 0x00100000 0x00300000 uboot [26.546]2 0x00400000 0x00100000 secure_storage [26.550]3 0x00500000 0x07b00000 sys [26.553]ubi attach the last part of mtd device: NO.3 [26.681]ubi0: attaching mtd4 [27.011]ubi0: scanning is finished [27.055]ubi0: attached mtd4 (name "sys", size 123 MiB) [27.060]ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 258048 bytes [27.066]ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 2048 [27.073]ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 [27.079]ubi0: good PEBs: 491, bad PEBs: 1, corrupted PEBs: 0 [27.084]ubi0: user volume: 8, internal volumes: 1, max. volumes count: 128 [27.091]ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0 [27.099]ubi0: available PEBs: 0, total reserved PEBs: 491, PEBs reserved for bad PEB handling: 19 [27.107]erase blk 0 to blk 32 [27.163]erase blk 40 to blk 1024 [28.786]blk 1023 is bad, skip to erase [28.789]sunxi-spinand: spinand secure storage ok for phy blk 32 and 33 [28.801]Item0 (Map) magic is bad [28.804]the secure storage map is empty [28.980]sunxi-spinand: write secure storage itme 0 ok [28.984]erase secure storage: 0 ok SUNXI_EFEX_MBR_TAG mbr size = 0x10000 force mbr device nand0 <nand>, # parts = 4 #: name size offset mask_flags 0: boot0 0x00100000 0x00000000 1 1: uboot 0x00300000 0x00100000 1 2: secure_storage 0x00100000 0x00400000 1 3: sys 0x07b00000 0x00500000 0 active partition: nand0,0 - (boot0) 0x00100000 @ 0x00000000 defaults: mtdids : nand0=nand mtdparts: mtdparts=nand:1024k@0(boot0)ro,3072k@1048576(uboot)ro,1024k@4194304(secure_storage)ro,-(sys) [29.039]MTD info (4) [29.041]pagesize: 0x1000 [29.043]blksize: 0x40000 [29.045]num offset bytes name [29.049]0 0x00000000 0x00100000 boot0 [29.053]1 0x00100000 0x00300000 uboot [29.056]2 0x00400000 0x00100000 secure_storage [29.061]3 0x00500000 0x07b00000 sys [29.064]MBR info (unalign): [29.067]partno addr sects type name [29.071]0 0x00000000 0x00008000 0x00000001 mbr [29.076]1 0x00008000 0x000001f8 0x00008000 boot-resource [29.082]2 0x000081f8 0x000001f8 0x00008000 env [29.087]3 0x000083f0 0x000001f8 0x00008000 env-redund [29.092]4 0x000085e8 0x00005000 0x00008000 boot [29.097]5 0x0000d5e8 0x0000f000 0x00008000 rootfs [29.102]6 0x0001c5e8 0x00002800 0x00008000 rootfs_data [29.107]7 0x0001ede8 0x00000000 0x00000000 UDISK [29.112]ubi attach the last part of mtd device: NO.3 [29.117]MBR info (align): [29.119]partno addr sects type name [29.124]0 0x00002800 0x000081f0 0x00000001 mbr [29.129]1 0x0000a9f0 0x000001f8 0x00008000 boot-resource [29.134]2 0x0000abe8 0x000001f8 0x00008000 env [29.139]3 0x0000ade0 0x000001f8 0x00008000 env-redund [29.145]4 0x0000afd8 0x000050b8 0x00008000 boot [29.149]5 0x00010090 0x0000f030 0x00008000 rootfs [29.155]6 0x0001f0c0 0x00002958 0x00008000 rootfs_data [29.160]7 0x00021a18 0x00000000 0x00000000 UDISK [29.165]ubi attach the last part of mtd device: NO.3 [29.170]ubi attatch mtd, name: sys [29.173]ubi0: detaching mtd4 [29.177]ubi0: mtd4 is detached [29.180]ubi0: attaching mtd4 [29.339]ubi0: scanning is finished [29.342]ubi0: empty MTD device detected [29.397]ubi0: attached mtd4 (name "sys", size 123 MiB) [29.402]ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 258048 bytes [29.408]ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 2048 [29.414]ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 [29.420]ubi0: good PEBs: 491, bad PEBs: 1, corrupted PEBs: 0 [29.426]ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128 [29.432]ubi0: max/mean erase counter: 0/0, WL threshold: 4096, image sequence number: 0 [29.440]ubi0: available PEBs: 468, total reserved PEBs: 23, PEBs reserved for bad PEB handling: 19 Creating static volume mbr of size 17031168 Creating dynamic volume boot-resource of size 258048 Creating dynamic volume env of size 258048 Creating dynamic volume env-redund of size 258048 Creating dynamic volume boot of size 10579968 Creating dynamic volume rootfs of size 31481856 Creating dynamic volume rootfs_data of size 5419008 No size specified -> Using max size (55480320) [32.019]reset last volume size to 0x1a748 Creating dynamic volume UDISK of size 55480320 [32.133]fill gap start: volume mbr sects 0x7f80 [50.606]fill gap end: volume mbr [50.608]update partition map [50.611]logical area info: 468 258048 last_lba: 235871 [50.633]logical area info: 468 258048 last_lba: 235871 [50.654]logical area info: 468 258048 last_lba: 235871 [50.675]logical area info: 468 258048 last_lba: 235871 [50.696]logical area info: 468 258048 last_lba: 235871 [50.716]logical area info: 468 258048 last_lba: 235871 [50.737]logical area info: 468 258048 last_lba: 235871 [50.758]logical area info: 468 258048 last_lba: 235871 [50.779]logical area info: 468 258048 last_lba: 235871 [50.799]logical area info: 468 258048 last_lba: 235871 [50.820]logical area info: 468 258048 last_lba: 235871 [50.841]logical area info: 468 258048 last_lba: 235871 [50.862]logical area info: 468 258048 last_lba: 235871 [50.883]logical area info: 468 258048 last_lba: 235871 [50.903]logical area info: 468 258048 last_lba: 235871 [50.924]logical area info: 468 258048 last_lba: 235871 [50.945]logical area info: 468 258048 last_lba: 235871 [50.965]logical area info: 468 258048 last_lba: 235871 [50.986]logical area info: 468 258048 last_lba: 235871 [51.007]logical area info: 468 258048 last_lba: 235871 [51.028]logical area info: 468 258048 last_lba: 235871 [51.048]logical area info: 468 258048 last_lba: 235871 [51.069]logical area info: 468 258048 last_lba: 235871 [51.090]logical area info: 468 258048 last_lba: 235871 [51.111]logical area info: 468 258048 last_lba: 235871 FEX_CMD_fes_verify_status FEX_CMD_fes_verify last err=0 [51.181]fill gap start: volume boot-resource sects 0x158 [51.376]fill gap end: volume boot-resource FEX_CMD_fes_verify_value, start 0x8000, size high 0x0:low 0x14000 FEX_CMD_fes_verify_value 0xe6f75b5c [51.487]fill gap start: volume env sects 0xf8 [51.679]fill gap end: volume env FEX_CMD_fes_verify_value, start 0x81f8, size high 0x0:low 0x20000 FEX_CMD_fes_verify_value 0x7610f7e9 [51.782]fill gap start: volume env-redund sects 0xf8 [51.974]fill gap end: volume env-redund FEX_CMD_fes_verify_value, start 0x83f0, size high 0x0:low 0x20000 FEX_CMD_fes_verify_value 0x7610f7e9 [55.499]fill gap start: volume boot sects 0x2144 [56.718]fill gap end: volume boot FEX_CMD_fes_verify_value, start 0x85e8, size high 0x0:low 0x5d7800 FEX_CMD_fes_verify_value 0xcbe6925a [71.824]fill gap start: volume rootfs sects 0x3a00 [73.806]fill gap end: volume rootfs FEX_CMD_fes_verify_value, start 0xd5e8, size high 0x0:low 0x16c0000 FEX_CMD_fes_verify_value 0x2b5a2951 bootfile_mode=4 SUNXI_EFEX_BOOT1_TAG boot1 size = 0x108000, max size = 0x200000 uboot size = 0x108000 storage type = 0 [79.091]uboot blk range [8-32) [79.094]download uboot to block 8 (9 blocks) len 1056K [79.667]download uboot to block 17 (9 blocks) len 1056K FEX_CMD_fes_verify_status FEX_CMD_fes_verify last err=0 bootfile_mode=4 SUNXI_EFEX_BOOT0_TAG boot0 size = 0x14000 dram para[0] = 198 dram para[1] = 2 dram para[2] = 7b7bf9 dram para[3] = 0 dram para[4] = d2 dram para[5] = 400000 dram para[6] = a63 dram para[7] = 2 dram para[8] = 0 dram para[9] = 0 dram para[10] = 45994e dram para[11] = 121210a dram para[12] = 43032 dram para[13] = b4787896 dram para[14] = 0 dram para[15] = 48484848 dram para[16] = 48 dram para[17] = 1621121e dram para[18] = 0 dram para[19] = 0 dram para[20] = 0 dram para[21] = 30010 dram para[22] = 35 dram para[23] = b4006003 dram para[24] = 0 dram para[25] = 0 dram para[26] = 0 dram para[27] = 0 dram para[28] = 0 dram para[29] = 0 dram para[30] = 0 dram para[31] = 0 storage type = 0 [80.338]download boot0 to block 0 len 80K [80.386]download boot0 to block 1 len 80K [80.433]download boot0 to block 2 len 80K [80.480]download boot0 to block 3 len 80K [80.528]download boot0 to block 4 len 80K [80.575]download boot0 to block 5 len 80K [80.622]download boot0 to block 6 len 80K [80.670]download boot0 to block 7 len 80K FEX_CMD_fes_verify_status FEX_CMD_fes_verify last err=0 sunxi_efex_next_action=2 exit usb next work 2
GD5F1GQ4UBYIG 烧录OK,启动OK:
numid=30,iface=MIXER,name='Headphone Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on amixer: Cannot find the given element from control default The framebuffer device was opened successfully. 800x480, 32bpp The framebuffer device was mapped to memory successfully. unable open evdev interface:: No such file or directory info:<init_text:265>lang=1, dataFile=/usr/res/font/en.bin connect wpa_supplicant failed,please check wifi driver! root@TinaLinux:/# root@TinaLinux:/# root@TinaLinux:/# mount /dev/root on /rom type squashfs (ro,relatime) devtmpfs on /dev type devtmpfs (rw,relatime,size=28260k,nr_inodes=7065,mode=755) /proc on /proc type proc (rw,relatime) tmpfs on /tmp type tmpfs (rw,relatime) sys on /sys type sysfs (rw,relatime) /dev/by-name/rootfs_data on /overlay type ubifs (rw,relatime,assert=read-only,ubi=0,vol=6) overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/workdir) devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000) /dev/ubi0_7 on /mnt/UDISK type ubifs (rw,relatime,assert=read-only,ubi=0,vol=7) none on /sys/kernel/config type configfs (rw,relatime) adb on /dev/usb-ffs/adb type functionfs (rw,relatime) root@TinaLinux:/# root@TinaLinux:/# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 23296 23296 0 100% /rom devtmpfs 28260 0 28260 0% /dev tmpfs 29088 0 29088 0% /tmp /dev/by-name/rootfs_data 1420 32 1244 3% /overlay overlayfs:/overlay 1420 32 1244 3% / /dev/ubi0_7 47164 24 44700 0% /mnt/UDISK root@TinaLinux:/# root@TinaLinux:/# touch test.txt root@TinaLinux:/# root@TinaLinux:/# echo "testesttest" > /test.txt root@TinaLinux:/# root@TinaLinux:/#
-
需要做哪些修改才能适配呢?
-
2楼那个 在 lichee/brandy-2.0/u-boot-2018/drivers/mtd/awnand/spinand/physic/id.c 添加了 GD5F1GQ4UAYIG 配置
-
我用GigaDevice的也遇到了同样的问题,请问解决了吗
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号