| /OK3568_Linux_fs/kernel/drivers/nvmem/ |
| H A D | rockchip-otp.c | 3 * Rockchip OTP Driver 23 /* OTP Register Offsets */ 56 /* OTP Register bits and masks */ 145 /* magic for enable otp write func */ 147 /* each bit mask 32 bits in OTP NVM */ 152 MODULE_PARM_DESC(rockchip_otp_wr_magic, "magic for enable otp write func."); 174 int (*init)(struct rockchip_otp *otp); 177 static int rockchip_otp_reset(struct rockchip_otp *otp) in rockchip_otp_reset() argument 181 ret = reset_control_assert(otp->rst); in rockchip_otp_reset() 183 dev_err(otp->dev, "failed to assert otp phy %d\n", ret); in rockchip_otp_reset() [all …]
|
| H A D | mxs-ocotp.c | 3 * Freescale MXS On-Chip OTP driver 36 static int mxs_ocotp_wait(struct mxs_ocotp *otp) in mxs_ocotp_wait() argument 42 status = readl(otp->base); in mxs_ocotp_wait() 61 struct mxs_ocotp *otp = context; in mxs_ocotp_read() local 65 ret = clk_enable(otp->clk); in mxs_ocotp_read() 69 writel(BM_OCOTP_CTRL_ERROR, otp->base + STMP_OFFSET_REG_CLR); in mxs_ocotp_read() 71 ret = mxs_ocotp_wait(otp); in mxs_ocotp_read() 76 writel(BM_OCOTP_CTRL_RD_BANK_OPEN, otp->base + STMP_OFFSET_REG_SET); in mxs_ocotp_read() 81 ret = mxs_ocotp_wait(otp); in mxs_ocotp_read() 90 *buf++ = readl(otp->base + offset); in mxs_ocotp_read() [all …]
|
| H A D | rockchip-secure-otp.c | 3 * Rockchip Secure OTP Driver 39 int (*init)(struct rockchip_otp *otp); 51 * func: read data from non-protected oem zone in secure otp 154 * func: write data to non-protected oem zone in secure otp 259 struct rockchip_otp *otp = context; in rockchip_secure_otp_read() local 262 if (otp->data && otp->data->reg_read) in rockchip_secure_otp_read() 263 ret = otp->data->reg_read(offset, val, bytes); in rockchip_secure_otp_read() 271 struct rockchip_otp *otp = context; in rockchip_secure_otp_write() local 274 if (otp->data && otp->data->reg_write) in rockchip_secure_otp_write() 275 ret = otp->data->reg_write(offset, val, bytes); in rockchip_secure_otp_write() [all …]
|
| H A D | lpc18xx_otp.c | 3 * NXP LPC18xx/43xx OTP memory NVMEM driver 10 * TODO: add support for writing OTP register via API in boot ROM. 22 * LPC18xx OTP memory contains 4 banks with 4 32-bit words. Bank 0 starts 44 struct lpc18xx_otp *otp = context; in lpc18xx_otp_read() local 54 *buf++ = readl(otp->base + i * LPC18XX_OTP_WORD_SIZE); in lpc18xx_otp_read() 60 .name = "lpc18xx-otp", 70 struct lpc18xx_otp *otp; in lpc18xx_otp_probe() local 73 otp = devm_kzalloc(&pdev->dev, sizeof(*otp), GFP_KERNEL); in lpc18xx_otp_probe() 74 if (!otp) in lpc18xx_otp_probe() 78 otp->base = devm_ioremap_resource(&pdev->dev, res); in lpc18xx_otp_probe() [all …]
|
| H A D | Kconfig | 36 tristate "i.MX 6/7/8 On-Chip OTP Controller support" 40 This is a driver for the On-Chip OTP Controller (OCOTP) available on 48 tristate "i.MX8 SCU On-Chip OTP Controller support" 52 This is a driver for the SCU On-Chip OTP Controller (OCOTP) 78 tristate "NXP LPC18XX OTP Memory Support" 82 Say Y here to include support for NXP LPC18xx OTP memory found on 88 tristate "Freescale MXS On-Chip OTP Memory Support" 153 tristate "Rockchip OTP controller support" 158 from otp, such as cpu-leakage. 164 tristate "Rockchip Secure OTP controller support" [all …]
|
| H A D | imx-ocotp.c | 27 * OTP Bank0 Word0 30 * of two consecutive OTP words. 215 * ipg_clk. OTP writes will work at maximum bus frequencies as long in imx_ocotp_set_imx6_timing() 218 * Note: there are minimum timings required to ensure an OTP fuse burns in imx_ocotp_set_imx6_timing() 227 * - Minimum STROBE_READ i.e. the time to wait post OTP fuse burn before in imx_ocotp_set_imx6_timing() 237 * value will mess up a re-load of the shadow registers post OTP in imx_ocotp_set_imx6_timing() 290 /* allow only writing one complete OTP word at a time */ in imx_ocotp_write() 328 * In banked/i.MX7 mode the OTP register bank goes into waddr in imx_ocotp_write() 338 * OTP write/read address specifies one of 128 word address in imx_ocotp_write() 354 * protect programming same OTP bit twice, before program OCOTP will in imx_ocotp_write() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/misc/ |
| H A D | rockchip-otp.c | 15 #include <rockchip-otp.h> 22 static int rockchip_otp_wait_status(struct rockchip_otp_platdata *otp, in rockchip_otp_wait_status() argument 27 while (!(readl(otp->base + OTPC_INT_STATUS) & flag)) { in rockchip_otp_wait_status() 37 writel(flag, otp->base + OTPC_INT_STATUS); in rockchip_otp_wait_status() 42 static int rockchip_otp_ecc_enable(struct rockchip_otp_platdata *otp, in rockchip_otp_ecc_enable() argument 48 otp->base + OTPC_SBPI_CTRL); in rockchip_otp_ecc_enable() 50 writel(SBPI_CMD_VALID_MASK | 0x1, otp->base + OTPC_SBPI_CMD_VALID_PRE); in rockchip_otp_ecc_enable() 52 otp->base + OTPC_SBPI_CMD0_OFFSET); in rockchip_otp_ecc_enable() 54 writel(SBPI_ECC_ENABLE, otp->base + OTPC_SBPI_CMD1_OFFSET); in rockchip_otp_ecc_enable() 56 writel(SBPI_ECC_DISABLE, otp->base + OTPC_SBPI_CMD1_OFFSET); in rockchip_otp_ecc_enable() [all …]
|
| H A D | rockchip-otp.su | |
| H A D | Makefile | 56 obj-$(CONFIG_ROCKCHIP_OTP) += rockchip-otp.o 59 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += rk3308-secure-otp.o 63 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += px30-secure-otp.o 67 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += rk3328-secure-otp.o 71 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += rk3568-secure-otp.o 75 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += rv1106-secure-otp.o 79 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += rv1126-secure-otp.o 83 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += rk3588-secure-otp.o 87 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += rk3528-secure-otp.o 91 obj-$(CONFIG_$(SPL_TPL_)ROCKCHIP_SECURE_OTP) += rk3562-secure-otp.o
|
| /OK3568_Linux_fs/kernel/drivers/mfd/ |
| H A D | ab3100-otp.c | 6 * Driver to read out OTP from the AB3100 Mixed-signal circuit 19 /* The OTP registers */ 33 * @locked: whether the OTP is locked, after locking, no more bits 36 * @freq: clocking frequency for the OTP, this frequency is either 62 static int __init ab3100_otp_read(struct ab3100_otp *otp) in ab3100_otp_read() argument 68 err = abx500_get_register_interruptible(otp->dev, 0, in ab3100_otp_read() 71 dev_err(otp->dev, "unable to read OTPP register\n"); in ab3100_otp_read() 75 err = abx500_get_register_page_interruptible(otp->dev, 0, in ab3100_otp_read() 78 dev_err(otp->dev, "unable to read OTP register page\n"); in ab3100_otp_read() 82 /* Cache OTP properties, they never change by nature */ in ab3100_otp_read() [all …]
|
| /OK3568_Linux_fs/buildroot/package/erlang/ |
| H A D | 0003-ei_portio.h-avoid-ODR-violation-of-ei_default_socket.patch | 10 LD otp/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call 11 …otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(eirecv.o):otp/lib/erl_interface/src/mis… 12 …otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send.o):otp/lib/erl_interface/src/misc/… 13 …otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send_reg.o):otp/lib/erl_interface/src/m… 14 …otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(epmd_port.o):otp/lib/erl_interface/src/… 15 …otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(ei_portio.o):otp/lib/erl_interface/src/… 17 make[3]: *** [x86_64-unknown-linux-gnu/Makefile:669: otp/lib/erl_interface/bin/x86_64-unknown-linux… 32 Patch taken from upstream: https://github.com/erlang/otp/commit/de870d7f9f36b3e68f280057851a4585a67…
|
| /OK3568_Linux_fs/u-boot/spl/drivers/misc/ |
| H A D | rockchip-otp.su | |
| H A D | .rk3568-secure-otp.o.cmd | |
| /OK3568_Linux_fs/kernel/drivers/net/wireless/intel/iwlwifi/ |
| H A D | iwl-eeprom-read.c | 143 IWL_ERR(trans, "OTP with bad signature: 0x%08x\n", gp); in iwl_eeprom_verify_signature() 150 "bad EEPROM/OTP signature, type=%s, EEPROM_GP=0x%08x\n", in iwl_eeprom_verify_signature() 151 nvm_is_otp ? "OTP" : "EEPROM", gp); in iwl_eeprom_verify_signature() 158 * OTP related functions 174 /* OTP only valid for CP/PP and after */ in iwl_nvm_is_otp() 208 * this is only applicable for HW with OTP shadow RAM in iwl_init_otp_access() 231 IWL_ERR(trans, "Time out reading OTP[%d]\n", addr); in iwl_read_otp_word() 239 /* set the uncorrectable OTP ECC bit for acknowledgment */ in iwl_read_otp_word() 242 IWL_ERR(trans, "Uncorrectable OTP ECC error, abort OTP read\n"); in iwl_read_otp_word() 247 /* set the correctable OTP ECC bit for acknowledgment */ in iwl_read_otp_word() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/media/i2c/ |
| H A D | otp_eeprom.c | 11 * 1. fix otp info null issue. 13 * 1. add buf read optimize otp read speed. 14 * 2. add mutex for otp read. 132 /* OTP base information*/ in otp_read_data() 185 /* OTP WB calibration data */ in otp_read_data() 212 /* OTP LSC calibration data */ in otp_read_data() 236 /* OTP sfr calibration data */ in otp_read_data() 277 eeprom_dev->otp = otp_ptr; in otp_read_data() 278 dev_info(dev, "get otp successful\n"); in otp_read_data() 280 eeprom_dev->otp = NULL; in otp_read_data() [all …]
|
| H A D | imx214_eeprom.c | 81 /* OTP base information*/ in imx214_otp_read_gz() 85 otp_ptr->flag = 0x80; /* valid INFO in OTP */ in imx214_otp_read_gz() 106 /* OTP WB calibration data */ in imx214_otp_read_gz() 110 otp_ptr->flag |= 0x40; /* valid AWB in OTP */ in imx214_otp_read_gz() 146 dev_err(dev, "otp awb info: check sum (%d,%d),ret = %d !\n", in imx214_otp_read_gz() 159 /* OTP LSC calibration data */ in imx214_otp_read_gz() 163 otp_ptr->flag |= 0x10; /* valid LSC in OTP */ in imx214_otp_read_gz() 171 "otp read lsc addr = 0x%04x, lenc[%d] = %d\n", in imx214_otp_read_gz() 178 "otp lsc info: check sum (%d,%d),ret = %d !\n", in imx214_otp_read_gz() 185 /* OTP VCM calibration data */ in imx214_otp_read_gz() [all …]
|
| H A D | imx258_eeprom.c | 81 /* OTP base information*/ in imx258_otp_read_gz() 85 otp_ptr->flag = 0x80; /* valid INFO in OTP */ in imx258_otp_read_gz() 106 /* OTP WB calibration data */ in imx258_otp_read_gz() 110 otp_ptr->flag |= 0x40; /* valid AWB in OTP */ in imx258_otp_read_gz() 146 dev_err(dev, "otp awb info: check sum (%d,%d),ret = %d !\n", in imx258_otp_read_gz() 159 /* OTP LSC calibration data */ in imx258_otp_read_gz() 163 otp_ptr->flag |= 0x10; /* valid LSC in OTP */ in imx258_otp_read_gz() 171 "otp read lsc addr = 0x%04x, lenc[%d] = %d\n", in imx258_otp_read_gz() 178 "otp lsc info: check sum (%d,%d),ret = %d !\n", in imx258_otp_read_gz() 185 /* OTP VCM calibration data */ in imx258_otp_read_gz() [all …]
|
| H A D | gc8034.c | 19 * 2. default support rk otp spec. 213 struct otp_info *otp; member 215 struct gc8034_otp_info *otp; member 227 /* If you use the otp function, keep the otp_drv -> 1427 static void gc8034_get_otp(struct otp_info *otp, in gc8034_get_otp() argument 1434 if (otp->awb_data.flag) { in gc8034_get_otp() 1436 inf->awb.r_value = otp->awb_data.r_ratio; in gc8034_get_otp() 1437 inf->awb.b_value = otp->awb_data.b_ratio; in gc8034_get_otp() 1438 inf->awb.gr_value = otp->awb_data.g_ratio; in gc8034_get_otp() 1441 inf->awb.golden_r_value = otp->awb_data.r_golden; in gc8034_get_otp() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/nvmem/ |
| H A D | rockchip-secure-otp.yaml | 4 $id: http://devicetree.org/schemas/nvmem/rockchip-secure-otp.yaml# 7 title: Rockchip secure otp device tree bindings 18 - rockchip,secure-otp 20 rockchip,otp-size: 22 size of non-protected oem zone in secure otp, In bytes. 27 - rockchip,otp-size 33 secure_otp: secure-otp { 34 compatible = "rockchip,secure-otp"; 35 rockchip,otp-size = <32>;
|
| H A D | rockchip-otp.txt | 1 Rockchip internal OTP (One Time Programmable) memory device tree bindings 5 - "rockchip,px30-otp" - for PX30 SoCs. 6 - "rockchip,rk3308-otp" - for RK3308 SoCs. 9 - clock-names: Should be "otp", "apb_pclk" and "phy". 19 otp: otp@ff290000 { 20 compatible = "rockchip,px30-otp"; 26 clock-names = "otp", "apb_pclk", "phy";
|
| H A D | lpc1850-otp.txt | 1 * NXP LPC18xx OTP memory 3 Internal OTP (One Time Programmable) memory for NXP LPC18xx/43xx devices. 6 - compatible: Should be "nxp,lpc1850-otp" 15 otp: otp@40045000 { 16 compatible = "nxp,lpc1850-otp";
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/mediatek/mt76/mt7615/ |
| H A D | eeprom.c | 54 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); in mt7615_efuse_init() 55 dev->mt76.otp.size = len; in mt7615_efuse_init() 56 if (!dev->mt76.otp.data) in mt7615_efuse_init() 59 buf = dev->mt76.otp.data; in mt7615_efuse_init() 273 u8 *otp = dev->mt76.otp.data; in mt7615_apply_cal_free_data() local 276 if (!otp) in mt7615_apply_cal_free_data() 280 if (!otp[ical[i]]) in mt7615_apply_cal_free_data() 284 eeprom[ical[i]] = otp[ical[i]]; in mt7615_apply_cal_free_data() 287 eeprom[ical_nocheck[i]] = otp[ical_nocheck[i]]; in mt7615_apply_cal_free_data() 296 u8 *otp = dev->mt76.otp.data; in mt7622_apply_cal_free_data() local [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/mediatek/mt76/mt7603/ |
| H A D | eeprom.c | 51 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); in mt7603_efuse_init() 52 dev->mt76.otp.size = len; in mt7603_efuse_init() 53 if (!dev->mt76.otp.data) in mt7603_efuse_init() 56 buf = dev->mt76.otp.data; in mt7603_efuse_init() 109 if (!np || !of_property_read_bool(np, "mediatek,eeprom-merge-otp")) in mt7603_apply_cal_free_data() 164 if (dev->mt76.otp.data) { in mt7603_eeprom_init() 166 mt7603_apply_cal_free_data(dev, dev->mt76.otp.data); in mt7603_eeprom_init() 168 memcpy(dev->mt76.eeprom.data, dev->mt76.otp.data, in mt7603_eeprom_init()
|
| /OK3568_Linux_fs/u-boot/board/st/stm32mp1/ |
| H A D | stm32mp1.c | 74 u32 otp; in checkboard() local 97 &otp, sizeof(otp)); in checkboard() 98 if (!ret && otp) { in checkboard() 100 otp >> 16, in checkboard() 101 (otp >> 12) & 0xF, in checkboard() 102 ((otp >> 8) & 0xF) - 1 + 'A', in checkboard() 103 otp & 0xF); in checkboard() 376 u32 otp = 0; in sysconf_init() local 403 * with the OTP product_below_2v5 (OTP 18, BIT 13) in sysconf_init() 418 ret = misc_read(dev, STM32_BSEC_SHADOW(18), &otp, 4); in sysconf_init() [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/mfd/wm831x/ |
| H A D | otp.h | 3 * include/linux/mfd/wm831x/otp.h -- OTP interface for WM831x 73 * R30728 (0x7808) - Factory OTP ID 84 * R30729 (0x7809) - Factory OTP 1 97 * R30730 (0x780A) - Factory OTP 2 104 * R30731 (0x780B) - Factory OTP 3 117 * R30732 (0x780C) - Factory OTP 4 128 * R30733 (0x780D) - Factory OTP 5 135 * R30736 (0x7810) - Customer OTP ID
|