/openbmc/linux/Documentation/devicetree/bindings/nvmem/ |
H A D | imx-ocotp.yaml | 4 $id: http://devicetree.org/schemas/nvmem/imx-ocotp.yaml# 7 title: Freescale i.MX On-Chip OTP Controller (OCOTP) 25 - fsl,imx6q-ocotp 26 - fsl,imx6sl-ocotp 27 - fsl,imx6sx-ocotp 28 - fsl,imx6ul-ocotp 29 - fsl,imx6ull-ocotp 30 - fsl,imx7d-ocotp 31 - fsl,imx6sll-ocotp 32 - fsl,imx7ulp-ocotp [all …]
|
H A D | mxs-ocotp.yaml | 4 $id: http://devicetree.org/schemas/nvmem/mxs-ocotp.yaml# 19 - fsl,imx23-ocotp 20 - fsl,imx28-ocotp 21 - const: fsl,ocotp 38 ocotp: efuse@8002c000 { 39 compatible = "fsl,imx28-ocotp", "fsl,ocotp";
|
H A D | fsl,scu-ocotp.yaml | 4 $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";
|
H A D | brcm,ocotp.txt | 4 - 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>;
|
H A D | vf610-ocotp.txt | 5 - "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";
|
H A D | sunplus,sp7021-ocotp.yaml | 5 $id: http://devicetree.org/schemas/nvmem/sunplus,sp7021-ocotp.yaml# 18 const: sunplus,sp7021-ocotp 58 compatible = "sunplus,sp7021-ocotp";
|
/openbmc/linux/drivers/soc/imx/ |
H A D | soc-imx.c | 32 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 …]
|
/openbmc/linux/drivers/nvmem/ |
H A D | Makefile | 13 obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o 14 nvmem-bcm-ocotp-y := bcm-ocotp.o 19 obj-$(CONFIG_NVMEM_IMX_OCOTP) += nvmem-imx-ocotp.o 20 nvmem-imx-ocotp-y := imx-ocotp.o 21 obj-$(CONFIG_NVMEM_IMX_OCOTP_ELE) += nvmem-imx-ocotp-ele.o 22 nvmem-imx-ocotp-ele-y := imx-ocotp-ele.o 23 obj-$(CONFIG_NVMEM_IMX_OCOTP_SCU) += nvmem-imx-ocotp-scu.o 24 nvmem-imx-ocotp-scu-y := imx-ocotp-scu.o 43 obj-$(CONFIG_NVMEM_MXS_OCOTP) += nvmem-mxs-ocotp.o 44 nvmem-mxs-ocotp-y := mxs-ocotp.o [all …]
|
H A D | vf610-ocotp.c | 7 * 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 …]
|
H A D | imx-ocotp.c | 3 * 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 …]
|
H A D | mxs-ocotp.c | 21 /* OCOTP registers and bits */ 75 /* open OCOTP banks for read */ in mxs_ocotp_read() 108 .name = "mxs-ocotp", 127 { .compatible = "fsl,imx23-ocotp", .data = &imx23_data }, 128 { .compatible = "fsl,imx28-ocotp", .data = &imx28_data }, 189 .name = "mxs-ocotp", 196 MODULE_DESCRIPTION("driver for OCOTP in i.MX23/i.MX28");
|
H A D | Kconfig | 52 will be called nvmem-bcm-ocotp. 79 This is a driver for the On-Chip OTP Controller (OCOTP) available on 84 will be called nvmem-imx-ocotp. 92 This is a driver for the On-Chip OTP Controller (OCOTP) 100 This is a driver for the SCU On-Chip OTP Controller (OCOTP) 204 will be called nvmem-mxs-ocotp. 345 This is a driver for the On-chip OTP controller (OCOTP) available 350 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 …]
|
H A D | imx-ocotp-scu.c | 3 * 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");
|
H A D | imx-ocotp-ele.c | 3 * i.MX9 OCOTP fusebox driver 125 priv->config.name = "ELE-OCOTP"; in imx_ele_ocotp_probe() 159 { .compatible = "fsl,imx93-ocotp", .data = &imx93_ocotp_data, }, 173 MODULE_DESCRIPTION("i.MX OCOTP/ELE driver");
|
H A D | sunplus-ocotp.c | 4 * The OCOTP driver for Sunplus SP7021 147 .name = "sp-ocotp", 215 { .compatible = "sunplus,sp7021-ocotp", .data = &sp_otp_v0 }, 223 .name = "sunplus,sp7021-ocotp",
|
H A D | bcm-ocotp.c | 221 .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()
|
/openbmc/linux/arch/arm/mach-mxs/ |
H A D | mach-mxs.c | 97 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() 385 const u32 *ocotp = mxs_get_ocotp(); in mxs_machine_init() local 404 soc_uid = system_serial_low = ocotp[HW_OCOTP_OPS3]; in mxs_machine_init() 406 soc_uid = system_serial_high = ocotp[HW_OCOTP_OPS2]; in mxs_machine_init() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/thermal/ |
H A D | imx-thermal.yaml | 40 - description: Phandle to the calibration data provided by ocotp 41 - description: Phandle to the temperature grade provided by ocotp 56 TEMPMON calibration data, e.g. OCOTP on imx6q. The details about 80 compatible = "fsl,imx6sx-ocotp", "syscon";
|
/openbmc/linux/Documentation/devicetree/bindings/firmware/ |
H A D | fsl,scu.yaml | 38 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";
|
/openbmc/u-boot/arch/arm/mach-imx/ |
H A D | cpu.c | 354 struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR; in get_cpu_speed_grade_hz() local 355 struct fuse_bank *bank = &ocotp->bank[1]; in get_cpu_speed_grade_hz() 386 struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR; in get_cpu_temp_grade() local 387 struct fuse_bank *bank = &ocotp->bank[1]; in get_cpu_temp_grade() 466 struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR; in nxp_board_rev() local 467 struct fuse_bank *bank = &ocotp->bank[4]; in nxp_board_rev()
|
/openbmc/u-boot/drivers/misc/ |
H A D | mxs_ocotp.c | 3 * Freescale i.MX28 OCOTP Driver 7 * Note: The i.MX23/i.MX28 OCOTP block is a predecessor to the OCOTP block 89 * the OCOTP fuses (according to datasheet). in mxs_ocotp_scale_vddio()
|
/openbmc/linux/drivers/thermal/ |
H A D | imx8mm_thermal.c | 52 /* 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()
|
/openbmc/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6ull.dtsi | 34 &ocotp { 35 compatible = "fsl,imx6ull-ocotp", "syscon";
|
/openbmc/linux/drivers/cpufreq/ |
H A D | imx6q-cpufreq.c | 238 np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-ocotp"); in imx6q_opp_check_speed_grading() 245 dev_err(dev, "failed to map ocotp\n"); in imx6q_opp_check_speed_grading() 296 np = of_find_compatible_node(NULL, NULL, "fsl,imx6ul-ocotp"); in imx6ul_opp_check_speed_grading() 299 "fsl,imx6ull-ocotp"); in imx6ul_opp_check_speed_grading() 306 dev_err(dev, "failed to map ocotp\n"); in imx6ul_opp_check_speed_grading() 401 dev_err_probe(cpu_dev, ret, "failed to read ocotp\n"); in imx6q_cpufreq_probe()
|
/openbmc/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx8dxl.dtsi | 146 ocotp: ocotp { label 147 compatible = "fsl,imx8qxp-scu-ocotp";
|