| /Linux-v6.1/drivers/nvmem/ |
| D | core.c | 3 * nvmem framework core. 16 #include <linux/nvmem-consumer.h> 17 #include <linux/nvmem-provider.h> 56 struct nvmem_device *nvmem; member 76 static int __nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset, in __nvmem_reg_read() argument 79 if (nvmem->reg_read) in __nvmem_reg_read() 80 return nvmem->reg_read(nvmem->priv, offset, val, bytes); in __nvmem_reg_read() 85 static int __nvmem_reg_write(struct nvmem_device *nvmem, unsigned int offset, in __nvmem_reg_write() argument 90 if (nvmem->reg_write) { in __nvmem_reg_write() 91 gpiod_set_value_cansleep(nvmem->wp_gpio, 0); in __nvmem_reg_write() [all …]
|
| D | Makefile | 3 # Makefile for nvmem drivers. 10 obj-$(CONFIG_NVMEM_APPLE_EFUSES) += nvmem-apple-efuses.o 11 nvmem-apple-efuses-y := apple-efuses.o 12 obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o 13 nvmem-bcm-ocotp-y := bcm-ocotp.o 16 obj-$(CONFIG_NVMEM_IMX_IIM) += nvmem-imx-iim.o 17 nvmem-imx-iim-y := imx-iim.o 18 obj-$(CONFIG_NVMEM_IMX_OCOTP) += nvmem-imx-ocotp.o 19 nvmem-imx-ocotp-y := imx-ocotp.o 20 obj-$(CONFIG_NVMEM_IMX_OCOTP_SCU) += nvmem-imx-ocotp-scu.o [all …]
|
| D | Kconfig | 2 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. 36 be called nvmem-apple-efuses. 48 will be called nvmem-bcm-ocotp. [all …]
|
| D | zynqmp_nvmem.c | 7 #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-v6.1/Documentation/driver-api/ |
| D | nvmem.rst | 4 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 31 NVMEM Providers 34 NVMEM provider refers to an entity that implements methods to initialize, read 37 2. Registering/Unregistering the NVMEM provider 40 A NVMEM provider can register with NVMEM core by supplying relevant 41 nvmem configuration to nvmem_register(), on success core would return a valid 44 nvmem_unregister(nvmem) is used to unregister a previously registered provider. [all …]
|
| /Linux-v6.1/Documentation/devicetree/bindings/nvmem/ |
| D | nvmem-consumer.yaml | 4 $id: http://devicetree.org/schemas/nvmem/nvmem-consumer.yaml# 7 title: NVMEM (Non Volatile Memory) Consumer 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 …]
|
| D | xlnx,zynqmp-nvmem.txt | 2 = 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";
|
| D | sprd-efuse.txt | 12 bindings/nvmem/nvmem.txt 30 Are device nodes which consume nvmem data cells. 37 nvmem-cells = <&thermal_calib>; 38 nvmem-cell-names = "calibration";
|
| /Linux-v6.1/Documentation/devicetree/bindings/thermal/ |
| D | sprd-thermal.yaml | 28 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 …]
|
| D | allwinner,sun8i-a83t-ths.yaml | 45 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";
|
| /Linux-v6.1/Documentation/devicetree/bindings/mtd/partitions/ |
| D | nvmem-cells.yaml | 4 $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-v6.1/Documentation/devicetree/bindings/power/reset/ |
| D | nvmem-reboot-mode.txt | 1 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-v6.1/Documentation/devicetree/bindings/iio/adc/ |
| D | sprd,sc2720-adc.yaml | 37 nvmem-cells: true 39 nvmem-cell-names: true 51 nvmem-cells: 53 nvmem-cell-names: 60 nvmem-cells: 62 nvmem-cell-names: 77 - nvmem-cells 78 - nvmem-cell-names 95 nvmem-cells = <&adc_big_scale>, <&adc_small_scale>; 96 nvmem-cell-names = "big_scale_calib", "small_scale_calib"; [all …]
|
| /Linux-v6.1/include/linux/ |
| D | nvmem-consumer.h | 3 * nvmem framework consumer. 35 * @cell_name: Name of the nvmem cell as defined in the name field of 74 /* direct nvmem device read/write interface */ 78 void nvmem_device_put(struct nvmem_device *nvmem); 79 void devm_nvmem_device_put(struct device *dev, struct nvmem_device *nvmem); 80 int nvmem_device_read(struct nvmem_device *nvmem, unsigned int offset, 82 int nvmem_device_write(struct nvmem_device *nvmem, unsigned int offset, 84 ssize_t nvmem_device_cell_read(struct nvmem_device *nvmem, 86 int nvmem_device_cell_write(struct nvmem_device *nvmem, 89 const char *nvmem_dev_name(struct nvmem_device *nvmem); [all …]
|
| D | nvmem-provider.h | 3 * nvmem framework provider. 38 * struct nvmem_keepout - NVMEM register keepout range. 51 * struct nvmem_config - NVMEM device configuration 57 * @cells: Optional array of pre-defined NVMEM cells. 61 * @type: Type of the nvmem storage 76 * Note: A default "nvmem<id>" name will be assigned to the device if 112 * struct nvmem_cell_table - NVMEM cell definitions for given provider 120 * that don't can't access the nvmem provided structure but wish to register 133 void nvmem_unregister(struct nvmem_device *nvmem); 148 static inline void nvmem_unregister(struct nvmem_device *nvmem) {} in nvmem_unregister() argument
|
| /Linux-v6.1/Documentation/devicetree/bindings/net/ |
| D | sunplus,sp7021-emac.yaml | 62 nvmem-cells: 64 - description: nvmem cell address of MAC address 66 nvmem-cell-names: 67 description: names corresponding to the nvmem cells 75 - nvmem-cells 76 - nvmem-cell-names 117 nvmem-cells = <&mac_addr0>; 118 nvmem-cell-names = "mac-address"; 125 nvmem-cells = <&mac_addr1>; 126 nvmem-cell-names = "mac-address";
|
| D | nixge.txt | 15 - nvmem-cells: Phandle of nvmem cell containing the MAC address 16 - nvmem-cell-names: Should be "address" 31 nvmem-cells = <ð1_addr>; 32 nvmem-cell-names = "address"; 54 nvmem-cells = <ð1_addr>; 55 nvmem-cell-names = "address"; 70 nvmem-cells = <ð1_addr>; 71 nvmem-cell-names = "address";
|
| /Linux-v6.1/drivers/rtc/ |
| D | nvmem.c | 3 * 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-v6.1/Documentation/devicetree/bindings/phy/ |
| D | sunplus,sp7021-usb2-phy.yaml | 36 nvmem-cell-names: 37 description: names corresponding to the nvmem cells of disconnect voltage 40 nvmem-cells: 41 description: nvmem cell address of disconnect voltage 55 - nvmem-cell-names 56 - nvmem-cells 70 nvmem-cell-names = "disc_vol"; 71 nvmem-cells = <&disc_vol>;
|
| /Linux-v6.1/Documentation/ABI/stable/ |
| D | sysfs-bus-nvmem | 1 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-v6.1/drivers/soc/tegra/fuse/ |
| D | fuse-tegra.c | 11 #include <linux/nvmem-consumer.h> 12 #include <linux/nvmem-provider.h> 212 struct nvmem_config nvmem; in tegra_fuse_probe() local 251 memset(&nvmem, 0, sizeof(nvmem)); in tegra_fuse_probe() 252 nvmem.dev = &pdev->dev; in tegra_fuse_probe() 253 nvmem.name = "fuse"; in tegra_fuse_probe() 254 nvmem.id = -1; in tegra_fuse_probe() 255 nvmem.owner = THIS_MODULE; in tegra_fuse_probe() 256 nvmem.cells = tegra_fuse_cells; in tegra_fuse_probe() 257 nvmem.ncells = ARRAY_SIZE(tegra_fuse_cells); in tegra_fuse_probe() [all …]
|
| /Linux-v6.1/Documentation/devicetree/bindings/soc/imx/ |
| D | imx8m-soc.yaml | 51 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-v6.1/Documentation/devicetree/bindings/soc/mediatek/ |
| D | mtk-svs.yaml | 41 nvmem-cells: 44 Phandle to the calibration data provided by a nvmem device. 49 nvmem-cell-names: 67 - nvmem-cells 68 - nvmem-cell-names 88 nvmem-cells = <&svs_calibration>, <&thermal_calibration>; 89 nvmem-cell-names = "svs-calibration-data", "t-calibration-data";
|
| /Linux-v6.1/Documentation/devicetree/bindings/opp/ |
| D | allwinner,sun50i-h6-operating-points.yaml | 18 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-v6.1/Documentation/devicetree/bindings/watchdog/ |
| D | zii,rave-sp-wdt.txt | 18 - 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";
|