适配新的 nand flash
以芯存 XCSP4AXPK-IT为例
1. 修改两个路径的 ID 表
T153/brandy/brandy-2.0/u-boot-bsp/drivers/mtd/awnand/spinand/physic/id.c
T153/bsp/drivers/mtd/awnand/spinand/physic/id.c
添加结构体定义
struct aw_spinand_phy_info xincun[] = {
{
.Model = "XCSP4AXPK-IT",
.NandID = {0x6C, 0xB1, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00},
.DieCntPerChip = 1,
.SectCntPerPage = 8,
.PageCntPerBlk = 64,
.BlkCntPerDie = 2048,
.OobSizePerPage = 256,
.OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ,
.MaxEraseTimes = 100000,
.EccType = BIT2_LIMIT1_ERR2_LIMIT3,
.EccProtectedType = SIZE16_OFF0_LEN16,
.BadBlockFlag = BAD_BLK_FLAG_FIRST_2_PAGE,
.ecc_status_shift = ECC_STATUS_SHIFT_4,
},
{
.Model = "XCSP2AAPK-IT",
.NandID = {0x6c, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
.DieCntPerChip = 1,
.SectCntPerPage = 8,
.PageCntPerBlk = 64,
.BlkCntPerDie = 2048,
.OobSizePerPage = 256,
.OperationOpt = SPINAND_QUAD_READ | SPINAND_QUAD_PROGRAM | SPINAND_DUAL_READ,
.MaxEraseTimes = 100000,
.EccType = BIT2_LIMIT1_ERR2_LIMIT3,
.EccProtectedType = SIZE16_OFF0_LEN16,
.BadBlockFlag = BAD_BLK_FLAG_FIRST_2_PAGE,
.ecc_status_shift = ECC_STATUS_SHIFT_4,
},
};
static struct spinand_manufacture spinand_factory[] = {
SPINAND_FACTORY_INFO(XINCUN_MANUFACTURE, "XinCun", xincun),
};
...
case XINCUN_MANUFACTURE:
*m = "XinCun";
break;
...2. ubi 打包参数
由于 XCSP4AXPK-IT 硬件规格 Page Size 为 4096,ubi 打包参数需要严格匹配,否则无法烧录。
在根目录修改构建配置 .buildconfig
export LICHEE_NAND_PAGE_SIZE=4096修改后需要重新运行 ./yz_build.sh config 配置编译参数
- ypt153evb 512MB flash 使用 XCSP4AXPK-IT ,256MB 使用 XCSP2AAPK-IT,会在 yz_build.sh 自动修改这个参数
作者:陈柏林 创建时间:2026-09-15 13:59
最后编辑:陈柏林 更新时间:2026-10-12 11:13
最后编辑:陈柏林 更新时间:2026-10-12 11:13