Home
last modified time | relevance | path

Searched refs:nvmem (Results 1 – 25 of 110) sorted by relevance

12345

/Linux-v5.4/drivers/nvmem/
Dcore.c29 struct nvmem_device *nvmem; member
45 static int nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset, in nvmem_reg_read() argument
48 if (nvmem->reg_read) in nvmem_reg_read()
49 return nvmem->reg_read(nvmem->priv, offset, val, bytes); in nvmem_reg_read()
54 static int nvmem_reg_write(struct nvmem_device *nvmem, unsigned int offset, in nvmem_reg_write() argument
57 if (nvmem->reg_write) in nvmem_reg_write()
58 return nvmem->reg_write(nvmem->priv, offset, val, bytes); in nvmem_reg_write()
65 struct nvmem_device *nvmem = to_nvmem_device(dev); in nvmem_release() local
67 ida_simple_remove(&nvmem_ida, nvmem->id); in nvmem_release()
68 kfree(nvmem); in nvmem_release()
[all …]
Dnvmem-sysfs.c21 struct nvmem_device *nvmem = to_nvmem_device(dev); in type_show() local
23 return sprintf(buf, "%s\n", nvmem_type_str[nvmem->type]); in type_show()
38 struct nvmem_device *nvmem; in bin_attr_nvmem_read() local
45 nvmem = to_nvmem_device(dev); in bin_attr_nvmem_read()
48 if (pos >= nvmem->size) in bin_attr_nvmem_read()
51 if (count < nvmem->word_size) in bin_attr_nvmem_read()
54 if (pos + count > nvmem->size) in bin_attr_nvmem_read()
55 count = nvmem->size - pos; in bin_attr_nvmem_read()
57 count = round_down(count, nvmem->word_size); in bin_attr_nvmem_read()
59 rc = nvmem->reg_read(nvmem->priv, pos, buf, count); in bin_attr_nvmem_read()
[all …]
DMakefile10 nvmem_sysfs-y := nvmem-sysfs.o
13 obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o
14 nvmem-bcm-ocotp-y := bcm-ocotp.o
15 obj-$(CONFIG_NVMEM_IMX_IIM) += nvmem-imx-iim.o
16 nvmem-imx-iim-y := imx-iim.o
17 obj-$(CONFIG_NVMEM_IMX_OCOTP) += nvmem-imx-ocotp.o
18 nvmem-imx-ocotp-y := imx-ocotp.o
19 obj-$(CONFIG_NVMEM_IMX_OCOTP_SCU) += nvmem-imx-ocotp-scu.o
20 nvmem-imx-ocotp-scu-y := imx-ocotp-scu.o
25 obj-$(CONFIG_NVMEM_MXS_OCOTP) += nvmem-mxs-ocotp.o
[all …]
Dnvmem.h37 struct nvmem_device *nvmem,
39 int nvmem_sysfs_setup_compat(struct nvmem_device *nvmem,
41 void nvmem_sysfs_remove_compat(struct nvmem_device *nvmem,
45 struct nvmem_device *nvmem, in nvmem_sysfs_get_groups() argument
51 static inline int nvmem_sysfs_setup_compat(struct nvmem_device *nvmem, in nvmem_sysfs_setup_compat() argument
56 static inline void nvmem_sysfs_remove_compat(struct nvmem_device *nvmem, in nvmem_sysfs_remove_compat() argument
DKconfig18 bool "/sys/bus/nvmem/devices/*/nvmem (sysfs interface)"
25 read/write directly into nvmem.
36 will be called nvmem-imx-iim.
48 will be called nvmem-imx-ocotp.
87 will be called nvmem-mxs-ocotp.
106 functions for QFPROM data to rest of the drivers via nvmem interface.
132 will be called nvmem-bcm-ocotp.
142 will be called nvmem-stm32-romem.
163 will be called nvmem-uniphier-efuse.
174 be called nvmem-vf610-ocotp.
[all …]
/Linux-v5.4/include/linux/
Dnvmem-consumer.h71 void nvmem_device_put(struct nvmem_device *nvmem);
72 void devm_nvmem_device_put(struct device *dev, struct nvmem_device *nvmem);
73 int nvmem_device_read(struct nvmem_device *nvmem, unsigned int offset,
75 int nvmem_device_write(struct nvmem_device *nvmem, unsigned int offset,
77 ssize_t nvmem_device_cell_read(struct nvmem_device *nvmem,
79 int nvmem_device_cell_write(struct nvmem_device *nvmem,
82 const char *nvmem_dev_name(struct nvmem_device *nvmem);
150 static inline void nvmem_device_put(struct nvmem_device *nvmem) in nvmem_device_put() argument
155 struct nvmem_device *nvmem) in devm_nvmem_device_put() argument
159 static inline ssize_t nvmem_device_cell_read(struct nvmem_device *nvmem, in nvmem_device_cell_read() argument
[all …]
Dnvmem-provider.h100 void nvmem_unregister(struct nvmem_device *nvmem);
105 int devm_nvmem_unregister(struct device *dev, struct nvmem_device *nvmem);
117 static inline void nvmem_unregister(struct nvmem_device *nvmem) {} in nvmem_unregister() argument
126 devm_nvmem_unregister(struct device *dev, struct nvmem_device *nvmem) in devm_nvmem_unregister() argument
/Linux-v5.4/Documentation/devicetree/bindings/nvmem/
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";
Dqfprom.txt11 bindings/nvmem/nvmem.txt
27 Are device nodes which consume nvmem data cells.
33 nvmem-cells = <&tsens_calibration>;
34 nvmem-cell-names = "calibration";
Damlogic-efuse.txt10 bindings/nvmem/nvmem.txt
34 Are device nodes which consume nvmem data cells.
40 nvmem-cells = <&eth_mac>;
41 nvmem-cell-names = "eth_mac";
Dmtk-efuse.txt14 bindings/nvmem/nvmem.txt
31 Are device nodes which consume nvmem data cells.
37 nvmem-cells = <&thermal_calibration>;
38 nvmem-cell-names = "calibration";
Duniphier-efuse.txt11 bindings/nvmem/nvmem.txt
41 Are device nodes which consume nvmem data cells.
47 nvmem-cells = <&usb_mon>;
48 nvmem-cell-names = "usb_mon";
Dsc27xx-efuse.txt15 bindings/nvmem/nvmem.txt
44 Are device nodes which consume nvmem data cells.
50 nvmem-cells = <&thermal_calib>;
51 nvmem-cell-names = "calibration";
Drockchip-efuse.txt27 bindings/nvmem/nvmem.txt
46 Are device nodes which consume nvmem data cells.
52 nvmem-cells = <&cpu_leakage>;
53 nvmem-cell-names = "cpu_leakage";
/Linux-v5.4/Documentation/devicetree/bindings/power/reset/
Dnvmem-reboot-mode.txt9 - 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.4/Documentation/driver-api/
Dnvmem.rst43 nvmem configuration to nvmem_register(), on success core would return a valid
46 nvmem_unregister(nvmem) is used to unregister a previously registered provider.
59 nvmem = nvmem_register(&econfig);
66 Users of board files can define and register nvmem cells using the
85 Additionally it is possible to create nvmem cell lookup entries and register
86 them with the nvmem framework from machine code as shown in the example below::
118 `*nvmem_cell_get()` apis will get a reference to nvmem cell for a given id,
132 void nvmem_device_put(struct nvmem_device *nvmem);
133 int nvmem_device_read(struct nvmem_device *nvmem, unsigned int offset,
135 int nvmem_device_write(struct nvmem_device *nvmem, unsigned int offset,
[all …]
/Linux-v5.4/drivers/rtc/
Dnvmem.c42 struct nvmem_device *nvmem, size_t size) in rtc_nvram_register() argument
52 rtc->nvram->private = nvmem; in rtc_nvram_register()
83 struct nvmem_device *nvmem; in rtc_nvmem_register() local
90 nvmem = devm_nvmem_register(rtc->dev.parent, nvmem_config); in rtc_nvmem_register()
91 if (IS_ERR(nvmem)) in rtc_nvmem_register()
92 return PTR_ERR(nvmem); in rtc_nvmem_register()
96 rtc_nvram_register(rtc, nvmem, nvmem_config->size); in rtc_nvmem_register()
/Linux-v5.4/drivers/soc/ti/
Dpm33xx.c250 struct nvmem_device *nvmem; in am33xx_pm_begin() local
253 nvmem = devm_nvmem_device_get(&omap_rtc->dev, in am33xx_pm_begin()
255 if (!IS_ERR(nvmem)) in am33xx_pm_begin()
256 nvmem_device_write(nvmem, RTC_SCRATCH_MAGIC_REG * 4, 4, in am33xx_pm_begin()
278 struct nvmem_device *nvmem; in am33xx_pm_end() local
280 nvmem = devm_nvmem_device_get(&omap_rtc->dev, "omap_rtc_scratch0"); in am33xx_pm_end()
281 if (IS_ERR(nvmem)) in am33xx_pm_end()
299 nvmem_device_write(nvmem, RTC_SCRATCH_MAGIC_REG * 4, 4, in am33xx_pm_end()
410 struct nvmem_device *nvmem; in am33xx_pm_rtc_setup() local
421 nvmem = devm_nvmem_device_get(&omap_rtc->dev, in am33xx_pm_rtc_setup()
[all …]
/Linux-v5.4/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";
Dti-bluetooth.txt44 - nvmem-cells: phandle to nvmem data cell that contains a 6 byte BD address
46 - nvmem-cell-names: "bd-address" (required when nvmem-cells is specified)
58 nvmem-cells = <&bd_address>;
59 nvmem-cell-names = "bd-address";
/Linux-v5.4/Documentation/ABI/stable/
Dsysfs-bus-nvmem1 What: /sys/bus/nvmem/devices/.../nvmem
7 Permissions for write to this file depends on the nvmem
13 hexdump /sys/bus/nvmem/devices/qfprom0/nvmem
/Linux-v5.4/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";
/Linux-v5.4/Documentation/devicetree/bindings/thermal/
Dqcom-tsens.txt25 - Refer to Documentation/devicetree/bindings/nvmem/nvmem.txt to know how to specify
26 nvmem cells
32 nvmem-cells = <&tsens_caldata>, <&tsens_calsel>;
33 nvmem-cell-names = "caldata", "calsel";
51 nvmem-cells = <&tsens_caldata>;
52 nvmem-cell-names = "calib";
Dmediatek-thermal.txt29 - nvmem-cells: A phandle to the calibration data provided by a nvmem device. If
31 - nvmem-cell-names: Should be "calibration-data"
46 nvmem-cells = <&thermal_calibration_data>;
47 nvmem-cell-names = "calibration-data";
/Linux-v5.4/Documentation/devicetree/bindings/iio/adc/
Dsprd,sc27xx-adc.txt15 - nvmem-cells: A phandle to the calibration cells provided by eFuse device.
16 - nvmem-cell-names: Should be "big_scale_calib", "small_scale_calib".
37 nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
38 nvmem-cell-names = "big_scale_calib", "small_scale_calib";

12345