| /kernel/linux/linux-5.10/drivers/nvmem/ |
| D | core.c | 3 * nvmem framework core. 16 #include <linux/nvmem-consumer.h> 17 #include <linux/nvmem-provider.h> 54 struct nvmem_device *nvmem; member 69 static int nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset, in nvmem_reg_read() argument 72 if (nvmem->reg_read) in nvmem_reg_read() 73 return nvmem->reg_read(nvmem->priv, offset, val, bytes); in nvmem_reg_read() 78 static int nvmem_reg_write(struct nvmem_device *nvmem, unsigned int offset, in nvmem_reg_write() argument 83 if (nvmem->reg_write) { in nvmem_reg_write() 84 gpiod_set_value_cansleep(nvmem->wp_gpio, 0); in nvmem_reg_write() [all …]
|
| D | Makefile | 3 # 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 …]
|
| 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. 33 will be called nvmem-imx-iim. 45 will be called nvmem-imx-ocotp. [all …]
|
| /kernel/linux/linux-6.6/drivers/nvmem/ |
| D | core.c | 3 * nvmem framework core. 16 #include <linux/nvmem-consumer.h> 17 #include <linux/nvmem-provider.h> 37 struct nvmem_device *nvmem; member 61 static int __nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset, in __nvmem_reg_read() argument 64 if (nvmem->reg_read) in __nvmem_reg_read() 65 return nvmem->reg_read(nvmem->priv, offset, val, bytes); in __nvmem_reg_read() 70 static int __nvmem_reg_write(struct nvmem_device *nvmem, unsigned int offset, in __nvmem_reg_write() argument 75 if (nvmem->reg_write) { in __nvmem_reg_write() 76 gpiod_set_value_cansleep(nvmem->wp_gpio, 0); in __nvmem_reg_write() [all …]
|
| D | Makefile | 3 # Makefile for nvmem drivers. 11 obj-$(CONFIG_NVMEM_APPLE_EFUSES) += nvmem-apple-efuses.o 12 nvmem-apple-efuses-y := apple-efuses.o 13 obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o 14 nvmem-bcm-ocotp-y := bcm-ocotp.o 17 obj-$(CONFIG_NVMEM_IMX_IIM) += nvmem-imx-iim.o 18 nvmem-imx-iim-y := imx-iim.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 [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. 26 source "drivers/nvmem/layouts/Kconfig" 40 be called nvmem-apple-efuses. [all …]
|
| /kernel/linux/linux-5.10/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 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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 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: 28 Names for the each nvmem provider. 30 nvmem-cell-names: 33 Names for each nvmem-cells specified. [all …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/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 21 - $ref: /schemas/nvmem/nvmem.yaml# 25 const: nvmem-cells 43 compatible = "nvmem-cells"; [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | nvmem-provider.h | 3 * nvmem framework provider. 39 * struct nvmem_keepout - NVMEM register keepout range. 52 * struct nvmem_cell_info - NVMEM cell description 54 * @offset: Offset within the NVMEM device. 77 * struct nvmem_config - NVMEM device configuration 83 * @cells: Optional array of pre-defined NVMEM cells. 85 * @add_legacy_fixed_of_cells: Read fixed NVMEM cells from old OF syntax. 90 * @type: Type of the nvmem storage 102 * @layout: Fixed layout associated with this nvmem device. 104 * Note: A default "nvmem<id>" name will be assigned to the device if [all …]
|
| D | nvmem-consumer.h | 3 * nvmem framework consumer. 27 * @cell_name: Name of the nvmem cell as defined in the name field of 68 /* direct nvmem device read/write interface */ 72 void nvmem_device_put(struct nvmem_device *nvmem); 73 void devm_nvmem_device_put(struct device *dev, struct nvmem_device *nvmem); 74 int nvmem_device_read(struct nvmem_device *nvmem, unsigned int offset, 76 int nvmem_device_write(struct nvmem_device *nvmem, unsigned int offset, 78 ssize_t nvmem_device_cell_read(struct nvmem_device *nvmem, 80 int nvmem_device_cell_write(struct nvmem_device *nvmem, 83 const char *nvmem_dev_name(struct nvmem_device *nvmem); [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/power/reset/ |
| D | nvmem-reboot-mode.yaml | 4 $id: http://devicetree.org/schemas/power/reset/nvmem-reboot-mode.yaml# 7 title: Generic NVMEM reboot mode 14 and stores it in the NVMEM cell named "reboot-mode". The bootloader can 19 const: nvmem-reboot-mode 21 nvmem-cells: 23 A phandle pointing to the nvmem-cells node where the vendor-specific 27 nvmem-cell-names: 38 - nvmem-cells 39 - nvmem-cell-names 46 compatible = "nvmem-reboot-mode"; [all …]
|
| /kernel/linux/linux-5.10/drivers/thunderbolt/ |
| D | nvm.c | 46 * 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/nvmem/layouts/ |
| D | fixed-layout.yaml | 4 $id: http://devicetree.org/schemas/nvmem/layouts/fixed-layout.yaml# 7 title: NVMEM layout for fixed NVMEM cells 10 Many NVMEM devices have hardcoded cells layout (offset and size of defined 11 NVMEM content doesn't change). 13 This binding allows defining such NVMEM layout with its cells. It can be used 14 on top of any NVMEM device. 42 nvmem-layout { 50 #nvmem-cell-cells = <1>; 56 #nvmem-cell-cells = <1>;
|
| /kernel/linux/linux-5.10/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";
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | nvmem-consumer.h | 3 * nvmem framework consumer. 34 * @cell_name: Name of the nvmem cell as defined in the name field of 69 /* direct nvmem device read/write interface */ 73 void nvmem_device_put(struct nvmem_device *nvmem); 74 void devm_nvmem_device_put(struct device *dev, struct nvmem_device *nvmem); 75 int nvmem_device_read(struct nvmem_device *nvmem, unsigned int offset, 77 int nvmem_device_write(struct nvmem_device *nvmem, unsigned int offset, 79 ssize_t nvmem_device_cell_read(struct nvmem_device *nvmem, 81 int nvmem_device_cell_write(struct nvmem_device *nvmem, 84 const char *nvmem_dev_name(struct nvmem_device *nvmem); [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/freescale/ |
| D | fsl-ls1028a-kontron-kbox-a-230-ls.dts | 59 nvmem-cells = <&base_mac_address 2>; 60 nvmem-cell-names = "mac-address"; 65 nvmem-cells = <&base_mac_address 3>; 66 nvmem-cell-names = "mac-address"; 87 nvmem-cells = <&base_mac_address 4>; 88 nvmem-cell-names = "mac-address"; 97 nvmem-cells = <&base_mac_address 5>; 98 nvmem-cell-names = "mac-address"; 107 nvmem-cells = <&base_mac_address 6>; 108 nvmem-cell-names = "mac-address"; [all …]
|
| /kernel/linux/linux-5.10/drivers/rtc/ |
| D | nvmem.c | 3 * RTC subsystem, nvmem interface 10 #include <linux/nvmem-consumer.h> 19 static const char nvram_warning[] = "Deprecated ABI, please use nvmem"; 42 struct nvmem_device *nvmem, size_t size) in rtc_nvram_register() argument 52 rtc->nvram->private = nvmem; in rtc_nvram_register() 78 * New ABI, uses nvmem 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/soc/tegra/fuse/ |
| D | fuse-tegra.c | 11 #include <linux/nvmem-consumer.h> 12 #include <linux/nvmem-provider.h> 119 struct nvmem_config nvmem; in tegra_fuse_probe() local 155 memset(&nvmem, 0, sizeof(nvmem)); in tegra_fuse_probe() 156 nvmem.dev = &pdev->dev; in tegra_fuse_probe() 157 nvmem.name = "fuse"; in tegra_fuse_probe() 158 nvmem.id = -1; in tegra_fuse_probe() 159 nvmem.owner = THIS_MODULE; in tegra_fuse_probe() 160 nvmem.cells = fuse->soc->cells; in tegra_fuse_probe() 161 nvmem.ncells = fuse->soc->num_cells; in tegra_fuse_probe() [all …]
|
| /kernel/linux/linux-6.6/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";
|