Lines Matching +full:user +full:- +full:otp
1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2016-2017 Micron Technology, Inc.
12 #include <linux/spi/spi-mem.h>
70 return -ERANGE; in micron_8_ooblayout_ecc()
72 region->offset = mtd->oobsize / 2; in micron_8_ooblayout_ecc()
73 region->length = mtd->oobsize / 2; in micron_8_ooblayout_ecc()
82 return -ERANGE; in micron_8_ooblayout_free()
85 region->offset = 2; in micron_8_ooblayout_free()
86 region->length = (mtd->oobsize / 2) - 2; in micron_8_ooblayout_free()
101 if (section >= spinand->base.memorg.pagesize / in micron_4_ooblayout_ecc()
102 mtd->ecc_step_size) in micron_4_ooblayout_ecc()
103 return -ERANGE; in micron_4_ooblayout_ecc()
105 region->offset = (section * 16) + 8; in micron_4_ooblayout_ecc()
106 region->length = 8; in micron_4_ooblayout_ecc()
116 if (section >= spinand->base.memorg.pagesize / in micron_4_ooblayout_free()
117 mtd->ecc_step_size) in micron_4_ooblayout_free()
118 return -ERANGE; in micron_4_ooblayout_free()
121 region->offset = 16 * section; in micron_4_ooblayout_free()
122 region->length = 8; in micron_4_ooblayout_free()
125 region->offset = 2; in micron_4_ooblayout_free()
126 region->length = 6; in micron_4_ooblayout_free()
141 spinand->scratchbuf); in micron_select_target()
144 return -EINVAL; in micron_select_target()
146 *spinand->scratchbuf = MICRON_SELECT_DIE(target); in micron_select_target()
148 return spi_mem_exec_op(spinand->spimem, &op); in micron_select_target()
159 return -EBADMSG; in micron_8_ecc_get_status()
174 return -EINVAL; in micron_8_ecc_get_status()
186 return -ENOMEM; in mt29f2g01abagd_otp_is_locked()
198 dev_warn(&spinand_to_mtd(spinand)->dev, in mt29f2g01abagd_otp_is_locked()
199 "Can not disable OTP mode\n"); in mt29f2g01abagd_otp_is_locked()
200 ret = -EIO; in mt29f2g01abagd_otp_is_locked()
206 /* If all zeros, then the OTP area is locked. */ in mt29f2g01abagd_otp_is_locked()
217 bool user) in mt29f2g01abagd_otp_info() argument
222 return -EINVAL; in mt29f2g01abagd_otp_info()
228 buf->locked = locked; in mt29f2g01abagd_otp_info()
229 buf->start = 0; in mt29f2g01abagd_otp_info()
230 buf->length = user ? spinand_user_otp_size(spinand) : in mt29f2g01abagd_otp_info()
265 ret = spi_mem_exec_op(spinand->spimem, &write_op); in mt29f2g01abagd_otp_lock()
269 ret = spi_mem_exec_op(spinand->spimem, &exec_op); in mt29f2g01abagd_otp_lock()
278 ret = -EIO; in mt29f2g01abagd_otp_lock()
282 dev_warn(&spinand_to_mtd(spinand)->dev, in mt29f2g01abagd_otp_lock()
283 "Can not disable OTP mode\n"); in mt29f2g01abagd_otp_lock()
284 ret = -EIO; in mt29f2g01abagd_otp_lock()
422 * M70A device series enable Continuous Read feature at Power-up, in micron_spinand_init()
426 if (spinand->flags & SPINAND_HAS_CR_FEAT_BIT) in micron_spinand_init()