Home
last modified time | relevance | path

Searched full:ocotp (Results 1 – 25 of 56) sorted by relevance

123

/linux-6.12.1/Documentation/devicetree/bindings/nvmem/
Dimx-ocotp.yaml4 $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml#
7 title: Freescale i.MX On-Chip OTP Controller (OCOTP)
28 - fsl,imx6q-ocotp
29 - fsl,imx6sl-ocotp
30 - fsl,imx6sx-ocotp
31 - fsl,imx6ul-ocotp
32 - fsl,imx6ull-ocotp
33 - fsl,imx7d-ocotp
34 - fsl,imx6sll-ocotp
35 - fsl,imx7ulp-ocotp
[all …]
Dmxs-ocotp.yaml4 $id: http://devicetree.org/schemas/nvmem/mxs-ocotp.yaml#
22 - fsl,imx23-ocotp
23 - fsl,imx28-ocotp
24 - const: fsl,ocotp
41 ocotp: efuse@8002c000 {
42 compatible = "fsl,imx28-ocotp", "fsl,ocotp";
Dfsl,scu-ocotp.yaml4 $id: http://devicetree.org/schemas/nvmem/fsl,scu-ocotp.yaml#
7 title: i.MX SCU Client Device Node - OCOTP Based on SCU Message Protocol
21 - fsl,imx8qm-scu-ocotp
22 - fsl,imx8qxp-scu-ocotp
33 Byte offset within OCOTP where the MAC address is stored
48 ocotp {
49 compatible = "fsl,imx8qxp-scu-ocotp";
Dbrcm,ocotp.txt4 - compatible: "brcm,ocotp" for the first generation Broadcom OTPC which is used
5 in Cygnus and supports 32 bit read/write. Use "brcm,ocotp-v2" for the second
9 - brcm,ocotp-size: Amount of memory available, in 32 bit words
14 compatible = "brcm,ocotp";
16 brcm,ocotp-size = <2048>;
Dvf610-ocotp.txt5 - "fsl,vf610-ocotp", "syscon" for VF5xx/VF6xx
9 clocks : ipg clock we associate with the OCOTP peripheral
13 ocotp: ocotp@400a5000 {
14 compatible = "fsl,vf610-ocotp", "syscon";
Dsunplus,sp7021-ocotp.yaml5 $id: http://devicetree.org/schemas/nvmem/sunplus,sp7021-ocotp.yaml#
19 const: sunplus,sp7021-ocotp
59 compatible = "sunplus,sp7021-ocotp";
/linux-6.12.1/drivers/soc/imx/
Dsoc-imx.c32 struct regmap *ocotp = NULL; in imx_soc_device_init() local
86 ocotp_compat = "fsl,imx6sl-ocotp"; in imx_soc_device_init()
90 ocotp_compat = "fsl,imx6q-ocotp"; in imx_soc_device_init()
94 ocotp_compat = "fsl,imx6sx-ocotp"; in imx_soc_device_init()
98 ocotp_compat = "fsl,imx6q-ocotp"; in imx_soc_device_init()
102 ocotp_compat = "fsl,imx6ul-ocotp"; in imx_soc_device_init()
106 ocotp_compat = "fsl,imx6ull-ocotp"; in imx_soc_device_init()
110 ocotp_compat = "fsl,imx6ull-ocotp"; in imx_soc_device_init()
114 ocotp_compat = "fsl,imx6sll-ocotp"; in imx_soc_device_init()
118 ocotp_compat = "fsl,imx7d-ocotp"; in imx_soc_device_init()
[all …]
Dsoc-imx8m.c62 np = of_find_compatible_node(NULL, NULL, "fsl,imx8mq-ocotp"); in imx8mq_soc_revision()
107 np = of_find_compatible_node(NULL, NULL, "fsl,imx8mm-ocotp"); in imx8mm_soc_uid()
/linux-6.12.1/drivers/nvmem/
DMakefile15 obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o
16 nvmem-bcm-ocotp-y := bcm-ocotp.o
21 obj-$(CONFIG_NVMEM_IMX_OCOTP) += nvmem-imx-ocotp.o
22 nvmem-imx-ocotp-y := imx-ocotp.o
23 obj-$(CONFIG_NVMEM_IMX_OCOTP_ELE) += nvmem-imx-ocotp-ele.o
24 nvmem-imx-ocotp-ele-y := imx-ocotp-ele.o
25 obj-$(CONFIG_NVMEM_IMX_OCOTP_SCU) += nvmem-imx-ocotp-scu.o
26 nvmem-imx-ocotp-scu-y := imx-ocotp-scu.o
45 obj-$(CONFIG_NVMEM_MXS_OCOTP) += nvmem-mxs-ocotp.o
46 nvmem-mxs-ocotp-y := mxs-ocotp.o
[all …]
Dvf610-ocotp.c7 * Based on the barebox ocotp driver,
22 /* OCOTP Register Offsets */
31 /* OCOTP Register bits and masks */
149 struct vf610_ocotp *ocotp = context; in vf610_ocotp_read() local
150 void __iomem *base = ocotp->base; in vf610_ocotp_read()
158 writel(ocotp->timing, base + OCOTP_TIMING); in vf610_ocotp_read()
176 dev_dbg(ocotp->dev, "Error reading from fuse address %x\n", in vf610_ocotp_read()
200 .name = "ocotp",
207 { .compatible = "fsl,vf610-ocotp", },
247 .name = "vf610-ocotp",
[all …]
Dimx-ocotp.c3 * i.MX6 OCOTP fusebox driver
9 * Based on the barebox ocotp driver,
184 dev_err(priv->dev, "failed to prepare/enable ocotp clk\n"); in imx_ocotp_read()
331 dev_err(priv->dev, "failed to prepare/enable ocotp clk\n"); in imx_ocotp_write()
385 * protect programming same OTP bit twice, before program OCOTP will in imx_ocotp_write()
478 .name = "imx-ocotp",
570 { .compatible = "fsl,imx6q-ocotp", .data = &imx6q_params },
571 { .compatible = "fsl,imx6sl-ocotp", .data = &imx6sl_params },
572 { .compatible = "fsl,imx6sx-ocotp", .data = &imx6sx_params },
573 { .compatible = "fsl,imx6ul-ocotp", .data = &imx6ul_params },
[all …]
DKconfig53 will be called nvmem-bcm-ocotp.
80 This is a driver for the On-Chip OTP Controller (OCOTP) available on
85 will be called nvmem-imx-ocotp.
93 This is a driver for the On-Chip OTP Controller (OCOTP)
101 This is a driver for the SCU On-Chip OTP Controller (OCOTP)
205 will be called nvmem-mxs-ocotp.
346 This is a driver for the On-chip OTP controller (OCOTP) available
351 will be called nvmem-sunplus-ocotp.
388 tristate "VF610 SoC OCOTP support"
392 This is a driver for the 'OCOTP' peripheral available on Vybrid
[all …]
Dmxs-ocotp.c22 /* OCOTP registers and bits */
76 /* open OCOTP banks for read */ in mxs_ocotp_read()
109 .name = "mxs-ocotp",
128 { .compatible = "fsl,imx23-ocotp", .data = &imx23_data },
129 { .compatible = "fsl,imx28-ocotp", .data = &imx28_data },
187 .name = "mxs-ocotp",
194 MODULE_DESCRIPTION("driver for OCOTP in i.MX23/i.MX28");
Dimx-ocotp-ele.c3 * i.MX9 OCOTP fusebox driver
129 priv->config.name = "ELE-OCOTP"; in imx_ele_ocotp_probe()
184 { .compatible = "fsl,imx93-ocotp", .data = &imx93_ocotp_data, },
185 { .compatible = "fsl,imx95-ocotp", .data = &imx95_ocotp_data, },
199 MODULE_DESCRIPTION("i.MX OCOTP/ELE driver");
Dimx-ocotp-scu.c3 * i.MX8 OCOTP fusebox driver
222 .name = "imx-scu-ocotp",
233 { .compatible = "fsl,imx8qxp-scu-ocotp", (void *)&imx8qxp_data },
234 { .compatible = "fsl,imx8qm-scu-ocotp", (void *)&imx8qm_data },
274 MODULE_DESCRIPTION("i.MX8 SCU OCOTP fuse box driver");
Dsunplus-ocotp.c4 * The OCOTP driver for Sunplus SP7021
147 .name = "sp-ocotp",
212 { .compatible = "sunplus,sp7021-ocotp", .data = &sp_otp_v0 },
220 .name = "sunplus,sp7021-ocotp",
Dbcm-ocotp.c221 .name = "bcm-ocotp",
230 { .compatible = "brcm,ocotp", .data = &otp_map },
231 { .compatible = "brcm,ocotp-v2", .data = &otp_map_v2 },
273 err = device_property_read_u32(dev, "brcm,ocotp-size", &num_words); in bcm_otpc_probe()
/linux-6.12.1/drivers/cpufreq/
Dimx6q-cpufreq.c238 struct regmap *ocotp; in imx6q_opp_check_speed_grading() local
240 ocotp = syscon_regmap_lookup_by_compatible("fsl,imx6q-ocotp"); in imx6q_opp_check_speed_grading()
241 if (IS_ERR(ocotp)) in imx6q_opp_check_speed_grading()
252 regmap_read(ocotp, OCOTP_CFG3, &val); in imx6q_opp_check_speed_grading()
287 struct regmap *ocotp; in imx6ul_opp_check_speed_grading() local
289 ocotp = syscon_regmap_lookup_by_compatible("fsl,imx6ul-ocotp"); in imx6ul_opp_check_speed_grading()
290 if (IS_ERR(ocotp)) in imx6ul_opp_check_speed_grading()
291 ocotp = syscon_regmap_lookup_by_compatible("fsl,imx6ull-ocotp"); in imx6ul_opp_check_speed_grading()
293 if (IS_ERR(ocotp)) in imx6ul_opp_check_speed_grading()
296 regmap_read(ocotp, OCOTP_CFG3, &val); in imx6ul_opp_check_speed_grading()
[all …]
/linux-6.12.1/arch/arm/mach-mxs/
Dmach-mxs.c97 np = of_find_compatible_node(NULL, NULL, "fsl,ocotp"); in mxs_get_ocotp()
104 * clk_enable(hbus_clk) for ocotp can be skipped in mxs_get_ocotp()
119 /* open OCOTP banks for read */ in mxs_get_ocotp()
148 pr_err("%s: timeout in reading OCOTP\n", __func__); in mxs_get_ocotp()
164 const u32 *ocotp = mxs_get_ocotp(); in update_fec_mac_prop() local
192 * OCOTP only stores the last 4 octets for each mac address, in update_fec_mac_prop()
223 val = ocotp[i]; in update_fec_mac_prop()
387 const u32 *ocotp = mxs_get_ocotp(); in mxs_machine_init() local
406 soc_uid = system_serial_low = ocotp[HW_OCOTP_OPS3]; in mxs_machine_init()
408 soc_uid = system_serial_high = ocotp[HW_OCOTP_OPS2]; in mxs_machine_init()
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/thermal/
Dimx-thermal.yaml39 - description: Phandle to the calibration data provided by ocotp
40 - description: Phandle to the temperature grade provided by ocotp
55 TEMPMON calibration data, e.g. OCOTP on imx6q. The details about
85 compatible = "fsl,imx6sx-ocotp", "syscon";
/linux-6.12.1/Documentation/devicetree/bindings/firmware/
Dfsl,scu.yaml38 ocotp:
40 OCOTP controller node provided by the SCU
41 $ref: /schemas/nvmem/fsl,scu-ocotp.yaml
181 ocotp {
182 compatible = "fsl,imx8qxp-scu-ocotp";
/linux-6.12.1/drivers/thermal/
Dimx8mm_thermal.c52 /* TMU OCOTP calibration data bitfields */
182 return dev_err_probe(dev, ret, "Failed to read OCOTP nvmem cell\n"); in imx8mm_tmu_probe_set_calib_v1()
222 "OCOTP nvmem cell length is %zu, must be 16.\n", len); in imx8mm_tmu_probe_set_calib_v2()
277 * Lack of calibration data OCOTP reference is not considered in imx8mm_tmu_probe_set_calib()
284 … "No OCOTP nvmem reference found, SoC-specific calibration not loaded. Please update your DT.\n"); in imx8mm_tmu_probe_set_calib()
/linux-6.12.1/arch/arm/boot/dts/nxp/imx/
Dimx6ull.dtsi34 &ocotp {
35 compatible = "fsl,imx6ull-ocotp", "syscon";
/linux-6.12.1/arch/arm64/boot/dts/freescale/
Dimx8dxl.dtsi146 ocotp: ocotp { label
147 compatible = "fsl,imx8qxp-scu-ocotp";
Dimx8qxp.dtsi228 ocotp: ocotp { label
229 compatible = "fsl,imx8qxp-scu-ocotp";

123