在s3c2410板上学着移植2.6内核, 首先设置nand flash支持, 修改devs.c:
1: 建立flash 分区: static struct mtd_partiton partition_info={....}; 分为4个区: bootloader, kernel, root, user
2: 加入分区信息: struct s3c2410_nand_set nandset={ nr_partitions: 4, partitions: partition_info,};
3:建立芯片支持: struct s3c2410_platform_nand superlpplatform={ tacls: 0, twrph0: 30, twrph1: 0 , sets: &nandset,
nr_sets:1, };
4: 修改结构体变量, 添加对dev成员赋值: struct platform_device s3c2410_device_nand={
.name ="s3c2410_nand",
.id =-1,
.num_resources=ARRAY_SIZE(s3c_nand_resource),
.resource = s3c_nand_resource,
.dev={ .platform_data=&superlpplatform)
};
5: 在mach-smdk2410.c 中指明初始化时包括所设置的flash分区信息
static struct platform_device *smdk2410_devices[]_initdata={
.................
/*添加一句*/ &s3c_device_nand,};
最后禁止flash ECC校验。
请问这个过程完整吗? 是不是漏了什么步骤?要不要在驱动中添加芯片支持?如何添加? 谢谢大家!
回复 楼主 wonderglass 的帖子
是这个过程 的,目前你出现问题了吗?