Home
last modified time | relevance | path

Searched full:nvmem (Results 1 – 25 of 225) sorted by relevance

123456789

/Linux-v5.15/drivers/nvmem/
Dcore.c3 * nvmem framework core.
16 #include <linux/nvmem-consumer.h>
17 #include <linux/nvmem-provider.h>
56 struct nvmem_device *nvmem; member
71 static int __nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset, in __nvmem_reg_read() argument
74 if (nvmem->reg_read) in __nvmem_reg_read()
75 return nvmem->reg_read(nvmem->priv, offset, val, bytes); in __nvmem_reg_read()
80 static int __nvmem_reg_write(struct nvmem_device *nvmem, unsigned int offset, in __nvmem_reg_write() argument
85 if (nvmem->reg_write) { in __nvmem_reg_write()
86 gpiod_set_value_cansleep(nvmem->wp_gpio, 0); in __nvmem_reg_write()
[all …]
DMakefile3 # Makefile for nvmem drivers.
10 obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o
11 nvmem-bcm-ocotp-y := bcm-ocotp.o
12 obj-$(CONFIG_NVMEM_IMX_IIM) += nvmem-imx-iim.o
13 nvmem-imx-iim-y := imx-iim.o
14 obj-$(CONFIG_NVMEM_IMX_OCOTP) += nvmem-imx-ocotp.o
15 nvmem-imx-ocotp-y := imx-ocotp.o
16 obj-$(CONFIG_NVMEM_IMX_OCOTP_SCU) += nvmem-imx-ocotp-scu.o
17 nvmem-imx-ocotp-scu-y := imx-ocotp-scu.o
24 obj-$(CONFIG_NVMEM_MXS_OCOTP) += nvmem-mxs-ocotp.o
[all …]
DKconfig2 menuconfig NVMEM config
3 bool "NVMEM Support"
5 Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
7 This framework is designed to provide a generic interface to NVMEM
12 if NVMEM
15 bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
19 Say Y here to add a sysfs interface for NVMEM.
22 read/write directly into nvmem.
33 will be called nvmem-imx-iim.
45 will be called nvmem-imx-ocotp.
[all …]
Dzynqmp_nvmem.c7 #include <linux/nvmem-provider.h>
16 struct nvmem_device *nvmem; member
37 .name = "zynqmp-nvmem",
45 { .compatible = "xlnx,zynqmp-nvmem-fw", },
64 priv->nvmem = devm_nvmem_register(dev, &econfig); in zynqmp_nvmem_probe()
66 return PTR_ERR_OR_ZERO(priv->nvmem); in zynqmp_nvmem_probe()
72 .name = "zynqmp-nvmem",
80 MODULE_DESCRIPTION("ZynqMP NVMEM driver");
/Linux-v5.15/Documentation/driver-api/
Dnvmem.rst4 NVMEM Subsystem
9 This document explains the NVMEM Framework along with the APIs provided,
14 *NVMEM* is the abbreviation for Non Volatile Memory layer. It is used to
18 Before this framework existed, NVMEM drivers like eeprom were stored in
33 NVMEM Providers
36 NVMEM provider refers to an entity that implements methods to initialize, read
39 2. Registering/Unregistering the NVMEM provider
42 A NVMEM provider can register with NVMEM core by supplying relevant
43 nvmem configuration to nvmem_register(), on success core would return a valid
46 nvmem_unregister(nvmem) is used to unregister a previously registered provider.
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/nvmem/
Dnvmem-consumer.yaml4 $id: http://devicetree.org/schemas/nvmem/nvmem-consumer.yaml#
7 title: NVMEM (Non Volatile Memory) Consumer Device Tree Bindings
15 nvmem:
18 List of phandle to the nvmem providers.
20 nvmem-cells:
23 List of phandle to the nvmem data cells.
25 nvmem-names:
27 Names for the each nvmem provider.
29 nvmem-cell-names:
31 Names for each nvmem-cells specified.
[all …]
Dxlnx,zynqmp-nvmem.txt2 = Zynq UltraScale+ MPSoC nvmem firmware driver binding =
8 - compatible: should be "xlnx,zynqmp-nvmem-fw"
12 bindings/nvmem/nvmem.txt
23 compatible = "xlnx,zynqmp-nvmem-fw";
36 Are device nodes which consume nvmem data cells.
42 nvmem-cells = <&soc_revision>;
43 nvmem-cell-names = "soc_revision";
Dsprd-efuse.txt12 bindings/nvmem/nvmem.txt
30 Are device nodes which consume nvmem data cells.
37 nvmem-cells = <&thermal_calib>;
38 nvmem-cell-names = "calibration";
/Linux-v5.15/Documentation/devicetree/bindings/thermal/
Dsprd-thermal.yaml28 nvmem-cells:
31 Reference to nvmem nodes for the calibration data.
33 nvmem-cell-names:
58 nvmem-cells:
61 Reference to an nvmem node for the calibration data.
63 nvmem-cell-names:
68 - nvmem-cells
69 - nvmem-cell-names
78 - nvmem-cells
79 - nvmem-cell-names
[all …]
Dallwinner,sun8i-a83t-ths.yaml45 nvmem-cells:
49 nvmem-cell-names:
131 nvmem-cells = <&ths_calibration>;
132 nvmem-cell-names = "calibration";
144 nvmem-cells = <&ths_calibration>;
145 nvmem-cell-names = "calibration";
157 nvmem-cells = <&ths_calibration>;
158 nvmem-cell-names = "calibration";
Dqcom-tsens.yaml75 nvmem-cells:
79 Reference to an nvmem node for the calibration data
81 nvmem-cell-names:
163 nvmem-cells = <&tsens_calib>, <&tsens_calib_backup>;
164 nvmem-cell-names = "calib", "calib_backup";
181 nvmem-cells = <&tsens_caldata>, <&tsens_calsel>;
182 nvmem-cell-names = "calib", "calib_sel";
199 nvmem-cells = <&tsens_caldata>;
200 nvmem-cell-names = "calib";
/Linux-v5.15/Documentation/devicetree/bindings/mtd/partitions/
Dnvmem-cells.yaml4 $id: http://devicetree.org/schemas/mtd/partitions/nvmem-cells.yaml#
7 title: Nvmem cells
10 Any partition containing the compatible "nvmem-cells" will register as a
11 nvmem provider.
12 Each direct subnodes represents a nvmem cell following the nvmem binding.
13 Nvmem binding to declare nvmem-cells can be found in:
14 Documentation/devicetree/bindings/nvmem/nvmem.yaml
20 - $ref: /schemas/nvmem/nvmem.yaml#
24 const: nvmem-cells
42 compatible = "nvmem-cells";
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/power/reset/
Dnvmem-reboot-mode.txt1 NVMEM reboot mode driver
4 and stores it in a NVMEM cell named "reboot-mode". Then the bootloader
9 - compatible: should be "nvmem-reboot-mode".
10 - nvmem-cells: A phandle to the reboot mode provided by a nvmem device.
11 - nvmem-cell-names: Should be "reboot-mode".
18 compatible = "nvmem-reboot-mode";
19 nvmem-cells = <&reboot_mode>;
20 nvmem-cell-names = "reboot-mode";
/Linux-v5.15/drivers/thunderbolt/
Dnvm.c46 * tb_nvm_add_active() - Adds active NVMem device to NVM
50 * NVMem device)
52 * Registers new active NVmem device for @nvm. The @reg_read is called
53 * directly from NVMem so it must handle possible concurrent access if
60 struct nvmem_device *nvmem; in tb_nvm_add_active() local
75 nvmem = nvmem_register(&config); in tb_nvm_add_active()
76 if (IS_ERR(nvmem)) in tb_nvm_add_active()
77 return PTR_ERR(nvmem); in tb_nvm_add_active()
79 nvm->active = nvmem; in tb_nvm_add_active()
110 * tb_nvm_add_non_active() - Adds non-active NVMem device to NVM
[all …]
/Linux-v5.15/include/linux/
Dnvmem-consumer.h3 * nvmem framework consumer.
34 * @cell_name: Name of the nvmem cell as defined in the name field of
73 /* direct nvmem device read/write interface */
77 void nvmem_device_put(struct nvmem_device *nvmem);
78 void devm_nvmem_device_put(struct device *dev, struct nvmem_device *nvmem);
79 int nvmem_device_read(struct nvmem_device *nvmem, unsigned int offset,
81 int nvmem_device_write(struct nvmem_device *nvmem, unsigned int offset,
83 ssize_t nvmem_device_cell_read(struct nvmem_device *nvmem,
85 int nvmem_device_cell_write(struct nvmem_device *nvmem,
88 const char *nvmem_dev_name(struct nvmem_device *nvmem);
[all …]
Dnvmem-provider.h3 * nvmem framework provider.
35 * struct nvmem_keepout - NVMEM register keepout range.
48 * struct nvmem_config - NVMEM device configuration
54 * @cells: Optional array of pre-defined NVMEM cells.
58 * @type: Type of the nvmem storage
71 * Note: A default "nvmem<id>" name will be assigned to the device if
105 * struct nvmem_cell_table - NVMEM cell definitions for given provider
113 * that don't can't access the nvmem provided structure but wish to register
126 void nvmem_unregister(struct nvmem_device *nvmem);
131 int devm_nvmem_unregister(struct device *dev, struct nvmem_device *nvmem);
[all …]
/Linux-v5.15/drivers/rtc/
Dnvmem.c3 * RTC subsystem, nvmem interface
10 #include <linux/nvmem-consumer.h>
17 struct nvmem_device *nvmem; in devm_rtc_nvmem_register() local
24 nvmem = devm_nvmem_register(dev, nvmem_config); in devm_rtc_nvmem_register()
25 if (IS_ERR(nvmem)) in devm_rtc_nvmem_register()
26 dev_err(dev, "failed to register nvmem device for RTC\n"); in devm_rtc_nvmem_register()
28 return PTR_ERR_OR_ZERO(nvmem); in devm_rtc_nvmem_register()
/Linux-v5.15/drivers/soc/tegra/fuse/
Dfuse-tegra.c11 #include <linux/nvmem-consumer.h>
12 #include <linux/nvmem-provider.h>
187 struct nvmem_config nvmem; in tegra_fuse_probe() local
222 memset(&nvmem, 0, sizeof(nvmem)); in tegra_fuse_probe()
223 nvmem.dev = &pdev->dev; in tegra_fuse_probe()
224 nvmem.name = "fuse"; in tegra_fuse_probe()
225 nvmem.id = -1; in tegra_fuse_probe()
226 nvmem.owner = THIS_MODULE; in tegra_fuse_probe()
227 nvmem.cells = tegra_fuse_cells; in tegra_fuse_probe()
228 nvmem.ncells = ARRAY_SIZE(tegra_fuse_cells); in tegra_fuse_probe()
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/net/
Dnixge.txt15 - nvmem-cells: Phandle of nvmem cell containing the MAC address
16 - nvmem-cell-names: Should be "address"
31 nvmem-cells = <&eth1_addr>;
32 nvmem-cell-names = "address";
54 nvmem-cells = <&eth1_addr>;
55 nvmem-cell-names = "address";
70 nvmem-cells = <&eth1_addr>;
71 nvmem-cell-names = "address";
/Linux-v5.15/Documentation/ABI/stable/
Dsysfs-bus-nvmem1 What: /sys/bus/nvmem/devices/.../nvmem
6 This file allows user to read/write the raw NVMEM contents.
7 Permissions for write to this file depends on the nvmem
14 hexdump /sys/bus/nvmem/devices/qfprom0/nvmem
/Linux-v5.15/Documentation/devicetree/bindings/soc/imx/
Dimx8m-soc.yaml51 nvmem-cells:
53 description: Phandle to the SOC Unique ID provided by a nvmem node
55 nvmem-cell-names:
60 - nvmem-cells
61 - nvmem-cell-names
81 nvmem-cells = <&imx8mm_uid>;
82 nvmem-cell-names = "soc_unique_id";
/Linux-v5.15/Documentation/devicetree/bindings/iio/adc/
Dsprd,sc2720-adc.yaml36 nvmem-cells:
39 nvmem-cell-names:
50 - nvmem-cells
51 - nvmem-cell-names
68 nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
69 nvmem-cell-names = "big_scale_calib", "small_scale_calib";
/Linux-v5.15/Documentation/devicetree/bindings/opp/
Dallwinner,sun50i-h6-operating-points.yaml18 sun50i-cpufreq-nvmem driver reads the efuse value from the SoC to
28 nvmem-cells:
30 A phandle pointing to a nvmem-cells node representing the efuse
33 the for nvmem-cells bindings
34 Documentation/devicetree/bindings/nvmem/nvmem.txt and also
41 - nvmem-cells
68 nvmem-cells = <&speedbin_efuse>;
/Linux-v5.15/Documentation/devicetree/bindings/clock/
Dqcom,gcc-apq8064.yaml37 nvmem-cells:
47 nvmem-cell-names:
66 - nvmem-cells
67 - nvmem-cell-names
77 nvmem-cells = <&tsens_calib>, <&tsens_backup>;
78 nvmem-cell-names = "calib", "calib_backup";
/Linux-v5.15/Documentation/devicetree/bindings/watchdog/
Dzii,rave-sp-wdt.txt18 - wdt-timeout: Two byte nvmem cell specified as per
19 Documentation/devicetree/bindings/nvmem/nvmem.txt
35 nvmem-cells = <&wdt_timeout>;
36 nvmem-cell-names = "wdt-timeout";

123456789