/Zephyr-latest/drivers/eeprom/ |
D | Kconfig | 1 # EEPROM driver configuration options 6 menuconfig EEPROM config 7 bool "Electrically Erasable Programmable Read-Only Memory (EEPROM) drivers" 9 Enable support for EEPROM hardware. 11 if EEPROM 13 module = EEPROM 14 module-str = eeprom 18 int "EEPROM init priority" 21 EEPROM driver device initialization priority. This initialization 26 bool "EEPROM shell" [all …]
|
D | eeprom_shell.c | 10 * @brief EEPROM shell commands. 14 #include <zephyr/drivers/eeprom.h> 35 const struct device *eeprom; in cmd_read() local 45 eeprom = shell_device_get_binding(argv[args_indx.device]); in cmd_read() 46 if (!eeprom) { in cmd_read() 47 shell_error(sh, "EEPROM device not found"); in cmd_read() 51 shell_print(sh, "Reading %zu bytes from EEPROM, offset %zu...", len, in cmd_read() 58 err = eeprom_read(eeprom, addr, data, pending); in cmd_read() 60 shell_error(sh, "EEPROM read failed (err %d)", err); in cmd_read() 76 const struct device *eeprom; in cmd_write() local [all …]
|
D | Kconfig.eeprom_emu | 5 bool "Emulated EEPROM driver" 10 Enable emulated (on flash) EEPROM support. This mimics an external 11 EEPROM on a flash partition. The number of writes that can be 12 performed to the EEPROM is maximized by using a flash area that is 13 larger than the EEPROM area and by storing only changes to the EEPROM
|
/Zephyr-latest/doc/hardware/peripherals/eeprom/ |
D | shell.rst | 3 EEPROM Shell 13 The EEPROM shell provides an ``eeprom`` command with a set of subcommands for the :ref:`shell 14 <shell_api>` module. It allows testing and exploring the :ref:`EEPROM <eeprom_api>` driver API 15 through an interactive interface without having to write a dedicated application. The EEPROM shell 16 can also be enabled in existing applications to aid in interactive debugging of EEPROM issues. 18 In order to enable the EEPROM shell, the following :ref:`Kconfig <kconfig>` options must be enabled: 24 …lding the :zephyr:code-sample:`hello_world` sample for the :ref:`native_sim` with the EEPROM shell: 33 interact with the shell. The EEPROM shell comes with built-in help (unless 35 passing ``-h`` or ``--help`` to the ``eeprom`` command or any of its subcommands. All subcommands 39 … All of the EEPROM shell subcommands take the name of an EEPROM peripheral as their first argument, [all …]
|
/Zephyr-latest/boards/shields/x_nucleo_eeprma2/doc/ |
D | index.rst | 3 X-NUCLEO-EEPRMA2 EEPROM memory expansion board 10 and M95xx series SPI EEPROM devices. 32 The SPI EEPROM devices can write protect complete memory blocks by setting 35 are disabled in case writes to the EEPROM should be supported. 37 For more information about interfacing the M24xx and M95xx series EEPROM devices 40 - `X-NUCLEO-EEPRMA2 EEPROM memory expansion board User Manual`_ 42 - `M24C02-F Serial I2C bus EEPROM Datasheet`_ 43 - `M24256-DF Serial I2C bus EEPROM Datasheet`_ 44 - `M24M01-DF Serial I2C bus EEPROM Datasheet`_ 46 - `M95040-R Serial SPI bus EEPROM Datasheet`_ [all …]
|
/Zephyr-latest/tests/drivers/eeprom/api/src/ |
D | main.c | 8 #include <zephyr/drivers/eeprom.h> 12 ZTEST_BMEM static const struct device *eeprom; variable 14 /* Test retrieval of eeprom size */ 15 ZTEST_USER(eeprom, test_size) in ZTEST_USER() argument 19 size = eeprom_get_size(eeprom); in ZTEST_USER() 23 /* Test write outside eeprom area */ 24 ZTEST_USER(eeprom, test_out_of_bounds) in ZTEST_USER() argument 30 size = eeprom_get_size(eeprom); in ZTEST_USER() 32 rc = eeprom_write(eeprom, size - 1, data, sizeof(data)); in ZTEST_USER() 37 ZTEST_USER(eeprom, test_write_rewrite) in ZTEST_USER() argument [all …]
|
/Zephyr-latest/samples/drivers/eeprom/ |
D | README.rst | 1 .. zephyr:code-sample:: eeprom 2 :name: EEPROM 5 Store a boot count value in EEPROM. 10 This sample demonstrates the :ref:`EEPROM driver API <eeprom_api>` in a simple boot counter 16 In case the target board has defined an EEPROM with alias ``eeprom-0`` the 21 :zephyr-app: samples/drivers/eeprom 32 :zephyr-app: samples/drivers/eeprom 42 :zephyr-app: samples/drivers/eeprom 52 Found EEPROM device "EEPROM_M24C02" 53 Using eeprom with size of: 256.
|
D | sample.yaml | 2 name: EEPROM Sample 5 sample.drivers.eeprom: 6 tags: eeprom 20 sample.drivers.eeprom.shield.x_nucleo_eeprma2: 22 - eeprom
|
/Zephyr-latest/tests/drivers/eeprom/api/ |
D | testcase.yaml | 2 depends_on: eeprom 5 - eeprom 7 drivers.eeprom.api: 8 # Tests overwrite EEPROM content, only run on select boards 17 drivers.eeprom.api.w_at2x_emul: 18 # Tests overwrite EEPROM content, only run on select boards 27 drivers.eeprom.api.build:
|
/Zephyr-latest/include/zephyr/drivers/i2c/target/ |
D | eeprom.h | 4 * @brief Public APIs for the I2C EEPROM Target driver. 16 * @brief I2C EEPROM Target Driver API 17 * @defgroup i2c_eeprom_target_api I2C EEPROM Target Driver API 25 * @brief Program memory of the virtual EEPROM 28 * @param eeprom_data Pointer of data to program into the virtual eeprom memory 29 * @param length Length of data to program into the virtual eeprom memory 38 * @brief Read single byte of virtual EEPROM memory 41 * @param eeprom_data Pointer of byte where to store the virtual eeprom memory 42 * @param offset Offset into EEPROM memory where to read the byte 51 * @brief Change the address of eeprom target at runtime [all …]
|
/Zephyr-latest/samples/drivers/eeprom/src/ |
D | main.c | 9 #include <zephyr/drivers/eeprom.h> 21 * Get a device structure from a devicetree node with alias eeprom-0 34 printk("Found EEPROM device \"%s\"\n", dev->name); in get_eeprom_device() 40 const struct device *eeprom = get_eeprom_device(); in main() local 45 if (eeprom == NULL) { in main() 49 eeprom_size = eeprom_get_size(eeprom); in main() 50 printk("Using eeprom with size of: %zu.\n", eeprom_size); in main() 52 rc = eeprom_read(eeprom, EEPROM_SAMPLE_OFFSET, &values, sizeof(values)); in main() 54 printk("Error: Couldn't read eeprom: err: %d.\n", rc); in main() 66 rc = eeprom_write(eeprom, EEPROM_SAMPLE_OFFSET, &values, sizeof(values)); in main() [all …]
|
/Zephyr-latest/drivers/i2c/target/ |
D | Kconfig.eeprom | 1 # I2C EEPROM Target configuration options 7 bool "I2C Target EEPROM driver" 9 Enable virtual I2C Target EEPROM driver 12 bool "Set I2C Target EEPROM Address at Runtime" 15 Enable changing virtual I2C Target EEPROM device address at runtime
|
/Zephyr-latest/dts/bindings/mtd/ |
D | zephyr,emu-eeprom.yaml | 4 description: Zephyr Emulated EEPROM device 6 compatible: "zephyr,emu-eeprom" 8 include: eeprom-base.yaml 16 description: Size of a page used to emulate EEPROM in flash 20 description: Flash partition used to store the emulated EEPROM data 23 description: Enable a ram buffer of EEPROM size for improved read speed
|
D | zephyr,i2c-target-eeprom.yaml | 3 description: Zephyr I2C target EEPROM 5 compatible: "zephyr,i2c-target-eeprom" 7 include: ["eeprom-base.yaml", i2c-device.yaml] 14 Number of address bits used to address the EEPROM. If not specified 15 the EEPROM is assumed to have a 8-bit address.
|
D | atmel,at25.yaml | 10 Examples of compatible EEPROM families: 14 Each of these can be represented by a set of common parameters (EEPROM size, page size, address 15 width, and timeout) available from the datasheet of the specific EEPROM. The compatible string for 16 these can list the specific EEPROM vendor and model along with the vendor EEPROM family as long as 19 Example devicetree node describing a ST M95256 EEPROM on the spi0 bus: 24 eeprom@1 {
|
D | atmel,at24.yaml | 11 Examples of compatible EEPROM families: 15 Each of these can be represented by a set of common parameters (EEPROM size, page size, address 16 width, and timeout) available from the datasheet of the specific EEPROM. The compatible string for 17 these can list the specific EEPROM vendor and model along with the vendor EEPROM family as long as 20 Example devicetree node describing a ST M24M01 EEPROM on the i2c0 bus: 26 eeprom@56 {
|
D | atmel,at2x-base.yaml | 4 # Common fields for AT24 (I2C) and AT25 (SPI) EEPROM devices 6 include: eeprom-base.yaml 14 description: EEPROM page size in bytes 18 description: EEPROM address width in bits 22 description: EEPROM write cycle timeout in milliseconds
|
/Zephyr-latest/include/zephyr/drivers/ |
D | eeprom.h | 13 * @brief Public API for EEPROM drivers 20 * @brief EEPROM Interface 21 * @defgroup eeprom_interface EEPROM Interface 44 * @brief Callback API upon reading from the EEPROM. 52 * @brief Callback API upon writing to the EEPROM. 59 * @brief Callback API upon getting the EEPROM size. 73 * @brief Read data from EEPROM 75 * @param dev EEPROM device 95 * @brief Write data to EEPROM 97 * @param dev EEPROM device [all …]
|
/Zephyr-latest/samples/drivers/i2c/target_eeprom/src/ |
D | main.c | 10 #include <zephyr/drivers/i2c/target/eeprom.h> 12 static const struct device *eeprom = DEVICE_DT_GET(DT_NODELABEL(eeprom0)); variable 18 if (!device_is_ready(eeprom)) { in main() 19 printk("eeprom device not ready\n"); in main() 23 if (i2c_target_driver_register(eeprom) < 0) { in main() 32 if (i2c_target_driver_unregister(eeprom) < 0) { in main()
|
/Zephyr-latest/dts/arm/microchip/mec5/ |
D | mec5_eeprom_8kb.dtsi | 7 /* MEC5 EEPROM controller with internal 8 kilobyte EEPROM */ 8 eeprom: eeprom@40002c00 { label
|
/Zephyr-latest/modules/canopennode/ |
D | canopen_storage.c | 106 LOG_DBG("no object dictionary EEPROM entries to delete"); in canopen_odf_1011() 108 LOG_ERR("failed to delete object dictionary EEPROM entries" in canopen_odf_1011() 114 LOG_DBG("deleted object dictionary EEPROM entries"); in canopen_odf_1011() 134 if (!strncmp(key, "eeprom", nlen)) { in canopen_settings_set() 135 struct sCO_OD_EEPROM eeprom; in canopen_settings_set() local 137 len = read_cb(cb_arg, &eeprom, sizeof(eeprom)); in canopen_settings_set() 139 LOG_ERR("failed to restore object dictionary EEPROM" in canopen_settings_set() 143 if ((eeprom.FirstWord == CO_OD_FIRST_LAST_WORD) && in canopen_settings_set() 144 (eeprom.LastWord == CO_OD_FIRST_LAST_WORD)) { in canopen_settings_set() 145 memcpy(&CO_OD_EEPROM, &eeprom, in canopen_settings_set() [all …]
|
/Zephyr-latest/tests/drivers/i2c/i2c_target_api/boards/ |
D | sltb010a.overlay | 4 eeprom0: eeprom@54 { 5 compatible = "zephyr,i2c-target-eeprom"; 9 eeprom1: eeprom@56 { 10 compatible = "zephyr,i2c-target-eeprom";
|
D | stm32f072b_disco.overlay | 4 eeprom0: eeprom@54 { 5 compatible = "zephyr,i2c-target-eeprom"; 13 eeprom1: eeprom@56 { 14 compatible = "zephyr,i2c-target-eeprom";
|
/Zephyr-latest/tests/drivers/i2c/i2c_target_api/src/ |
D | main.c | 18 #include <zephyr/drivers/i2c/target/eeprom.h> 55 /* Read EEPROM from I2C Master requests, then compare */ in run_full_read() 58 zassert_equal(ret, 0, "Failed to read EEPROM"); in run_full_read() 97 zassert_equal(ret, 0, "Failed to read EEPROM"); in run_partial_read() 147 zassert_equal(ret, 0, "Failed to write EEPROM"); in run_program_read() 151 /* Read back EEPROM from I2C Master requests, then compare */ in run_program_read() 154 zassert_equal(ret, 0, "Failed to read EEPROM"); in run_program_read() 181 zassert_not_null(i2c_0, "EEPROM 0 - I2C bus not found"); in ZTEST() 182 zassert_not_null(eeprom_0, "EEPROM 0 device not found"); in ZTEST() 184 zassert_true(device_is_ready(i2c_0), "EEPROM 0 - I2C bus not ready"); in ZTEST() [all …]
|
/Zephyr-latest/boards/shields/x_nucleo_eeprma2/ |
D | x_nucleo_eeprma2.overlay | 12 eeprom-0 = &eeprom0_x_nucleo_eeprma2; 13 eeprom-1 = &eeprom4_x_nucleo_eeprma2; 21 eeprom0_x_nucleo_eeprma2: eeprom@54 { 22 /* M24C02-FMC6TG aka U1 (2 kbit eeprom in DFN8 package) */ 34 eeprom1_x_nucleo_eeprma2: eeprom@55 { 35 /* M24256-DFDW6TP aka U2 (256 kbit eeprom in TSSOP package) */ 47 eeprom2_x_nucleo_eeprma2: eeprom@56 { 48 /* M24M01-DFMN6TP aka U3 (1 Mbit eeprom in SO8N package) */ 60 /* U4: unpopulated SO8N footprint for any I2C M24 EEPROM */ 84 /* M95040-RMC6TG aka U5 (4 kbit eeprom in DFN8 package) */ [all …]
|