Lines Matching +full:0 +full:- +full:3

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright © 2009 - Maxim Levitsky
16 return -ERANGE; in oob_sm_ooblayout_ecc()
18 oobregion->length = 3; in oob_sm_ooblayout_ecc()
19 oobregion->offset = ((section + 1) * 8) - 3; in oob_sm_ooblayout_ecc()
21 return 0; in oob_sm_ooblayout_ecc()
28 case 0: in oob_sm_ooblayout_free()
30 oobregion->offset = 0; in oob_sm_ooblayout_free()
31 oobregion->length = 4; in oob_sm_ooblayout_free()
35 oobregion->offset = 6; in oob_sm_ooblayout_free()
36 oobregion->length = 2; in oob_sm_ooblayout_free()
40 oobregion->offset = 11; in oob_sm_ooblayout_free()
41 oobregion->length = 2; in oob_sm_ooblayout_free()
44 return -ERANGE; in oob_sm_ooblayout_free()
47 return 0; in oob_sm_ooblayout_free()
65 return -ERANGE; in oob_sm_small_ooblayout_ecc()
67 oobregion->length = 3; in oob_sm_small_ooblayout_ecc()
68 oobregion->offset = 0; in oob_sm_small_ooblayout_ecc()
70 return 0; in oob_sm_small_ooblayout_ecc()
77 case 0: in oob_sm_small_ooblayout_free()
79 oobregion->offset = 3; in oob_sm_small_ooblayout_free()
80 oobregion->length = 2; in oob_sm_small_ooblayout_free()
84 oobregion->offset = 6; in oob_sm_small_ooblayout_free()
85 oobregion->length = 2; in oob_sm_small_ooblayout_free()
88 return -ERANGE; in oob_sm_small_ooblayout_free()
91 return 0; in oob_sm_small_ooblayout_free()
106 memset(&oob, -1, SM_OOB_SIZE); in sm_block_markbad()
107 oob.block_status = 0x0F; in sm_block_markbad()
112 ops.ooboffs = 0; in sm_block_markbad()
113 ops.ooblen = mtd->oobsize; in sm_block_markbad()
119 if (ret < 0 || ops.oobretlen != SM_OOB_SIZE) { in sm_block_markbad()
122 return -EIO; in sm_block_markbad()
125 return 0; in sm_block_markbad()
129 LEGACY_ID_NAND("SmartMedia 2MiB 3,3V ROM", 0x5d, 2, SZ_8K, NAND_ROM),
130 LEGACY_ID_NAND("SmartMedia 4MiB 3,3V", 0xe3, 4, SZ_8K, 0),
131 LEGACY_ID_NAND("SmartMedia 4MiB 3,3/5V", 0xe5, 4, SZ_8K, 0),
132 LEGACY_ID_NAND("SmartMedia 4MiB 5V", 0x6b, 4, SZ_8K, 0),
133 LEGACY_ID_NAND("SmartMedia 4MiB 3,3V ROM", 0xd5, 4, SZ_8K, NAND_ROM),
134 LEGACY_ID_NAND("SmartMedia 8MiB 3,3V", 0xe6, 8, SZ_8K, 0),
135 LEGACY_ID_NAND("SmartMedia 8MiB 3,3V ROM", 0xd6, 8, SZ_8K, NAND_ROM),
136 LEGACY_ID_NAND("SmartMedia 16MiB 3,3V", 0x73, 16, SZ_16K, 0),
137 LEGACY_ID_NAND("SmartMedia 16MiB 3,3V ROM", 0x57, 16, SZ_16K, NAND_ROM),
138 LEGACY_ID_NAND("SmartMedia 32MiB 3,3V", 0x75, 32, SZ_16K, 0),
139 LEGACY_ID_NAND("SmartMedia 32MiB 3,3V ROM", 0x58, 32, SZ_16K, NAND_ROM),
140 LEGACY_ID_NAND("SmartMedia 64MiB 3,3V", 0x76, 64, SZ_16K, 0),
141 LEGACY_ID_NAND("SmartMedia 64MiB 3,3V ROM", 0xd9, 64, SZ_16K, NAND_ROM),
142 LEGACY_ID_NAND("SmartMedia 128MiB 3,3V", 0x79, 128, SZ_16K, 0),
143 LEGACY_ID_NAND("SmartMedia 128MiB 3,3V ROM", 0xda, 128, SZ_16K, NAND_ROM),
144 LEGACY_ID_NAND("SmartMedia 256MiB 3, 3V", 0x71, 256, SZ_16K, 0),
145 LEGACY_ID_NAND("SmartMedia 256MiB 3,3V ROM", 0x5b, 256, SZ_16K, NAND_ROM),
150 LEGACY_ID_NAND("xD 16MiB 3,3V", 0x73, 16, SZ_16K, 0),
151 LEGACY_ID_NAND("xD 32MiB 3,3V", 0x75, 32, SZ_16K, 0),
152 LEGACY_ID_NAND("xD 64MiB 3,3V", 0x76, 64, SZ_16K, 0),
153 LEGACY_ID_NAND("xD 128MiB 3,3V", 0x79, 128, SZ_16K, 0),
154 LEGACY_ID_NAND("xD 256MiB 3,3V", 0x71, 256, SZ_16K, NAND_BROKEN_XD),
155 LEGACY_ID_NAND("xD 512MiB 3,3V", 0xdc, 512, SZ_16K, NAND_BROKEN_XD),
156 LEGACY_ID_NAND("xD 1GiB 3,3V", 0xd3, 1024, SZ_16K, NAND_BROKEN_XD),
157 LEGACY_ID_NAND("xD 2GiB 3,3V", 0xd5, 2048, SZ_16K, NAND_BROKEN_XD),
166 chip->badblockpos = 0x05; in sm_attach_chip()
167 chip->badblockbits = 7; in sm_attach_chip()
168 chip->legacy.block_markbad = sm_block_markbad; in sm_attach_chip()
171 if (mtd->writesize == SM_SECTOR_SIZE) in sm_attach_chip()
173 else if (mtd->writesize == SM_SMALL_PAGE) in sm_attach_chip()
176 return -ENODEV; in sm_attach_chip()
178 return 0; in sm_attach_chip()
191 chip->options |= NAND_SKIP_BBTSCAN; in sm_register_device()
194 chip->legacy.dummy_controller.ops = &sm_controller_ops; in sm_register_device()
200 ret = mtd_device_register(mtd, NULL, 0); in sm_register_device()