Home
last modified time | relevance | path

Searched full:otp (Results 1 – 25 of 546) sorted by relevance

12345678910>>...22

/OK3568_Linux_fs/kernel/drivers/nvmem/
H A Drockchip-otp.c3 * 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 Dmxs-ocotp.c3 * 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 Drockchip-secure-otp.c3 * 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 Dlpc18xx_otp.c3 * 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 DKconfig36 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 Dimx-ocotp.c27 * 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 Drockchip-otp.c15 #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 Drockchip-otp.su
H A DMakefile56 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 Dab3100-otp.c6 * 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 D0003-ei_portio.h-avoid-ODR-violation-of-ei_default_socket.patch10 LD otp/lib/erl_interface/bin/x86_64-unknown-linux-gnu/erl_call
11otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(eirecv.o):otp/lib/erl_interface/src/mis…
12otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send.o):otp/lib/erl_interface/src/misc/…
13otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(send_reg.o):otp/lib/erl_interface/src/m…
14otp/lib/erl_interface/obj/x86_64-unknown-linux-gnu/libei.a(epmd_port.o):otp/lib/erl_interface/src/…
15otp/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 Drockchip-otp.su
H A D.rk3568-secure-otp.o.cmd
/OK3568_Linux_fs/kernel/drivers/net/wireless/intel/iwlwifi/
H A Diwl-eeprom-read.c143 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 Dotp_eeprom.c11 * 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 Dimx214_eeprom.c81 /* 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 Dimx258_eeprom.c81 /* 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 Dgc8034.c19 * 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 Drockchip-secure-otp.yaml4 $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 Drockchip-otp.txt1 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 Dlpc1850-otp.txt1 * 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 Deeprom.c54 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 Deeprom.c51 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 Dstm32mp1.c74 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 Dotp.h3 * 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

12345678910>>...22