Lines Matching +full:0 +full:x00064000
43 #define BLOCK_IS_RESERVED 0xffff
49 #define SHARPSL_PARTINFO1_LADDR 0x00060000
50 #define SHARPSL_PARTINFO2_LADDR 0x00064000
52 #define BOOT_MAGIC 0x424f4f54
53 #define FSRO_MAGIC 0x4653524f
54 #define FSRW_MAGIC 0x46535257
72 u8 freebytes = 0; in sharpsl_nand_check_ooblayout()
73 int section = 0; in sharpsl_nand_check_ooblayout()
91 if (freebytes == 0xff) in sharpsl_nand_check_ooblayout()
92 return 0; in sharpsl_nand_check_ooblayout()
108 if (ret != 0 || mtd->oobsize != ops.oobretlen) in sharpsl_nand_read_oob()
111 return 0; in sharpsl_nand_read_oob()
124 * Reserved values 0xffff mean the block is kept for wear leveling.
163 return (us >> 1) & GENMASK(9, 0); in sharpsl_nand_get_logical_num()
190 for (i = 0; i < ftl->logmax; i++) in sharpsl_nand_init_ftl()
194 for (block_num = 0; block_num < phymax; block_num++) { in sharpsl_nand_init_ftl()
207 if (log_num > 0 && log_num < ftl->logmax) { in sharpsl_nand_init_ftl()
216 ret = 0; in sharpsl_nand_init_ftl()
243 if (len <= 0 || log_num >= ftl->logmax || final_log_num > log_num) in sharpsl_nand_read_laddr()
253 err = 0; in sharpsl_nand_read_laddr()
278 * 0x00060000: 00 00 00 00 00 00 70 00 42 4f 4f 54 00 00 00 00 ......p.BOOT....
279 * 0x00060010: 00 00 70 00 00 00 c0 03 46 53 52 4f 00 00 00 00 ..p.....FSRO....
280 * 0x00060020: 00 00 c0 03 00 00 00 04 46 53 52 57 00 00 00 00 ........FSRW....
302 if (be32_to_cpu(buf[0].magic) != BOOT_MAGIC || in sharpsl_nand_read_partinfo()
313 if (le32_to_cpu(buf[0].end) <= le32_to_cpu(buf[0].start) || in sharpsl_nand_read_partinfo()
314 le32_to_cpu(buf[1].start) < le32_to_cpu(buf[0].end) || in sharpsl_nand_read_partinfo()
322 return 0; in sharpsl_nand_read_partinfo()
372 sharpsl_nand_parts[0].name = "smf"; in sharpsl_parse_mtd_partitions()
373 sharpsl_nand_parts[0].offset = le32_to_cpu(buf[0].start); in sharpsl_parse_mtd_partitions()
374 sharpsl_nand_parts[0].size = le32_to_cpu(buf[0].end) - in sharpsl_parse_mtd_partitions()
375 le32_to_cpu(buf[0].start); in sharpsl_parse_mtd_partitions()